在gnuplot中使用日期(复活节)

时间:2014-01-03 15:21:44

标签: gnuplot

我似乎无法弄清楚如何让gnuplot解析我的日期,尽管尝试了每一个组合。我正在尝试创建一个图表,其中x轴为年,y轴为月和日。我得到的结果是一张图表,其中一条线从左下角到右上角,y轴上的日期卡在“01/01”上,对于我的生活,我不知道出了什么问题。这里包括我的努力回到最基本的设置:

我有一个循环遍及int的脚本并调用:

for c in `seq 2014 2015`;
do
w=$(ncal -e -y $c)
e=$(ncal -o -y $c)
echo $c, $w, $e
done

这会创建如下数据:

2014, April 20 2014, April 20 2014
2015, April 5 2015, April 12 2015
...

Gnuplot命令:

set ydata time
set format y "%m/%d"
set timefmt "%B %d %Y"
set datafile separator ","

plot "< ./dump.sh" using 1:2 with lines title "western", \
    "< ./dump.sh" using 1:3 with lines title "eastern"

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

y轴的输出格式仅影响标签,但不影响位置。因此,在ytic标签中只有一个月和一天仍然包括增加的年份,这为您提供了这条线。

只需使用set timefmt "%B %d",忽略剩余的时间字符串:

set datafile separator ","
set timefmt "%B %d"
set ydata time
set format y "%m/%d"

set style data lines
plot "< ./dump.sh" using 1:2 title "western", \
    "< ./dump.sh" using 1:3 title "eastern"

不使用显式年份使用2000(版本4.6)或1970(开发版本)作为数据。但这对你的申请来说根本不重要。

这给出了(用4.6.3):

enter image description here