修改Plotly中legend2的布局

0 投票
1 回答
29 浏览
提问于 2025-04-14 17:42

如何使用 fig.update_layout() 来改变 legend2 的布局?

import plotly.express as px
import pandas as pd
numbers = pd.DataFrame([[1,2,3,4], [2,3,4,5], [5,7,8,8]])
asdf = px.line(numbers)
asdf = asdf.add_scatter(
    x=[4,3],
    y=[1,2],
    legend="legend2"
)
asdf = asdf.update_layout(
    legend_font=dict(size=20),
    legend2_font=dict(size=20),
)
asdf

1 个回答

0

所谓的“魔法下划线”写法在更新 layout.legend2 时并不完全有效,因为在布局中并没有默认的 legend2,即使它被某个散点图引用了(这和坐标轴不同,比如提到 'x2' 时,plotly 会自动定义 layout.xaxis2)。

所以,要让它正常工作,你需要把 legend2 定义为一个字典,在这个字典下面,你可以使用下划线快捷方式:

asdf.update_layout(
    legend_font_size=20,
    legend2=dict(font_size=20, y=0.8)
)

撰写回答