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

使用twinx创建双Y轴散点图时遇numpy.ndarray无twinx属性错误

错误修复:'numpy.ndarray' object has no attribute 'twinx'

错误原因

cx是plt.subplots返回的子图数组(numpy.ndarray类型),你直接对整个数组调用twinx(),但twinx()是单个Axes对象的专属方法,数组没有这个属性,因此触发报错。

修正后的完整代码

import matplotlib.pyplot as plt
import pandas as pd

# 假设已完成数据导入:Helium1 = pd.read_excel("你的Excel文件路径.xlsx")

fig, cx = plt.subplots(nrows=1, ncols=4, figsize=(15,5))

# 第一个子图:双Y轴配置
# 主Y轴:Pref (Bar)
ax_main = cx[0]
ax_main.scatter(Helium1['ΔT(s)'], Helium1['Pref (Bar)'], marker='x', color='black')
ax_main.set_xlabel('ΔT(s)')
ax_main.set_ylabel('Pref (Bar)')
ax_main.set_title('Uncorrected Pressure')
ax_main.tick_params(axis='y', labelcolor='black')

# 副Y轴:Temp(°C)
ax_twin = ax_main.twinx()
ax_twin.scatter(Helium1['ΔT(s)'], Helium1['Temp(°C)'], marker='x', color='red')
ax_twin.set_ylabel('Temp(°C)')
ax_twin.tick_params(axis='y', labelcolor='red')

# 第二个子图:温度修正压力
cx[1].scatter(Helium1['ΔT(s)'], Helium1['Pref,t (Bar)'], marker='v', color='orange')
cx[1].set_xlabel('ΔT(s)')
cx[1].set_ylabel('Pref,t (Bar)')
cx[1].set_title('Temperature Corrected Pressure')
cx[1].tick_params(axis='y', labelcolor='black')

# 第三个子图:泄漏修正(修复重复绘图问题)
cx[2].scatter(Helium1['ΔT(s)'], Helium1['Pref,l (Bar)'], marker='v', color='yellow', label='Pref,l')
cx[2].scatter(Helium1['ΔT(s)'], Helium1['Pref,t (Bar)'], marker='^', color='orange', label='Pref,t')
cx[2].set_xlabel('ΔT(s)')
cx[2].set_ylabel('Pressure (Bar)')
cx[2].set_title('Leak Correction')
cx[2].legend()
cx[2].tick_params(axis='y', labelcolor='black')

# 第四个子图:泄漏修正后压力
cx[3].scatter(Helium1['ΔT(s)'], Helium1['Pref,l (Bar)'], marker='v', color='yellow')
cx[3].set_xlabel('ΔT(s)')
cx[3].set_ylabel('Pref,l (Bar)')
cx[3].set_title('Leak Corrected Pressure')
cx[3].tick_params(axis='y', labelcolor='black')

plt.tight_layout()  # 自动调整子图间距,避免标签重叠
plt.show()

额外修正说明

  1. 修正双Y轴副轴的标签错误,将原错误的Pref (Bar)改为Temp(°C)
  2. 修复第三个子图重复调用scatter和设置标题的问题,添加图例区分两组数据
  3. 统一颜色字符串为小写,符合matplotlib常用规范
  4. 增加plt.tight_layout()避免子图标题、标签出现重叠

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 20:43:16