emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] org-plot questions


From: Eric Schulte
Subject: Re: [Orgmode] org-plot questions
Date: Wed, 22 Oct 2008 08:35:25 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

JBash <address@hidden> writes:

> Hi,
>
> First of all, thanks to all for the work on org-mode and org-plot.
>
> A question about org-plot...
>
> Question 1:
> When I include an index column in the first column of the table,  I am 
> getting evenly spaced data points,
> with the xtic labels being coming from the 'ind:' column (2, in the first 
> data set here).
>
> The behavior I expected was to use the second column (Frequency) as the 
> independent variable, and to get a
> plot with 3 groups of 3 points, near frequencies of 1, 10, and 20. as I get 
> with the 'Data Set B' group.
>
> Is this expected and correct?
>

Hi Jerry,

Not exactly expected, but I believe it is the correct behavior for now.
Notice that you are missing an hline in your table after the headers.
Without an obvious division between the headers, and the table data
org-plot can not tell that the data is numeric, and should be
interpreted as such, so it applies the values of the index column as
xlabels to evenly spaced points (as if they were strings).  Try the
following table, and you should get a result more inline with
expectations.

#+PLOT: ind:2 with:points
| Index | Frequency | Amplitude | Phase | Delta | Peak |
|-------+-----------+-----------+-------+-------+------|
|     1 |       0.9 |         9 |     6 |     5 |  198 |
|     2 |       1.0 |        10 |     9 |     7 |  212 |
|     3 |       1.1 |        11 |     8 |     3 |  144 |
|     4 |       9.9 |        19 |    12 |     9 |  235 |
|     5 |      10.0 |        18 |     7 |    12 |  222 |
|     6 |      10.1 |        22 |    14 |     4 |  187 |
|     7 |      19.9 |        14 |    11 |     6 |  220 |
|     8 |      20.0 |        20 |    15 |    14 |  213 |
|     9 |      20.1 |        18 |    16 |    11 |  201 |

>
> I know that this will also include the first column in the plot, which leads 
> to my next question.
>
> Question 2:
> When I try to use the deps option, I either get an error or an undesired 
> result.  For example, if I include
> a "deps:3,4", I get a "Wrong type argument" error.  If I enclose the 3,4 in 
> single quotes (eg. deps:'3,4'),
> I get only the third column plotted, and not both third and fourth as I 
> expected.  What am I doing wrong?
> A comment - enclosing the argument for deps in single quotes, if that is the 
> intention, seems inconsistent
> with the arguments for other options of that type (ind, for example).
>

Sorry, the documentation is wrong and it specifies that the dependent
columns should be specified as a comma separated list, when in actuality
they should be specified as a standard lisp list "inside parenthesis
separated by spaces".  Thanks for catching this, I will submit a patch
to the documentation.

#+PLOT: ind:1 deps:(3 4)
| Frequency | Amplitude | Phase | Delta | Peak |
|-----------+-----------+-------+-------+------|
|       0.9 |         9 |     6 |     5 |  198 |
|       1.0 |        10 |     9 |     7 |  212 |
|       1.1 |        11 |     8 |     3 |  144 |
|       9.9 |        19 |    12 |     9 |  235 |
|      10.0 |        18 |     7 |    12 |  222 |
|      10.1 |        22 |    14 |     4 |  187 |
|      19.9 |        14 |    11 |     6 |  220 |
|      20.0 |        20 |    15 |    14 |  213 |
|      20.1 |        18 |    16 |    11 |  201 |

>
> Question 3:
> Is there a way to produce 2 different plots from the same table data?
>

Currently no there is not.  In the current setup all of the plot lines
adjacent to a table are collected and used to generate a single plot for
the table.  I does seem like a good idea to allow multiple plots from a
single table.  Two ideas that come to mind are...

1) keep all of the plot lines adjacent with the table, but number them
   into any number of different plots.  For example the following would
   specify plots 1 and 2 for a table

#+PLOT1: title:"the first plot"
#+PLOT1: ind:1 with:points
#+PLOT2: title:"the second plot on the same table"
#+PLOT2: ind:2 deps:(3 4) with:lines
| Frequency | Amplitude | Phase | Delta | Peak |
|-----------+-----------+-------+-------+------|
|       0.9 |         9 |     6 |     5 |  198 |
|       1.0 |        10 |     9 |     7 |  212 |
|       1.1 |        11 |     8 |     3 |  144 |
|       9.9 |        19 |    12 |     9 |  235 |
|      10.0 |        18 |     7 |    12 |  222 |
|      10.1 |        22 |    14 |     4 |  187 |
|      19.9 |        14 |    11 |     6 |  220 |
|      20.0 |        20 |    15 |    14 |  213 |
|      20.1 |        18 |    16 |    11 |  201 |

2) the only other mechanism which occurs to me is to somehow label the
   table with a unique ID, and then allow the plot lines to be located
   anywhere in the org-mode file and include the table ID as a new
   argument to the PLOT lines.  This approach seems more flexible if
   more complicated.

Thanks for the bug reports and ideas -- Eric

>
> Thanks again for the help.
> Jerry
>
> ** Data Set A
> #+PLOT: ind:2
> | Index | Frequency |  Amplitude | Phase | Delta | Peak |
> |     1 |       0.9 |          9 |     6 |     5 |  198 |
> |     2 |       1.0 |         10 |     9 |     7 |  212 |
> |     3 |       1.1 |         11 |     8 |     3 |  144 |
> |     4 |       9.9 |         19 |    12 |     9 |  235 |
> |     5 |      10.0 |         18 |     7 |    12 |  222 |
> |     6 |      10.1 |         22 |    14 |     4 |  187 |
> |     7 |      19.9 |         14 |    11 |     6 |  220 |
> |     8 |      20.0 |         20 |    15 |    14 |  213 |
> |     9 |      20.1 |         18 |    16 |    11 |  201 |
>
> ** Data Set B
> #+PLOT: ind:1
> | Frequency | Amplitude | Phase | Delta | Peak |
> |-----------+-----------+-------+-------+------|
> |       0.9 |         9 |     6 |     5 |  198 |
> |       1.0 |        10 |     9 |     7 |  212 |
> |       1.1 |        11 |     8 |     3 |  144 |
> |       9.9 |        19 |    12 |     9 |  235 |
> |      10.0 |        18 |     7 |    12 |  222 |
> |      10.1 |        22 |    14 |     4 |  187 |
> |      19.9 |        14 |    11 |     6 |  220 |
> |      20.0 |        20 |    15 |    14 |  213 |
> |      20.1 |        18 |    16 |    11 |  201 |
>
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode




reply via email to

[Prev in Thread] Current Thread [Next in Thread]