我有一个表格的数据文件:
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)
为了在x轴上绘制日期/时间序列,您需要set xdata time.接下来,您需要告诉gnuplot日期/时间数据的格式.在你的情况下
set timefmt "%d-%b-%Y %H:%M"
Run Code Online (Sandbox Code Playgroud)
您可能希望设置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)
你应该得到这个

结果.