2015-12-02 53 views
1

多发性个别地块我试图绘制使用内联数据数据从行内文件:在gnuplot的

set xdata time 
set timefmt "%Y-%m-%dT%H:%M:%S" 
set format x "%H:%M:%S" 
set datafile separator ";" 
set yrange [0:] 
plot '-' index 0 using 1:2 with linespoints t 'before', '-' index 0 using 1:3 with linespoints t 'after' 
2015-11-05T00:42:32;0.690000;0.690000 
2015-11-05T00:43:34;0.690000;0.690000 
2015-11-05T00:44:35;0.690000;0.690000 
2015-11-05T00:45:36;0.690000;0.690000 
2015-11-05T00:46:37;0.690000;0.690000 
2015-11-05T00:47:38;0.690000;0.690000 
2015-11-05T00:48:38;0.690000;0.690000 
2015-11-05T00:49:40;0.690000;0.690000 
e 

gnuplot的 - 然而 - 抱怨没有数据的第二部分。虽然重复数据如

set xdata time 
set timefmt "%Y-%m-%dT%H:%M:%S" 
set format x "%H:%M:%S" 
set datafile separator ";" 
set yrange [0:] 
plot '-' index 0 using 1:2 with linespoints t 'before', '-' index 0 using 1:3 with linespoints t 'after' 
2015-11-05T00:42:32;0.690000;0.690000 
2015-11-05T00:43:34;0.690000;0.690000 
2015-11-05T00:44:35;0.690000;0.690000 
2015-11-05T00:45:36;0.690000;0.690000 
2015-11-05T00:46:37;0.690000;0.690000 
2015-11-05T00:47:38;0.690000;0.690000 
2015-11-05T00:48:38;0.690000;0.690000 
2015-11-05T00:49:40;0.690000;0.690000 
e 
2015-11-05T00:42:32;0.690000;0.690000 
2015-11-05T00:43:34;0.690000;0.690000 
2015-11-05T00:44:35;0.690000;0.690000 
2015-11-05T00:45:36;0.690000;0.690000 
2015-11-05T00:46:37;0.690000;0.690000 
2015-11-05T00:47:38;0.690000;0.690000 
2015-11-05T00:48:38;0.690000;0.690000 
2015-11-05T00:49:40;0.690000;0.690000 
e 

做这项工作,我希望,这index 0已经选择了正确的数据集。 我也试图省略第二个“文件”名称以再次使用最后一个文件。

有没有更好的方式再次使用相同的内嵌数据而不重复?

回答

3

从版本5.0的gnuplot有一个新的“命名数据块”结构(如定界符),它允许您一次保存联数据和经常使用它,只要你想:

$data <<EOD 
2015-11-05T00:42:32;0.690000;0.690000 
2015-11-05T00:43:34;0.690000;0.690000 
2015-11-05T00:44:35;0.690000;0.690000 
2015-11-05T00:45:36;0.690000;0.690000 
2015-11-05T00:46:37;0.690000;0.690000 
2015-11-05T00:47:38;0.690000;0.690000 
2015-11-05T00:48:38;0.690000;0.690000 
2015-11-05T00:49:40;0.690000;0.690000 
EOD 

set xdata time 
set timefmt "%Y-%m-%dT%H:%M:%S" 
set format x "%H:%M:%S" 
set datafile separator ";" 
set yrange [0:] 
set style data linespoints 
plot $data using 1:2 t 'before', '' using 1:3 t 'after'