Hi Nick, Nick Dokos <ndo...@gmail.com> writes:
> "Loris Bennett" <loris.benn...@fu-berlin.de> writes: > >> Hi, >> >> I have a code block like this >> >> #+NAME: users_per_month >> #+HEADER: :results append >> #+BEGIN_SRC sh :dir /root@sadmin: >> sacct=/cm/shared/apps/slurm/current/bin/sacct >> for y in {2014..2014}; do >> for m in {03..04}; do >> month=$y-$m >> first=$y-$m-01 >> last=`date -d "$first + 1 month - 1 day" +"%Y-%m-%d"` >> n=`$sacct -S $first -E $last -o user -X -n | sort | uniq | wc -l` >> echo $month $n >> done >> done >> #+END_SRC >> >> which produces something like this >> >> #+RESULTS: users_per_month >> | 2012-01 | 1 | >> | 2012-02 | 10 | >> | 2012-03 | 100 | >> | 2012-04 | 1000 | >> >> I'm using append because the generation of a datapoint takes a while. >> >> I'd like to plot the data with something like: >> >> #+NAME: plot_users_per_month >> #+HEADER: var data=users_per_month >> #+HEADER: :results output graphics >> #+HEADER: :file ./users_per_month.pdf :exports both >> #+HEADER: :session *r* >> #+BEGIN_SRC R >> library(ggplot2) >> >> bar_colour <- "#69B4D8" # steely blue >> >> month <- data$V1 >> users <- data$V2 >> df <- data.frame(month,users) >> p <- ggplot(df,aes(x=month,y=users)) + >> geom_bar(stat="identity",alpha=0.5,fill=bar_colour) + >> xlab("date") + >> ylab("users") >> p >> #+END_SRC >> >> However, this is just generating a plot of the data generated by the >> source block and not of the total results table. >> >> Can I give the results block a different name to the source block, so >> that I can refer to it directly, or should I be doing something >> completely different? >> > > I believe so: the source name ties the source block to the same named > result block - that allows the source block to find the result block > and modify it appropriately. The results block can be named and then > that name can be used in the plotting block, e.g. > > > #+name: foo > #+BEGIN_SRC sh :results output table append :var n=5 > for x in $(seq $n) > do > echo $x $(expr $x \* $x) > done > #+END_SRC > > #+name: foo_results > #+RESULTS: foo > | 1 | 1 | > | 2 | 4 | > | 3 | 9 | > | 4 | 16 | > | 5 | 25 | > > > #+NAME: plot_foo_results > #+HEADER: :var data=foo_results > #+HEADER: :file ./foo.pdf :exports both > #+BEGIN_SRC gnuplot > plot data > #+END_SRC > > Nick Oh, that's rather obvious *blush*. I suppose I was thinking that the whole results block is generated and it didn't occur to me to just give it a name. Thanks, Loris -- This signature is currently under construction.