假设我想制作一个子图,每个面板都有自己的 y 轴刻度:
import plotly.express as px
fig = px.scatter(px.data.iris(), x='sepal_length', y='sepal_width', facet_col='species')
def update(y):
y.update(matches=None)
y.showticklabels=True
fig.for_each_yaxis(update)
现在假设我想要添加一些注释,位置将根据分面变量而变化,并且我有一个数据框:
如果我正在使用plotnine/ggplot,可以这样做:
ggplot(df_iris, aes(x='sepal_length', y='sepal_width')) + geom_point() + facet_wrap("~species", scales="free_y") + geom_text(aes(x='x', y='y', label='label'), data=df_text)
在plotly中能否实现这个效果?我陷入了子图和注释的泥潭,我知道你可以向子图添加注释,但你必须知道行列数目才能这样做,而我不确定如何将划分变量(物种)映射到子图的行/列索引。
谢谢 :)