* Org babel R Help @ 2010-03-19 8:01 Joseph Cole 2010-03-19 14:30 ` Dan Davison 0 siblings, 1 reply; 6+ messages in thread From: Joseph Cole @ 2010-03-19 8:01 UTC (permalink / raw) To: emacs-orgmode I've been struggling with a few aspects of org babel R: 1) src_R surrounds output with ==. E.g. src_R{1+1} gives =2= I would expect it to just give 2. Because it surrounds the output with equals signs, this means you are unable to use the output in latex equations, general text or tables as it's ugly. Where should I start looking to fix this? I'm a lisp novice but happy to learn. 2) Width/Height exports for R graphics output. Do they work? I've tried a lot of combinations of :width and :height as exports, and they don't seem to work at all. I've tried small numbers (1-10), large numbers (100-2000) and numbers prefixed by "cm" with no luck. I know I can use #+attr_latex: width=15cm. 3) R-graphics quality I can't seem to find any examples of how to set the R graphics output quality, and nothing I try seems to alter the result (using :quality). Are there any publication quality r-graphics examples I could take a look at, as I've been unable to find any on google. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Org babel R Help 2010-03-19 8:01 Org babel R Help Joseph Cole @ 2010-03-19 14:30 ` Dan Davison [not found] ` <5084fc611003210151x41850afcg36b275679ae76acb@mail.gmail.com> 0 siblings, 1 reply; 6+ messages in thread From: Dan Davison @ 2010-03-19 14:30 UTC (permalink / raw) To: Joseph Cole; +Cc: emacs-orgmode Joseph Cole <coljo582@student.otago.ac.nz> writes: > I've been struggling with a few aspects of org babel R: > > 1) src_R surrounds output with ==. > > E.g. src_R{1+1} gives =2= > > I would expect it to just give 2. Because it surrounds the output with > equals signs, this means you are unable to use the output in latex > equations, general text or tables as it's ugly. Hi Joseph, If you use ':results raw', then the results will be inserted without the surrounding '='. You will need to pull the latest git head as I just fixed a bug regarding that. So you could use src_R[:results raw]{1+1} but to make it less clumsy you could configure org-babel-default-inline-header-args, e.g. (setq org-babel-default-inline-header-args (org-babel-merge-params org-babel-default-inline-header-args '((:results . "raw")))) after which \begin{equation} 1 + src_R{1+1} = 3 \end{equation} exports to latex as \begin{equation} 1 + 2 = 3 \end{equation} As for the default behaviour, the == declares that the contents should be formatted fixed-width on export. Normally in latex export that results in \texttt{}, but I see that inside a begin_equation the == remain. I wonder whether that could be argued to be an org-mode latex exporter bug? > > Where should I start looking to fix this? I'm a lisp novice but happy > to learn. org-babel-exp.el > > 2) Width/Height exports for R graphics output. Do they work? > > I've tried a lot of combinations of :width and :height as exports, and > they don't seem to work at all. I've tried small numbers (1-10), large > numbers (100-2000) and numbers prefixed by "cm" with no luck. Hmm, I'm not seeing a problem here. It works for me with both png and pdf output. E.g. #+begin_src R :file z.pdf :width 20 :height 40 :exports both plot(1:10) #+end_src What image format (i.e. R graphics device) are you using? Can you post an example block that is not working? The values for :width and :height will be passed straight on to the graphics device, so their meaning depends on which graphics device is being used in R. > > I know I can use #+attr_latex: width=15cm. > > 3) R-graphics quality > > I can't seem to find any examples of how to set the R graphics output > quality, and nothing I try seems to alter the result (using :quality). I'm not sure what you mean by "R graphics output quality". The section "Graphical output" in http://orgmode.org/worg/org-contrib/babel/languages/org-babel-doc-R.php describes how to pass arguments to the R graphics devices. In addition to the ones that org-babel knows about like :width, you can pass arbitrary extra arguments to the R device using :R-dev-args. > > Are there any publication quality r-graphics examples I could take a > look at, as I've been unable to find any on google. You mean using org-babel or just using R? Hope that helps. Dan > > > > _______________________________________________ > Emacs-orgmode mailing list > Please use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <5084fc611003210151x41850afcg36b275679ae76acb@mail.gmail.com>]
* Re: Org babel R Help [not found] ` <5084fc611003210151x41850afcg36b275679ae76acb@mail.gmail.com> @ 2010-03-21 9:18 ` Joseph Cole 2010-03-21 9:53 ` Graham Smith 0 siblings, 1 reply; 6+ messages in thread From: Joseph Cole @ 2010-03-21 9:18 UTC (permalink / raw) To: davison, Emacs-orgmode > Joseph Cole <coljo582@student.otago.ac.nz> writes: > >> I've been struggling with a few aspects of org babel R: >> >> 1) src_R surrounds output with ==. >> >> E.g. src_R{1+1} gives =2= >> >> I would expect it to just give 2. Because it surrounds the output with >> equals signs, this means you are unable to use the output in latex >> equations, general text or tables as it's ugly. > > Hi Joseph, > > If you use ':results raw', then the results will be inserted without the > surrounding '='. You will need to pull the latest git head as I just > fixed a bug regarding that. So you could use > > src_R[:results raw]{1+1} > > but to make it less clumsy you could configure > org-babel-default-inline-header-args, e.g. > > (setq org-babel-default-inline-header-args > (org-babel-merge-params org-babel-default-inline-header-args > '((:results . "raw")))) > > after which > > \begin{equation} > 1 + src_R{1+1} = 3 > \end{equation} > > exports to latex as > > \begin{equation} > 1 + 2 = 3 > \end{equation} > > As for the default behaviour, the == declares that the contents should > be formatted fixed-width on export. Normally in latex export that > results in \texttt{}, but I see that inside a begin_equation the == > remain. I wonder whether that could be argued to be an org-mode latex > exporter bug? Thanks for the help, I'm pulling down the head to test. It certainly would make more sense to embed raw automatically within equations. > >> >> Where should I start looking to fix this? I'm a lisp novice but happy >> to learn. > > org-babel-exp.el Thanks. The code makes sense. >> 2) Width/Height exports for R graphics output. Do they work? >> >> I've tried a lot of combinations of :width and :height as exports, and >> they don't seem to work at all. I've tried small numbers (1-10), large >> numbers (100-2000) and numbers prefixed by "cm" with no luck. > > Hmm, I'm not seeing a problem here. It works for me with both png and > pdf output. E.g. > > #+begin_src R :file z.pdf :width 20 :height 40 :exports both > plot(1:10) > #+end_src > What image format (i.e. R graphics device) are you using? Can you post > an example block that is not working? The values for :width and :height > will be passed straight on to the graphics device, so their meaning > depends on which graphics device is being used in R. I'm trying the code you posted with the latest org-mode from ubuntu and getting nothing in my results if I use png. If I use pdf, I get a really tiny chart which is incomprehensible. Width and height seem to work randomly, as using 20:40 work with pdf (although tiny), but 100,100 do not work at all. It only works correctly if I use the #+attr_latex: width=Xcm and omit the width and height. I'm using ubuntu jaunty fully up to date, org mode from the website (6.34c), R 2.92, and the stock standard latex install for ubuntu. > >> >> I know I can use #+attr_latex: width=15cm. >> >> 3) R-graphics quality >> >> I can't seem to find any examples of how to set the R graphics output >> quality, and nothing I try seems to alter the result (using :quality). > > I'm not sure what you mean by "R graphics output quality". The section > "Graphical output" in > > http://orgmode.org/worg/org-contrib/babel/languages/org-babel-doc-R.php > > describes how to pass arguments to the R graphics devices. In addition > to the ones that org-babel knows about like :width, you can pass > arbitrary extra arguments to the R device using :R-dev-args. > >> >> Are there any publication quality r-graphics examples I could take a >> look at, as I've been unable to find any on google. > > You mean using org-babel or just using R? Using babel. For some reason my R graphics embedded within my pdf's don't seem to be as "nice" as viewing them from within R, i.e. slightly fuzzy edges. It's like the antialiasing has failed or something. The text labels on the axes are definitely not up to latex standard. Best regards, Joe ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Org babel R Help 2010-03-21 9:18 ` Joseph Cole @ 2010-03-21 9:53 ` Graham Smith 2010-03-21 14:19 ` Dan Davison 0 siblings, 1 reply; 6+ messages in thread From: Graham Smith @ 2010-03-21 9:53 UTC (permalink / raw) To: Emacs-orgmode Joseph/Dan >>> 2) Width/Height exports for R graphics output. Do they work? >>> >>> I've tried a lot of combinations of :width and :height as exports, and >>> they don't seem to work at all. I've tried small numbers (1-10), large >>> numbers (100-2000) and numbers prefixed by "cm" with no luck. >> >> Hmm, I'm not seeing a problem here. It works for me with both png and >> pdf output. E.g. >> >> #+begin_src R :file z.pdf :width 20 :height 40 :exports both >> plot(1:10) >> #+end_src > >> What image format (i.e. R graphics device) are you using? Can you post >> an example block that is not working? The values for :width and :height >> will be passed straight on to the graphics device, so their meaning >> depends on which graphics device is being used in R. > > I'm trying the code you posted with the latest org-mode from ubuntu and > getting nothing in my results if I use png. If I use pdf, I get a really > tiny chart which is incomprehensible. Width and height seem to work > randomly, as using 20:40 work with pdf (although tiny), but 100,100 do not > work at all. > > It only works correctly if I use the #+attr_latex: width=Xcm and omit the > width and height. Based on what is happening here with me on Ubuntu 9.10, R 2.10 and orgmode 6.34. The ":file z.pdf :width 20 :height 40 :exports both" is affecting the size of the graphic that R produces. If you open x.pdf directly you will find that it changes size as expected. BUT regardless of the size of the z.pdf, Latex defaults to a fixed, and tiny, standard size. Unless you give an explicit latex command #+attr_latex: width=Xcm > Using babel. For some reason my R graphics embedded within my pdf's don't > seem to be as "nice" as viewing them from within R, i.e. slightly fuzzy > edges. It's like the antialiasing has failed or something. The text labels > on the axes are definitely not up to latex standard. Are you just viewing them or printing them. I find with Ubuntu that the default viewer seems to arbitrarily change between programs and the quality of graphics on the screen varies, but the quality of printed output stays the same. Try opening the final PDF in an alternative viewer and see if things still appear the same. Graham ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Org babel R Help 2010-03-21 9:53 ` Graham Smith @ 2010-03-21 14:19 ` Dan Davison 2010-03-21 17:45 ` Graham Smith 0 siblings, 1 reply; 6+ messages in thread From: Dan Davison @ 2010-03-21 14:19 UTC (permalink / raw) To: Graham Smith, Joseph Cole; +Cc: emacs-orgmode Graham Smith <myotisone@gmail.com> writes: > Joseph/Dan > >>>> 2) Width/Height exports for R graphics output. Do they work? >>>> >>>> I've tried a lot of combinations of :width and :height as exports, and >>>> they don't seem to work at all. I've tried small numbers (1-10), large >>>> numbers (100-2000) and numbers prefixed by "cm" with no luck. >>> >>> Hmm, I'm not seeing a problem here. It works for me with both png and >>> pdf output. E.g. >>> >>> #+begin_src R :file z.pdf :width 20 :height 40 :exports both >>> plot(1:10) >>> #+end_src >> >>> What image format (i.e. R graphics device) are you using? Can you post >>> an example block that is not working? The values for :width and :height >>> will be passed straight on to the graphics device, so their meaning >>> depends on which graphics device is being used in R. >> >> I'm trying the code you posted with the latest org-mode from ubuntu and >> getting nothing in my results if I use png. Hi Joseph, I also get nothing with png: ,---- | #+begin_src R :file z.png :width 20 :height 40 :exports both `---- If you do C-c C-c on the block, you should get an error buffer explaining why ,---- | Error in plot.new() : figure margins too large | Calls: write.table ... inherits -> main -> plot -> plot.default -> plot.new | Execution halted `---- In R, for png(), jpg() et al, the default units for width and height are pixels. For pdf() and ps() width and height are in inches. So while 20 and 40 are sensible values for pdf they are not for png. >> If I use pdf, I get a really >> tiny chart which is incomprehensible. Width and height seem to work >> randomly, as using 20:40 work with pdf (although tiny), but 100,100 do not >> work at all. What do you mean when you say "100,100 do not work at all"? What I get is something which looks very much like a blank plot inserted into the pdf. However if you look closely, it is in fact a scaled down version of a large pdf (100 inches by 100 inches). The axes, plotting characters and label annotation are very hard to see because they have not been scaled up and are tiny relative to the plot dimensions. >> >> It only works correctly if I use the #+attr_latex: width=Xcm and omit the >> width and height. > > Based on what is happening here with me on Ubuntu 9.10, R 2.10 and orgmode 6.34. > > The ":file z.pdf :width 20 :height 40 :exports both" is affecting > the size of the graphic that R produces. If you open x.pdf directly > you will find that it changes size as expected. > > BUT regardless of the size of the z.pdf, Latex defaults to a fixed, > and tiny, standard size. Unless you give an explicit latex command > #+attr_latex: width=Xcm > Thanks Graham for the further explanation. So I believe we do understand the situation. The question is how do we improve it. First the facts: 1. With png R graphics :width and :height specify pixel dimensions and must be sensible for the graphic to be produced without an R error. 2. With pdf R graphics, :width and :height are in inches. However, the pdf output produced by org rescales the resulting image down to a small default size. So as Graham has explained, a good approach at the moment is to create the graphics with C-c C-c in buffer, get rid of ':exports both', and manually insert an ATTR_LaTeX line. You may or may not want to use :width and :height to set plot dimensions in R, in addition to the rescaling at the latex stage. See also Graham's recent thread "[babel] captions and figure size on export" http://comments.gmane.org/gmane.emacs.orgmode/22837 As for improvements, it is tempting to think that 1. org-babel should automatically insert the ATTR_LaTeX line in accordance with :width and :height when creating latex output. 2. org-babel should keep existing ATTR_LaTeX lines attached to their respective figures (contra Graham's thread linked above) I've had a brief look and doubtless all this is possible. It brings up issues of what units :width and :height are assumed to be in (e.g. just because R uses inches for pdf() doesn't mean that anyone else thinks that's a sensible decision). And we have to be a careful because it means altering what org-babel considers to be part of its results. > >> Using babel. For some reason my R graphics embedded within my pdf's don't >> seem to be as "nice" as viewing them from within R, i.e. slightly fuzzy >> edges. It's like the antialiasing has failed or something. The text labels >> on the axes are definitely not up to latex standard. OK, well we definitely don't want org-babel to be producing sub-par pdf images, so it would be very helpful if you could help us further here. First, can we determine whether this is an org-mode/org-babel issue or an R/latex/pdf issue? E.g. If you create a pdf in R and embed it in a LaTeX document manually does it come out looking better than the equivalent operation done in org-babel? What about if you use postscript output rather than pdf? If you use Sweave, how does the image in the pdf output of Sweave compare to that of org-babel? Any further investigations here would be much appreciated. Dan > > Are you just viewing them or printing them. I find with Ubuntu that > the default viewer seems to arbitrarily change between programs and > the quality of graphics on the screen varies, but the quality of > printed output stays the same. Try opening the final PDF in an > alternative viewer and see if things still appear the same. > > Graham > > > _______________________________________________ > Emacs-orgmode mailing list > Please use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Org babel R Help 2010-03-21 14:19 ` Dan Davison @ 2010-03-21 17:45 ` Graham Smith 0 siblings, 0 replies; 6+ messages in thread From: Graham Smith @ 2010-03-21 17:45 UTC (permalink / raw) To: emacs-orgmode Dan > So I believe we do understand the situation. The question is how do we > improve it. First the facts: > As for improvements, it is tempting to think that > > 1. org-babel should automatically insert the ATTR_LaTeX line in > accordance with :width and :height when creating latex output. > 2. org-babel should keep existing ATTR_LaTeX lines attached to their > respective figures (contra Graham's thread linked above) > > I've had a brief look and doubtless all this is possible. It brings up > issues of what units :width and :height are assumed to be in (e.g. just > because R uses inches for pdf() doesn't mean that anyone else thinks > that's a sensible decision). And we have to be a careful because it > means altering what org-babel considers to be part of its results. Now that I know what is happening I am reasonably content with it as it is. However, it would seem to make sense that :width and :height commands "should" relate to the image size in the compiled pdf. And it would also make sense that these should be consistently in mm, regardless of file format. Graham ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-03-21 17:46 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-03-19 8:01 Org babel R Help Joseph Cole 2010-03-19 14:30 ` Dan Davison [not found] ` <5084fc611003210151x41850afcg36b275679ae76acb@mail.gmail.com> 2010-03-21 9:18 ` Joseph Cole 2010-03-21 9:53 ` Graham Smith 2010-03-21 14:19 ` Dan Davison 2010-03-21 17:45 ` Graham Smith
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).