1

我对 gnuplot 图有疑问。轴 x 和 y 写得不好。bash 中的脚本在这里。

echo "set terminal png 8;
set output name.png
set multiplot
set timefmt '%s';
set title \"$LEGEND\";
set xdata time;
set format x$CASOVY_FORMAT;
set xrange [:]
set yrange [:]
unset colorbox
plot '$docasnyadr/data_timestamp_1' u 1:2 t '' w lines lw 1 lc 1
plot '$docasnyadr/data_timestamp_2' u 1:2 t '' w lines lw 1 lc 2
plot '$docasnyadr/data_timestamp_3' u 1:2 t '' w lines lw 1 lc 3" | gnuplot

数据的文件有格式timestamp any_number。这是一张图片: 在此处输入图像描述

我需要自动 xrange 和自动 yrange。你能帮助我吗?

4

2 回答 2

0

几点注意事项:

看起来您想在同一个图上用不同的颜色绘制三组数据。在这种情况下,您不一定需要 multiplot (这意味着在单独的绘图区域中制作完全独立的绘图),因此您可以使用命令

plot '$docasnyadr/data_timestamp_1' u 1:2 t '' w lines lw 1, \
'$docasnyadr/data_timestamp_2' u 1:2 t '' w lines lw 1, \
'$docasnyadr/data_timestamp_3' u 1:2 t '' w lines lw 1

而不是三个绘图命令。这样,线条颜色也会自动增加。

您的绘图上的 x 轴看起来很奇怪,不是因为自动量程问题,而是因为 y tic 标记对于某些绘图有两位数(例如“98”),而对于其他绘图则有三位数(例如“103”)。

如果您希望三个数据集彼此相邻,您可能必须手动偏移它们:

plot '$docasnyadr/data_timestamp_1' u 1:2 t '' w lines lw 1, \
'$docasnyadr/data_timestamp_2' u 1:($2+offset1) t '' w lines lw 1, \
'$docasnyadr/data_timestamp_3' u 1:($2+offset2) t '' w lines lw 1

否则,您可以尝试多个 y 轴。

于 2013-05-13T19:46:21.313 回答
0

尝试更换线条

set xrange [:]
set yrange [:]

set autoscale xy

-- http://gnuplot.sourceforge.net/docs_4.2/node157.html

于 2013-05-13T19:26:38.957 回答