Python Pyplot-标签图

Python Pyplot-标签图,python,graphing,matplotlib,Python,Graphing,Matplotlib,我做了一个噩梦,试图用pyplot标记数据 我目前正在像这样绘制我的所有数据:plt.plot(data) 数据是一个数组,它有一列总成本,然后是其他列的子成本 我想添加一个图例,并适当地标记每个数据列表。但我似乎无法让传说发挥作用。plt.legend('Column 1','Column 2','etc.),loc=1)和其他类似的东西都不起作用。如果我单独绘制每一列,它会因某种原因停止正常工作 我期待并感谢您的建议 编辑: 编辑2: 我没有将代码放在程序中的不同位置,而是对其进行了重新组织

我做了一个噩梦,试图用pyplot标记数据

我目前正在像这样绘制我的所有数据:plt.plot(data)

数据是一个数组,它有一列总成本,然后是其他列的子成本

我想添加一个图例,并适当地标记每个数据列表。但我似乎无法让传说发挥作用。plt.legend('Column 1','Column 2','etc.),loc=1)和其他类似的东西都不起作用。如果我单独绘制每一列,它会因某种原因停止正常工作

我期待并感谢您的建议

编辑:

编辑2: 我没有将代码放在程序中的不同位置,而是对其进行了重新组织并集中了所有内容。随着这些变化,传奇开始生效,一切似乎都得到了解决。我不知道问题是什么

plt.plot(data)
plt.legend(('Total Cost', 'Construction Cost', 'Gas Cost','Wage Cost'),loc=0)
plt.grid(False)
plt.xlabel('Time (Days)')
plt.ylabel('Cost in US Dollars')
plt.title('Economic Cost over Time')
print ('   Close the Graph to Continue Using this Model')
plt.show()

您的代码正确显示图例,在Mac OS X上使用Matplotlib 1.1,前提是:

  • Matplotlib在开始时处于交互模式:
    plt.ion()
  • 例如,代码以plt.show()结尾
升级Matplotlib也可能有所帮助


最后一种可能的解决方案是使用自己的标签单独绘制每一行:
plt.plot(,label='Construction')
等,并使用
plt.legend(loc='best')
绘制图例,而不是在plt内传递标题。legend()u可以创建图例列表并将它们传递给您的绘图ie,
legends=[“总成本”、“建筑成本”、“天然气成本”、“工资成本”]
plt.绘图(数据、标签=图例)

plt.legend()

能否提供更完整的示例代码?我有一种预感,扩展数据和ydata的赋值有问题。x轴应该是什么?第一列数据是什么?我正在运行python3.2和最新matplotlib的一个端口,以便它与我的64位计算机一起工作。我还没有尝试过ION,当我自己绘制数据时,显示的结果不再准确。所有的线在中间变为零。
plt.plot(data)
plt.legend(('Total Cost', 'Construction Cost', 'Gas Cost','Wage Cost'),loc=0)
plt.grid(False)
plt.xlabel('Time (Days)')
plt.ylabel('Cost in US Dollars')
plt.title('Economic Cost over Time')
print ('   Close the Graph to Continue Using this Model')
plt.show()