我设法在使用 QtDesigner 创建的应用程序的主窗口中绘制了一个多条图,我遇到的问题是每次我尝试绘制时我都有两个相同的图,一个在应用程序内部(这就是我想要),但也有另一个在一个独立的窗口(我不想显示)。
有什么帮助吗?这是我用来在主窗口中生成绘图的代码:
这里创建任何情节的方法:
import numpy as np
import matplotlib.pyplot as plt
def drawPlot(x,y, y_O):
n_groups = len(x)
fig, ax = plt.subplots()
index = np.arange(n_groups)
bar_width = 0.35
opacity = 0.4
error_config = {'ecolor': '0.3'}
rects1 = plt.bar(x, y, bar_width, alpha=opacity, color='b',label='label1')
for i in range(len(x)):
x[i] = x[i] + bar_width
rects2 = plt.bar(x , y_O, bar_width, alpha=opacity, color='r',label='label2')
plt.xlabel('Reading')
plt.ylabel('Value (%)')
plt.xticks(index + bar_width , (x))
plt.legend()
plt.tight_layout()
return fig
这里是 mainWindow 代码的一部分,我尝试将生成的绘图包含在专用空间中:
....
....
thePlot = tm.drawPlot(x,y,y_O)
MyCanvas = FigureCanvas(thePlot)
self.ui.horizontalLayoutGraph2_2.addWidget(MyCanvas)
...
...
正如我所说,我得到了两个相同的图,一个在水平布局内(OK)和一个弹出独立窗口中的相同图(不行)