You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在gnuplot中生成联动的可靠双Y轴图表?

解决Gnuplot双Y轴联动匹配问题

你遇到的核心问题是未将y2-axis的数据绑定到右侧Y轴,且若需双轴联动,需设置轴间关联规则而非仅固定范围。以下是两种可行的解决方案:

方案1:固定双轴范围(匹配原始需求)

set xrange [5:70]
set yrange [9.1:9.7]
set y2range [85:89]
unset key

set xtics 15 font ",18" nomirror
set xlabel "x-axis" font ",24" offset 0,-.5
set ytics .2 font ",18" nomirror 
set ylabel "y-axis" font ",24" offset -1.5
set y2tics font ",18" 
set y2label "y2-axis" font ",24"

# 关键修正:分别绘制左右轴对应的数据
plot "Dataset.txt" using 1:2 with linespoints ls 1, \
     "Dataset.txt" using 1:3 with linespoints ls 2 axes x1y2

方案2:双轴联动缩放(自动匹配数据范围)

若希望两个Y轴随数据自动同步缩放,可使用set link命令替代固定范围:

unset key

set xtics 15 font ",18" nomirror
set xlabel "x-axis" font ",24" offset 0,-.5
set ytics .2 font ",18" nomirror 
set ylabel "y-axis" font ",24" offset -1.5
set y2tics font ",18" 
set y2label "y2-axis" font ",24"

# 根据你的数据集计算线性映射关系:y2 = -8.76*y + 172.5
set link y2 via (-8.76*y + 172.5) inverse ((172.5 - y2)/8.76)

plot "Dataset.txt" using 1:2 with linespoints ls 1, \
     "Dataset.txt" using 1:3 with linespoints ls 2 axes x1y2

核心说明:

  • 原始代码仅绘制了x-axis和y-axis列,未处理y2-axis数据,导致右轴为空轴无对应数据。
  • 使用axes x1y2指定第二组数据绑定到右侧Y轴。
  • 联动缩放时,需先通过数据计算两组Y值的线性映射关系(可借助stats命令自动计算更精确的参数),再用set link实现轴的同步缩放逻辑。

内容的提问来源于stack exchange,提问作者Muhammad Ihsan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 12:18:12