在gnuplot中绘制两个坐标轴

38

在gnuplot中是否可以绘制两条曲线,每条曲线都有不同的刻度,对应不同的坐标轴?

例如,在同一张图中绘制y=x**2y=x**4(它们变化很大,使用相同的刻度会让图像难以观察)。


@Kazark - 你介意解释一下那个编辑的目的是什么吗?是为了使问题与两个答案都不兼容,还是其他原因? - Rook
@Idigas 当然没有掩盖问题的意图。如果您认为我这样做了,您当然可以回滚编辑。 - Keith Pinson
@Kazark - 那你为什么要编辑呢? - Rook
14
为什么不接受其中一个答案? - brownian
2个回答

55

您可以让轴自动处理而无需手动缩放它们,并保持自动缩放:

set terminal jpeg
set output 'graph.jpg'

set xrange [-10:10]
set ytics 10 nomirror tc lt 1
set ylabel '2*x' tc lt 1
set y2tics 20 nomirror tc lt 2
set y2label '4*x' tc lt 2
plot 2*x linetype 1, 4*x linetype 2 axes x1y2

脚本的输出结果


5
由于我的轴通常具有不同的刻度,我发现 autofreq 这个选项很有用。例如:set ytics autofreq tc lt 1 - Jared Beck

14

可以为y轴和y2轴(即右侧轴)设置不同的范围,甚至可以独立设置标签/刻度的颜色。

然后我们只需将第二个函数除以2(或其他适当数值),并设置颜色...就像这个例子中所示:

set xrange [-10:10]
set yrange [-20:20]
set y2range [-40:40]

set ytics 10 nomirror tc lt 1
set ylabel '2*x' tc lt 1

set y2tics 20 nomirror tc lt 2
set y2label '4*x' tc lt 2

plot 2*x linetype 1, 4*x/2+.5 linetype 2

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