gnuplot: plotting a file with 4 columns all on y-axis

后端 未结 2 1610
星月不相逢
星月不相逢 2021-01-30 06:52

I have a file that contains 4 numbers (min, max, mean, standard derivation) and I would like to plot it with gnuplot.

Sample:

24 31 29.0909 2.57451
12 31         


        
相关标签:
2条回答
  • 2021-01-30 07:45

    You can plot different columns of the same file like this:

    plot 'file' using 0:1 with lines, '' using 0:2 with lines ...
    

    (... means continuation). A couple of notes on this notation: using specifies which column to plot i.e. column 0 and 1 in the first using statement, the 0th column is a pseudo column that translates to the current line number in the data file. Note that if only one argument is used with using (e.g. using n) it corresponds to saying using 0:n (thanks for pointing that out mgilson).

    If your Gnuplot version is recent enough, you would be able to plot all 4 columns with a for-loop:

    set key outside
    plot for [col=1:4] 'file' using 0:col with lines
    

    Result:

    for-loop plot

    Gnuplot can use column headings for the title if they are in the data file, e.g.:

    min max mean std
    24 31 29.0909 2.57451
    12 31 27.2727 5.24129
    14 31 26.1818 5.04197
    22 31 27.7273 3.13603
    22 31 28.1818 2.88627
    

    and

    set key outside
    plot for [col=1:4] 'file' using 0:col with lines title columnheader
    

    Results in:

    for-loop plot with column headers

    0 讨论(0)
  • 2021-01-30 07:52

    Just to add that you can specify the increment in the for loop as third argument. It is useful if you want to plot every nth column.

    plot for [col=START:END:INC] 'file' using col with lines
    

    In this case it changes nothing but anyway:

    plot for [col=1:4:1] 'file' using col with lines
    
    0 讨论(0)
提交回复
热议问题