Plotly中的子图-袖扣:如何将两个子图放在同一图中

时间:2018-10-01 20:59:16

标签: python pandas matplotlib plotly iplots

我有两个不同的数据框,具有相同的列,并且我想创建一个交互式图并将两个子图放在同一图中。

avg1 = (flowData_AR.pivot_table(index=flowData_AR['TimeStamp'].dt.month.rename('month'),
                            values='Value', aggfunc=np.mean))

avg2 = (flowData_OIJ.pivot_table(index=flowData_OIJ['TimeStamp'].dt.month.rename('month'),
                            values='Value', aggfunc=np.mean))

avg1.iplot(kind='line', subplots=True,xTitle='Month', yTitle='Average', title='aaa')
avg2.iplot(kind='line',subplots=True, xTitle='Month', yTitle='Average', title='bbb')

我一直在尝试,并在https://plot.ly/ipython-notebooks/cufflinks/#dataframes上看到了示例,但我无法使用袖扣来做到这一点。

能请你帮我吗?

1 个答案:

答案 0 :(得分:0)

尽管有一些有关此问题的文档,但是在正确获取信息以进行子图绘制方面,我遇到了很多麻烦。这是我到目前为止获得的解决方案:

第一部分很重要,导入文档中描述的模块时遇到很多问题,因此“工具”是显然可以完成工作的子模块:

from plotly import tools 
import plotly.plotly as py
import plotly.graph_objs as go

#This generates the traces for the subplots:

trace1 = pol_part_corr_1.corr().iplot(kind='heatmap',colorscale="Reds")
trace2 = pol_part_corr_2.corr().iplot(kind='heatmap',colorscale="Reds")

#Create the plot matrix:
fig = tools.make_subplots(rows=2, cols=1)

#Add traces, in this case is a hitmap so the method used is 'add_traces', for other plots it might be 'append_trace'.

fig.add_traces(trace1)
fig.add_traces(trace2)

fig['layout'].update(height=600, width=600, title='PARTICLES CORRELATION')
py.plot(fig, filename='subplots-shared-xaxes')