我对 Python 绘图是新手,但我试图对不同的人群进行 PCA;虽然我仍在处理实际数据,但与
R
相比,我在 Python 中进行可视化时遇到的主要问题是,这并不能让事情变得非常容易......
具体来说,我花了一些时间弄清楚如何设置绘图的布局,但我无法让图例标题显示在图例本身的中间。
据说,
title_side
中有一个选项应该这样做;然而,它反而破坏了情节传说。如果有人有这方面的经验,任何帮助将不胜感激。下面是绘图和 PCA 图的代码。
fig = px.scatter(pca, x='PC1', y='PC2', color='#LOC', template="seaborn")
fig.update_layout(legend=dict(
title="<i> metapopulation <i>",
title_side="top",
orientation="h",
entrywidthmode='fraction',
entrywidth=.2,
x=.5),
autosize=False,
height=800,
width=800
)
fig.update_xaxes(title_text = f"PC1 ( {pve.at[pve.index[0], 0]} %)",
range=(-0.05, 0.2),
constrain='domain')
fig.update_yaxes(title_text = f"PC2 ( {pve.at[pve.index[1], 0]} %)",
scaleanchor="x",
scaleratio=1)
fig.show()
您可以尝试将
title
更改为包含两个属性 text
和 side
的字典吗?由于我们使用图例作为 dict
那么我们不能使用 legend_title_side
,因为它不是 fig.update_layout
根字典的一部分
根据文档:
代码:fig.update_layout(legend_title_side=
) 类型:枚举,以下之一
尊重地确定图例标题的位置 到图例项目。默认为“top”,
为“h”。 默认为“左”,orientation
为“v”。 “左上角”选项 可用于扩展顶部中心和右上角用于水平 在 x 和 y 两侧对齐图例区域。orientation
代码:fig.update_layout(legend_title_text=)
类型:字符串
默认值:“”设置图例的标题。
fig.update_layout(legend=dict(
title=dict(
text="<i> metapopulation <i>",
side="top center"
),
orientation="h",
entrywidthmode='fraction',
entrywidth=.2,
x=.5),
autosize=False,
height=800,
width=800
)