我在matplotlib中绘制数据时遇到问题

时间:2017-07-24 19:54:13

标签: python matplotlib

我写过这个,但它没有正确显示为折线图。我究竟做错了什么? Normalpwr是我的所有x坐标,对应于axfuelline作为我的y坐标。我感谢任何帮助/提示!

normalpwr = [0.232, 0.397, 0.562, 0.681, 0.754, 0.797, 0.83, 0.843, 0.855, 0.867, 0.883, 0.9, 0.921, 0.943, 0.967, 0.992, 1.017, 1.043, 1.068, 1.092, 1.115, 1.137, 1.157, 1.176, 1.193, 1.209, 1.224, 1.236, 1.249, 1.261, 1.272, 1.283, 1.292, 1.289, 1.274, 1.234, 1.174, 1.048, 0.86, 0.61, 0.361]
axfuelline = [0.000, 0.025, 0.050, 0.075, 0.100, 0.125, 0.150, 0.175, 0.2, 0.225, 0.25, 0.275, 0.3, 0.325, 0.35, 0.375, 0.4, 0.425, 0.450, 0.475, 0.5, 0.525, 0.550, 0.575, 0.6, 0.625, 0.650, 0.675, 0.7, 0.725, 0.750, 0.8, 0.825, 0.85, 0.875, 0.9, 0.925, 0.950, 0.975, 1]
x = normalpwr[i]
y = axfuelline[i]
plt.plot(x,y, 'ro')
plt.show()

1 个答案:

答案 0 :(得分:1)

首先,您的列表大小不同。 normalpwr 的长度为41,而 axfuelline 的长度为40.

除此之外,您还想绘制折线图。你是在正确的方式,但你不应该在定义x和y时添加[i],因为这表明你想使用索引(它告诉代码使用列表的一部分)。

相反,你想使用:

    x = normalpwr
    y = axfuelline
    plt.plot(x,y)
    plt.show()

请注意,我还从绘图函数中删除了'ro',因为这会将点绘制为红点,而不是一条线。