Plotly:如何设置带有刻面的plotly.express图表的位置?

问题描述 投票:0回答:1

是否有办法更改标有的标题位置图

fig=px.histogram(df,x='x',facet_row='Date',color='c',
             barmode='overlay',facet_col='number',height=500)
for a in fig.layout.annotations:
    a.text = a.text.split("=")[1]
fig.show()

从每个子图中的右到中间?

enter image description here

python plotly
1个回答
0
投票

我不确定100%是否想将内容移动到什么地方,但这听起来像是希望将右侧的日期弹出到图表中各个构面之间的中间。在该图的结构中,这些是注释。您可以将它们放置在所需的任何位置,但是方式和位置将取决于您特定结构的结构。由于您尚未提供数据集,因此,我将使用plotly epress docs中的示例向您展示一些常规原理,这些示例将为您提供帮助。如果您提供数据集和功能完备的代码,我将可以为您提供详细信息。

图1:

enter image description here

代码1:

import plotly.express as px
df = px.data.tips()
fig = px.scatter(df, x="total_bill", y="tip", facet_row="time", facet_col="day", color="smoker", trendline="ols",
          category_orders={"day": ["Thur", "Fri", "Sat", "Sun"], "time": ["Lunch", "Dinner"]})
fig.show()

这里,与您要移动的元素相对应的元素是'time=Lunch''time=Dinner'。因此,在这种情况下,可以将元素放置在沿x轴的任意位置,如下所示:

代码:2

for i, a in enumerate(fig['layout']['annotations']):
  if a['text'][:4]=='time':
    a['x']=0.475
    a['font']=dict(size = 10, color='rgba(255,0,200,0.8)')
    print(a)
fig.show()

图:2

enter image description here

我知道这有点古怪,但是希望您会发现它有用。

© www.soinside.com 2019 - 2024. All rights reserved.