在主窗口中绘制图形时遇到问题。
我在主窗口使用QtDesigner。
在其中一个horizontal_layout中,我想显示一个图表。
以下是我用于生成图表的代码:
def plotDistribution(dataToPlot, layout, numRows, nowCols):
""" Delete previous elements in layout if any"""
for i in reversed(range(layout.count())):
layout.itemAt(i).widget().deleteLater()
plt.ioff()
""" Extract data to plot """
xdata = [i[0] for i in dataToPlot]
ydata = [i[3] for i in dataToPlot]
fig, ax = plt.subplots()
""" Format label ticks and values for X and Y"""
xticksPos = np.arange(50,(100*numRows)+50,100)
xticksVals = ["Row "+str(i) for i in np.arange(1,max(xdata),1) ]
plt.xticks(xticksPos ,xticksVals ,rotation=90)
yticksPos = np.arange(83,(166*numCols)+83,166)
yticksVals = ["Column "+str(i) for i in np.arange(1,max(ydata),1) ]
plt.yticks((yticksPos),(yticksVals))
plt.title("Rows and Cols Distributuion")
""" Create canvas and display in Main Window """
MyCanvas = FigureCanvas(fig)
layout.addWidget(MyCanvas)
plt.close(fig)
这个程序是从主窗口调用的,给他一些绘图数据和我希望图形显示的布局。
但是,如果我多次调用同一个例程,则在第一次之后,标题或轴中都不会显示任何内容。
我不明白这种罕见的行为。
任何帮助??