无法在figu中添加传奇

2024-09-30 20:20:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我想给我的身材加上一个传奇,但它没有显示出来。在下面的代码中,“forecast_canvas”是在Qt Designer中创建的类画布的一个实例。在

    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()

下面是我画布的代码:

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()

在画布课上,但也没用。 enter image description here


Tags: 代码fromimportselfplotmatplotlib画布plt
1条回答
网友
1楼 · 发布于 2024-09-30 20:20:24

我认为你有两个问题:

  1. 您需要在创建绘图后添加图例。在
  2. 您可能无法使用pyplotplt.legend()),因为pyplot可能不包含任何图形。(我在这里说“may”,因为我不知道完整的代码)
    无论如何,将图例绘制到特定的轴上更安全;在这种情况下,请使用

    ax.legend()
    

相关问题 更多 >