如何在Python中绘制形状为(43,9)的数组的所有行曲线?
解决方法:将(43,9)数组的每一行绘制成单独曲线
plt.plot() 默认会把二维数组的每一列作为一条曲线绘制。你的数组形状是(43,9),所以原代码会生成9条曲线(对应9列),而非你需要的43条(对应43行)。
方案1:转置数组后绘制
直接对数组转置,让原数组的行变为列,这样plt.plot()就会按原行生成曲线:
import matplotlib.pyplot as plt import numpy as np # 假设a是你的(43,9)数组 plt.plot(a.T) # 转置数组,将行转为列 plt.show()
方案2:遍历每一行逐一绘制
如果需要更灵活地控制单条曲线样式,可循环遍历数组的每一行逐个绘制:
import matplotlib.pyplot as plt import numpy as np for row in a: plt.plot(row) plt.show()
可选优化:区分曲线(按需使用)
若需要区分不同曲线,可添加颜色映射或标签:
# 使用颜色映射区分不同行的曲线 plt.plot(a.T, c=np.linspace(0, 1, 43), cmap='viridis') plt.colorbar(label='行索引') plt.show() # 给每条曲线添加标签(43条曲线图例较拥挤,适合少量行时使用) for idx, row in enumerate(a): plt.plot(row, label=f'行 {idx+1}') plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left') plt.show()
内容的提问来源于stack exchange,提问作者david
相关产品推荐
相关产品推荐

