emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [babel] Give a name to the plot
@ 2009-12-03 22:58 Sébastien Vauban
  2009-12-03 23:58 ` Dan Davison
  0 siblings, 1 reply; 5+ messages in thread
From: Sébastien Vauban @ 2009-12-03 22:58 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

Hi Eric and Dan,

Just a quick question (before testing and answering properly, tomorrow, to
your post): how do you give a name to an R plot?

Just taking your example file:

--8<---------------cut here---------------start------------->8---
#+srcname: directory-pie-chart(dirs = directories)
   #+begin_src R :session R-pie-example
   pie(dirs[,1], labels = dirs[,2])
   #+end_src
 [[file:../../images/babel/dirs.png]]
--8<---------------cut here---------------end--------------->8---

I don't see how the `dirs.png' name is derivated from the above block?

I've tried arguments such as `:file' or `filename:', but did not get any
success...

Currently, all my R blocks produce an `Rplots.pdf' graph file... Don't see
where that is coming from... Pay attention: I'm an R user for the last 3 days
or so... Not very aware of where the name can be set...

Best regards,
  Seb

-- 
Sébastien Vauban



_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode-mXXj517/zsQ@public.gmane.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [babel] Give a name to the plot
  2009-12-03 22:58 [babel] Give a name to the plot Sébastien Vauban
@ 2009-12-03 23:58 ` Dan Davison
  2009-12-04  9:18   ` Sébastien Vauban
  0 siblings, 1 reply; 5+ messages in thread
From: Dan Davison @ 2009-12-03 23:58 UTC (permalink / raw)
  To: Sébastien Vauban; +Cc: emacs-orgmode

Sébastien Vauban <wxhgmqzgwmuf@spammotel.com> writes:

> Hi Eric and Dan,
>
> Just a quick question (before testing and answering properly, tomorrow, to
> your post): how do you give a name to an R plot?
>
> Just taking your example file:
>
> #+srcname: directory-pie-chart(dirs = directories)
>    #+begin_src R :session R-pie-example
>    pie(dirs[,1], labels = dirs[,2])
>    #+end_src
>  [[file:../../images/babel/dirs.png]]
>
> I don't see how the `dirs.png' name is derivated from the above block?

Hi Seb,

Sorry, more documentation shortcomings. When that was written it did not
happen automatically, but it does now.  

> I've tried arguments such as `:file' or `filename:', but did not get any
> success...

e.g.

:file filename.png

should do it. Here's the relevant commit note. I'll move this into the
documentation now.


commit 8b52bf09e0644cc5b6ea85e5248403fcd562f4f3
Author: Dan Davison <davison@stats.ox.ac.uk>
Date:   Mon Oct 19 21:00:24 2009 -0400

    org-babel: capture graphical output from R
    
    If a [:file filename.ext] header arg is provided, then all graphical
    output from the source block is captured on disk, and output of the
    source block is a link to the resulting file, as with the
    graphics-only languages such as gnuplot, ditaa, dot, asymptote. An
    attempt is made to find a graphics device corresponding to the file
    extension (currently .png, .jpg, .jpeg, .tiff, .bmp, .pdf, .ps,
    .postscript are recognised); if that fails, png format output is
    created.
    
    Additionally, values for several arguments to the R graphics
    device can be passed using header args:
    
    :width :height :bg :units :pointsize
    :antialias :quality :compression :res :type
    :family :title :fonts :version :paper :encoding
    :pagecentre :colormodel :useDingbats :horizontal
    
    Arguments to the R graphics device that are not supported as header
    args can be passed as a string in R argument syntax, using the header
    arg :R-dev-args
    
    An example block is (although both bg and fg can be passed directly as
    header args)
    
    \#+begin_src R :file z.pdf :width 8 :height 8 :R-dev-args bg="olivedrab", fg="hotpink"
      plot(matrix(rnorm(100), ncol=2), type="l")
    \#+end_src



>
> Currently, all my R blocks produce an `Rplots.pdf' graph file... Don't see
> where that is coming from... Pay attention: I'm an R user for the last 3 days

That is the default in R when you issue plot commands from a
non-interactive R process. But if you use the :file header arg all
graphical output will be diverted to the named file as outlined above.

dan


> or so... Not very aware of where the name can be set...
>
> Best regards,
>   Seb

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [babel] Give a name to the plot
  2009-12-03 23:58 ` Dan Davison
@ 2009-12-04  9:18   ` Sébastien Vauban
  2009-12-04 17:00     ` Eric Schulte
  2009-12-04 17:04     ` Dan Davison
  0 siblings, 2 replies; 5+ messages in thread
From: Sébastien Vauban @ 2009-12-04  9:18 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

Hi Dan,

Dan Davison wrote:
> Sébastien Vauban <wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org> writes:
>>
>> Just a quick question (before testing and answering properly, tomorrow, to
>> your post): how do you give a name to an R plot?
>>
>> Just taking your example file:
>>
>> #+srcname: directory-pie-chart(dirs = directories)
>>    #+begin_src R :session R-pie-example
>>    pie(dirs[,1], labels = dirs[,2])
>>    #+end_src
>>  [[file:../../images/babel/dirs.png]]
>>
>> I don't see how the `dirs.png' name is derivated from the above block?
>
> Hi Seb,
>
> Sorry, more documentation shortcomings. When that was written it did not
> happen automatically, but it does now.

