Python绘制T-t曲线报错:x与y需具有相同第一维度
解决x和y维度不匹配的绘图错误
问题原因
你生成的T和t元素数量不一致:
np.random.exponential(3,50)生成了50个指数分布的随机数np.arange(0,15,1)生成了15个从0到14的整数
绘图要求x轴(t)和y轴(T)的元素数量完全相同,因此触发x and y must have same first dimension错误。
两种解决方案
方案1:调整T的长度与t一致
如果你的t序列(0-14的整数)是固定需求,把np.random.exponential的size参数改成15,让T的元素数量匹配t:
import numpy as np import matplotlib.pyplot as plt # 生成15个指数分布数据,和t的长度一致 T = np.random.exponential(3, 15) t = np.arange(0, 15, 1) # 绘制曲线 plt.plot(t, T) plt.xlabel('t') plt.ylabel('T') plt.show()
方案2:调整t的长度与T一致
如果需要保留50个T数据点,调整t的生成方式,让它包含50个元素(比如用np.linspace生成等间隔序列):
import numpy as np import matplotlib.pyplot as plt T = np.random.exponential(3, 50) # 生成0到14之间的50个等间隔数值,和T的长度一致 t = np.linspace(0, 14, 50) # 绘制曲线 plt.plot(t, T) plt.xlabel('t') plt.ylabel('T') plt.show()
选择建议
- 若业务逻辑要求
t为0-14的整数序列,选方案1 - 若需要保留更多的T数据点,选方案2,可根据需求调整
t的范围和间隔
内容的提问来源于stack exchange,提问作者Sylvia
相关产品推荐
相关产品推荐

