如何在“ fig”中子图“ pie1”,使其位于“第一个”位置。这就是我的做法,但无法解决
import pandas as pd
import numpy as np
import seaborn as sns
import plotly.offline as pyp
import plotly.graph_objs as go
from plotly import tools
import plotly.plotly as py
from plotly.offline import iplot,init_notebook_mode
from IPython.core.display import HTML
import plotly.io
df1=pd.read_excel('file.xlsx',sheet_name='sheet1',index=False)
con_pivot=pd.pivot_table(con,index='Category',values=('Payment'),aggfunc='sum',margins=True,margins_name='Total')
fig = tools.make_subplots(rows=2, cols=2, subplot_titles=('The first','3','2','4'))
pie1=go.Pie(labels=con_pivot.index,values=con_pivot.values)
fig.append_trace(pie1,1,1)
pyo.plot(fig)
任何帮助将不胜感激。 谢谢
答案 0 :(得分:1)
以下是通过使用make_subplots
函数来实现并排饼图的方法(非常感谢@Oysiyl的输入数据):
from plotly.subplots import make_subplots
import plotly.graph_objects as go
from plotly.offline import plot
fig = make_subplots(rows=1, cols=2, specs=[[{"type": "pie"}, {"type": "pie"}]])
fig.add_trace(go.Pie(
values=[16, 15, 12, 6, 5, 4, 42],
labels=["US", "China", "European Union", "Russian Federation",
"Brazil", "India", "Rest of World"
],
domain=dict(x=[0, 0.5]),
name="GHG Emissions"),
row=1, col=1)
fig.add_trace(go.Pie(
values=[27, 11, 25, 8, 1, 3, 25],
labels=["US", "China", "European Union", "Russian Federation",
"Brazil", "India", "Rest of World"
],
domain=dict(x=[0.5, 1.0]),
name="CO2 Emissions"),
row=1, col=2)
plot(fig)
答案 1 :(得分:0)
您应该查看domain参数以从饼图进行子图绘制。例如,要在1行(x轴)中绘制两个饼图,您可以指定第一和第二个绘图所占的位置(第一个绘图从0%到50%,第二个绘图从50%到100%)。>
代码:
from plotly import tools
import plotly.offline as py
import plotly.graph_objs as go
trace1 = go.Pie(
values=[16, 15, 12, 6, 5, 4, 42],
labels=["US", "China", "European Union", "Russian Federation",
"Brazil", "India", "Rest of World"
],
domain=dict(x=[0, 0.5]),
name="GHG Emissions",
hoverinfo="label+percent+name",
)
trace2 = go.Pie(
values=[27, 11, 25, 8, 1, 3, 25],
labels=["US", "China", "European Union", "Russian Federation",
"Brazil", "India", "Rest of World"
],
domain=dict(x=[0.5, 1.0]),
name="CO2 Emissions",
hoverinfo="label+percent+name",
)
layout = go.Layout(title="Global Emissions 1990-2011",)
data = [trace1, trace2]
fig = go.Figure(data=data, layout=layout)
py.plot(fig, filename='simple-pie-subplot')
输出: 如果需要,您还可以检查documentation并在此处找到2x2子图的示例。