Python 在一个PyQT Gui窗口中添加几个熊猫图
Python 在一个PyQT Gui窗口中添加几个熊猫图,python,pandas,plot,pyqt,Python,Pandas,Plot,Pyqt,我想将绘图添加到pyqt ui 我在用熊猫做情节 data= pandas.DataFrame(pandas.read_sql(sql, my_connection)) data[data['GENERAL_TYPE']=='phone'].pivot_table('CEID','CONTACTED_PERSON_NEW','RESULT', aggfunc='count').plot(kind='bar', stacked=True, figsize=(10,10)) data[data['
我想将绘图添加到pyqt ui
我在用熊猫做情节
data= pandas.DataFrame(pandas.read_sql(sql, my_connection))
data[data['GENERAL_TYPE']=='phone'].pivot_table('CEID','CONTACTED_PERSON_NEW','RESULT', aggfunc='count').plot(kind='bar', stacked=True, figsize=(10,10))
data[data['GENERAL_TYPE']=='phone'].pivot_table(['CEID'],['CONTACTED_PERSON_NEW'],['DATA4_CAMP'], aggfunc='count').plot(kind='bar',figsize=(10,10), stacked=True)
data[data['GENERAL_TYPE']=='phone'].pivot_table(['CEID'],['CONTACTED_PERSON_NEW'], aggfunc='count').plot(kind='pie',subplots=True, legend=False, stacked=False, figsize=(10,10))
在此之后,我有几个情节:
如何使用此示例()
将我的绘图添加到一个窗口中的不同布局?您提供的示例不适用于我,而且它包含一个错误,如其中一条注释所述。在PyQt中嵌入时,不能使用
plt.figure()
,因为这将启动它自己的事件循环。必须改用matplotlib.Figure()
。我强烈建议您的代码基于Matplotlib文档,而不是基于“for Dummies”的答案
如果在PyQt中有一个常规Matplotlib绘图,则可以继续并尝试熊猫绘图。我对熊猫知之甚少,但在我看来,熊猫默认绘制到当前轴。当嵌入PyQt时,这将不起作用plt.figure()
设置当前轴,但我们必须使用matplotlib.figure()
以便没有当前轴。但是,我认为Pandas plot命令接受ax
关键字参数。这允许您传递自己的axes对象(在示例中使用self.axes=fig.add_子图(111)
定义)
在Matplotlib示例中,可以尝试替换
self.axes.plot(...)
使用Pandas plot命令并传递ax=self.axs
。像这样的
data[...].pivot_table(...).plot(ax=self.axes, ...)
如果这不起作用,我会问熊猫社区。我将添加一个标记