Plotly:如何用构面设置plotly.express图表的位置?

时间:2020-05-09 06:44:17

标签: python plotly

有没有办法更改标有的标题位置图

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

1 个答案:

答案 0 :(得分:1)

我不是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

我知道这是一个有点棘手的方法,但我希望您会发现它有用。