使用Gnuplot从文件中绘制多个系列

Com*_* 10 4 gnuplot series

我有一个表格的数据文件:

Series_1 "12-Dec-2011 12:00" 32
Series_1 "12-Dec-2011 12:01" 29
Series_1 "12-Dec-2011 12:02" 27
Series_1 "12-Dec-2011 12:04" 23

Series_2 "12-Dec-2011 12:01" 45
Series_2 "12-Dec-2011 12:02" 43
Series_2 "12-Dec-2011 12:04" 38
Run Code Online (Sandbox Code Playgroud)

我想使用gnuplot在同一个图上绘制一些系列,但我是gnuplot的新手,我无法弄清楚该using子句应该如何构造.

我想将第2列,日期/时间绘制为X轴,第3列为Y轴,后续部分重叠.这可能吗?当然X轴并不总是在第一列?

我试过了:

plot "datafile.dat" using 2:3 title 'Hits'
Run Code Online (Sandbox Code Playgroud)

但得到了错误:

x range is invalid
Run Code Online (Sandbox Code Playgroud)

有谁能告诉我哪里出错了?

cho*_*oba 10

扩展@ Woltan的答案:如果你想要每个部分使用不同的颜色/样式,请使用index(但是你必须用两条 emtpy线分隔部分):

plot 'i' index 0 using 2:4 with lines, '' index 1 using 2:4 with lines
Run Code Online (Sandbox Code Playgroud)

  • 需要明确的是,两个空行意味着_三个_换行符。 (2认同)

Wol*_*tan 7

为了在x轴上绘制日期/时间序列,您需要set xdata time.接下来,您需要告诉gnuplot日期/时间数据的格式.在你的情况下

set timefmt "%d-%b-%Y %H:%M"
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩.这里%X显示一些示例以及 - 同义词.

您可能希望设置x轴应显示的格式.在你的情况下也许吧

set format x "%H:%M"
Run Code Online (Sandbox Code Playgroud)

会有意义的.

我无法使用日期/时间周围的引号来绘制数据.使用此数据文件(Data.csv):

Series_1 12-Dec-2011 12:00 32
Series_1 12-Dec-2011 12:01 29
Series_1 12-Dec-2011 12:02 27
Series_1 12-Dec-2011 12:03 23

Series_2 12-Dec-2011 12:01 45
Series_2 12-Dec-2011 12:02 43
Series_2 12-Dec-2011 12:04 38
Run Code Online (Sandbox Code Playgroud)

和这个脚本:

set xdata time
set timefmt "%d-%b-%Y %H:%M"
set format x "%H:%M"

plot "Data.csv" u 2:4 w l
Run Code Online (Sandbox Code Playgroud)

你应该得到这个

在此输入图像描述

结果.