Hi Nick,
Nick Dokos writes:
> "Loris Bennett" 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.