我想为我的人物添加图例,但它没有显示。在下面的代码中,“forecast_canvas”是在 Qt Designer 中创建的 Canvas 类的实例。
ax = self.forecast_canvas.figure.add_subplot(111) ax.plot(self.new,'--',label='observed') ax.plot(data,color='green',label='Forecast') self.forecast_canvas.draw()
这是我的 Canvas 的代码:
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
import matplotlib.pyplot as plt from PyQt4 import QtGui
class Canvas(FigureCanvas):
def __init__(self, parent=None):
self.figure = plt.figure() #plt.tight_layout(pad=4)
FigureCanvas.__init__(self, self.figure)
self.setParent(parent)
FigureCanvas.setSizePolicy(self,
QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Expanding)
FigureCanvas.updateGeometry(self)
#plt.legend()
我尝试添加
plt.legend()
最佳答案
我认为您有两个问题:
- 您需要在创建绘图之后添加图例。
您可能无法使用
pyplot
(plt.legend()
),因为 pyplot 可能不包含任何图形。 (我在这里说“可能”,因为我不知道完整的代码)
无论如何,将图例绘制到特定的轴上会更安全;在这种情况下使用ax.legend()
关于python - 无法在图中添加图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45677059/