我的数据进行格式化,像这样:与X绘制作为时间范围
2014-11-17 19 18
2014-11-18 8 20
2014-11-19 23 16
2014-11-20 28 20
等。
我gnuplot的脚本如下:
gnuplot -e "
set output 'commits-per-day-with.png';
set term png truecolor giant;
set xdata time;
set timefmt '%Y-%m-%d';
set format x '%Y-%m-%d';
set xrange ['$min_date':'$max_date'];
set xtics 7;
set grid y;
set boxwidth 1.0 relative;
set style fill transparent solid 0.5 noborder;
plot '$tmp_file' using 0:2 with boxes title 'authored',
'' using 0:3 with boxes title 'committed';
"
它嵌入到一个shell脚本,你可以看到。 $min_date
和$max_date
变量的格式如下:2014-01-01
,就像数据中的格式(它实际上是从数据中取出的)和指定的格式一样。
$tmp_file
当然是包含数据的文件。
gnuplot的告诉我:
line 0: all points y value undefined!
什么是我的错误?
你的$ tmp_file有什么问题吗?在我的平台上(Ubuntu 12.04上的gnuplot版本4.6补丁级别6)看起来没问题,除了我使用默认的wxt终端并且没有设置xrange。它确实产生了一个图。顺便说一句,为什么你用'使用0:2'而不是'使用1:2'进行绘图呢? – DragonHu 2014-12-04 01:52:12
我不是一个gnuplot专家,我和一个有gnuplot经验的朋友一起砍了这个,但是不知道如何正确地做到这一点...... – musicmatze 2014-12-04 15:28:44
但是使用'1使用1 :2'像@DragonHu建议... – Christoph 2014-12-04 17:57:11