微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使“设置偏移量”适用于某些轴?

如何解决如何使“设置偏移量”适用于某些轴?

set offsets的gnuplot文档非常简洁,我无法找到偏移量如何与多个x轴或y轴相互作用。

我有2个图,它们使用x1y1和x1y2,所以左边有2个y轴,右边是1个。现在,当我添加一些顶部偏移量时,它将应用于使用y1的图。如何使其影响使用y2的图?

解决方法

这就是gnuplot help offsets所说的:

偏移量提供了一种在数据周围放置空白边界的机制 在自动缩放的图形中。偏移量仅影响x1和y1 轴,并且仅在2D绘图命令中使用。

因此,看起来(不可能)不可能。 顺便说一句,您是否希望补偿影响...

  • 仅y2轴或
  • y1和y2轴以相同方式或
  • y1和y2轴不同吗?

也许您可以编辑问题并添加示例以供说明。

添加:

以下内容可能会有所帮助。正如您已经做过的那样,您可以使用GPVAL_变量。 重要的是要知道,这些值仅在 绘制后设置。 因此,您必须先绘制,然后根据需要修改y1和y2范围,然后修改replot。您还可以使用gnuplot的自动缩放算法建议将变量GPVAL_Y_MINGPVAL_Y_MAXGPVAL_Y2_MINGPVAL_Y2_MAX作为范围。

代码:

### different "offsets" for y1 and y2 axes
reset session

set xlabel "x1-axis"
set ylabel "y1-axis"
set ytics nomirror
set y2label "y2-axis"
set y2tics nomirror

plot 100*(sin(x)+1) axes x1y1 w l,\
     10*cos(x) axes x1y2 w l

Y1FromBottom = 0.40    # y1 data will use 40% space from bottom
Y2FromBottom = 0.80    # y2 data will use 80% space from bottom

set yrange[:(GPVAL_DATA_Y_MAX-GPVAL_DATA_Y_MIN)/Y1FromBottom+GPVAL_DATA_Y_MIN]
set y2range[:(GPVAL_DATA_Y2_MAX-GPVAL_DATA_Y2_MIN)/Y2FromBottom+GPVAL_DATA_Y2_MIN]

replot 
### end of code

结果:

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。