【问题标题】:I am having trouble graphing data in matplotlib我在 matplotlib 中绘制数据时遇到问题
【发布时间】:2017-07-24 19:54:12
【问题描述】:

我已经写了这个,但它没有正确显示为折线图。我究竟做错了什么? Normalpwr 将我所有与 axfuelline 对应的 x 坐标作为我的 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()

【问题讨论】:

  • 什么是“我”?你要求它绘制一个点。除此之外你还有什么问题吗?
  • 我是什么?如果 i 是一个数字数组,那么它应该没问题。否则。您只是在绘制一个数字与另一个数字
  • 您的代码最终会与几天前我answered 的问题类似。看看他在做什么,以及为什么我建议解决问题

标签: python matplotlib


【解决方案1】:

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

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

相反,你想使用:

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

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

【讨论】:

    猜你喜欢
    • 2021-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 2020-05-31
    相关资源
    最近更新 更多