Gnuplot:如何在单个图中绘制超过2个数据集并使用2个y轴?

8
我有多个数据集想在一个图中绘制:
plot "data1a.txt", "data1b.txt", "data1c.txt", "data2.txt"

我希望能够使用两个不同范围的y轴。

yrange=[0:10]
y2range=[-10:10]

如果您只有两个数据集,那么在 gnuplot 上很容易实现。第一个数据集使用 yrange(其轴位于左侧),第二个数据集使用 y2range(其轴位于右侧)。

现在问题来了,我想使用 yrange 来绘制数据集 data1a.txtdata1b.txtdata1c.txt,并使用 y2range 绘制 data2.txt,如何在单个图中绘制这两个 y 轴?

1个回答

13

此处所述:

plot {<ranges>}  
      {<function> | {"<datafile>" {datafile-modifiers}}}  
      {axes <axes>} {<title-spec>} {with <style>}  
      {, {definitions,} <function> ...} 

你可以看到在绘图命令中使用了axes。在设置y轴范围后。

set yrange [y1min:y1max]
set y2range [y2min:y2max]

你可以使用以下方式指定绘图中要使用的轴:

plot "data.txt" axes x1y1

如果你想将它绘制在第一个y轴上或者

plot "data.txt" axes x1y2

如果您想将其绘制在第二个y轴上,请参见gnuplot中如何使用多个轴的示例


3
一开始我无法让它工作,后来意识到在"axes x1y1"之前必须先添加"using 1:2"这部分代码。谢谢。 - Eddy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接