plotly 中的刻面标签

facet labels in plotly

我想更改 plotly(_express) 图中的刻面标签。情节如下:

import plotly.express as px
tips = px.data.tips()
fig = px.scatter(tips, x="total_bill", y="tip", color="smoker", facet_col="sex")
fig.show()

我想要的是从标签中删除 sex=

更新:从 2019 年 10 月的 plotly 4.2 版开始,https://plotly.com/python/facet-plots/#customize-subplot-figure-titles

上的文档建议使用 for_each_annotation 的以下用法
import plotly.express as px

fig = px.scatter(px.data.tips(), x="total_bill", y="tip", facet_row="sex")

fig.for_each_annotation(lambda a: a.update(text=a.text.split("=")[-1]))

fig.show()

最简单的方法是遍历注释:

for a in fig.layout.annotations:
    a.text = a.text.split("=")[1]