双Y轴图表一组数据被挤至右侧,如何修复绘图异常问题?
问题描述
我尝试在同一图表中使用双Y轴绘制两组数据集,二者总时间范围均约为330小时,但单个观测点不同。绘图时一组数据格式及显示正常,另一组却被完全挤压至图表右侧。

我已尝试切换作为X轴的耗时数据,但始终是一组显示正常、一组显示异常。请问是否有解决该问题的办法?感谢您的帮助。
解决方案
- 校验X轴数据范围与类型:输出两组数据X轴(时间)的最大值、最小值和数据类型,确认是否存在某组数据的X轴起始值异常偏高,或类型不匹配(比如一组是整数,一组是带小数的浮点数但精度导致范围偏移)。
- 强制统一X轴刻度:手动设置X轴的显示范围为
(0, 330),避免绘图库自动缩放时偏向其中一组数据。以Matplotlib为例,可使用:
其他绘图库(如Seaborn、Plotly)也有类似的设置X轴范围的方法。plt.xlim(0, 330) - 确保X轴数据有序:检查被挤压的那组数据是否按X轴从小到大排序,乱序的数据会导致绘图时出现异常连线或挤压,排序后再重新绘制。
- 确认双Y轴共享X轴:创建第二个Y轴时,确保它与第一个Y轴共享同一个X轴。比如Matplotlib中使用
twinx()时,新轴默认共享X轴,但部分场景下需显式指定,避免重新计算X轴范围。 - 排查异常值:检查被挤压的数据集是否存在超出0-330范围的异常点(如误输入的超大值),过滤掉这些异常数据后再尝试绘图。
内容的提问来源于stack exchange,提问作者Liam Stiles
相关产品推荐
相关产品推荐