You don't have to be sorry. *I am* more than grateful by all you already have
given to us... A documentation lack is something expected in such big
projects, still on the move. That's not a problem for me. Your responsiveness
on the mailing list does correct such little features.


>> I've tried arguments such as `:file' or `filename:', but did not get any
>> success...
>
> e.g.
>
> :file filename.png
>
> should do it. Here's the relevant commit note. I'll move this into the
> documentation now.
>
>     [...]
>
>     An example block is (although both bg and fg can be passed directly as
>     header args)
>
>     \#+begin_src R :file z.pdf :width 8 :height 8 :R-dev-args bg="olivedrab", fg="hotpink"
>       plot(matrix(rnorm(100), ncol=2), type="l")
>     \#+end_src

It does work, yes!

Though, it did not when I tested, as I surrounded the filename with double
quotes:

:file "filename.png"

No message. No file generated. That was the observation I could make.

Thanks for helping...


>> Currently, all my R blocks produce an `Rplots.pdf' graph file... Don't see
>> where that is coming from... Pay attention: I'm an R user for the last 3 days
>
> That is the default in R when you issue plot commands from a
> non-interactive R process. But if you use the :file header arg all
> graphical output will be diverted to the named file as outlined above.

OK.

A side question (now that I have more graphics appearing in my example
document): is there/would there/will there be a way to regenerate all the
graphics included in my document?

I would be nice, as input data is changing over time. Let's take the example
you took in your doc: the directory organization on your disk. Let's imagine
you have 3 such graphics for 3 different disks. How could you get all of these
external commands launched for getting new data and new plots?

I can imagine (that's how Carsten does see the things with the tables, if I
understand correctly) this never will or would be automatic upon opening of
file -- and I can share the motivation for such decision. But can we imagine a
command that does the update of all blocks -- so, when the user does decide it?

Currently, I have to go in every block and C-c C-c them all, right?

Best regards,
  Seb

-- 
Sébastien Vauban



_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode-mXXj517/zsQ@public.gmane.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Re: [babel] Give a name to the plot
  2009-12-04  9:18   ` Sébastien Vauban
@ 2009-12-04 17:00     ` Eric Schulte
  2009-12-04 17:04     ` Dan Davison
  1 sibling, 0 replies; 5+ messages in thread
From: Eric Schulte @ 2009-12-04 17:00 UTC (permalink / raw)
  To: Sébastien Vauban; +Cc: emacs-orgmode

Sébastien Vauban <wxhgmqzgwmuf@spammotel.com> writes:

>
> Currently, I have to go in every block and C-c C-c them all, right?
>

Hi Seb,

try `org-babel-execute-buffer', I haven't used it recently so it may
have succumb to bitt-rot, but it is supposed to do exactly that.

Best -- Eric

> Best regards,
>   Seb

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Re: [babel] Give a name to the plot
  2009-12-04  9:18   ` Sébastien Vauban
  2009-12-04 17:00     ` Eric Schulte
@ 2009-12-04 17:04     ` Dan Davison
  1 sibling, 0 replies; 5+ messages in thread
From: Dan Davison @ 2009-12-04 17:04 UTC (permalink / raw)
  To: Sébastien Vauban; +Cc: emacs-orgmode

<...>
> A side question (now that I have more graphics appearing in my example
> document): is there/would there/will there be a way to regenerate all the
> graphics included in my document?

Hi Seb,

Currently we have org-babel-execute-buffer and org-babel-execute-subtree.

By the way, if you're generating graphics, I just started playing with
inline images in org buffers (e.g. org-babel results). Eric's emacs
starter kit[1] contains this configuration[2] for using inline images in
org. I haven't worked out how to get the images to refresh when the
underlying file changes (any tips? All I've learned so far really is
it's a good way to make emacs segfault.) but check it out if you haven't
already.

> I can imagine (that's how Carsten does see the things with the tables, if I
> understand correctly) this never will or would be automatic upon opening of
> file 

I guess you could use a hook, right?  E.g. find-file-hook?

Dan


Footnotes:

[1] http://github.com/eschulte/emacs-starter-kit

[2] 
** Support for viewing images
This allows for the viewing of images in-line in Org-mode documents.

#+begin_src emacs-lisp
  (require 'iimage)
  (setq iimage-mode-image-search-path (expand-file-name "~/"))
  ;; Match org file: links
  (add-to-list 'iimage-mode-image-regex-alist
               (cons (concat "\\[\\[file:\\(~?" iimage-mode-image-filename-regex
                             "\\)\\]")  1))
  (defun org-toggle-iimage-in-org ()
    (interactive)
    (let ((turning-on (not iimage-mode)))
      (set-face-underline-p 'org-link (not turning-on))
      (iimage-mode (or turning-on 0))))
#+end_src

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-12-04 17:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-12-03 22:58 [babel] Give a name to the plot Sébastien Vauban
2009-12-03 23:58 ` Dan Davison
2009-12-04  9:18   ` Sébastien Vauban
2009-12-04 17:00     ` Eric Schulte
2009-12-04 17:04     ` Dan Davison

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).