Python Plotly 图例定位和格式化

tha*_*eow 4 python formatting legend plotly

如何将图例放在图表上方/下方并更改字体大小?我有一个包含 12 个长图例名称的图表。将图例放在右侧会影响图表。

另外我需要图例名称是水平的。不是所有的名字在垂直线上都会太长。

Max*_*ers 10

您可以通过设置中的orientation属性中的legend属性来layout 设置图例的方向:

layout = plotly.graph_objs.Layout(
    legend=dict(orientation="h")
)
Run Code Online (Sandbox Code Playgroud)

例如

import plotly

layout = dict()
trace1 = plotly.graph_objs.Bar(
    x=['giraffes', 'orangutans', 'monkeys'],
    y=[20, 14, 23],
    name="Stackoverflow's personal zoo without any real name but some really long text"
)
trace2 = plotly.graph_objs.Bar(
    x=['giraffes', 'orangutans', 'monkeys'],
    y=[12, 18, 29],
    name="Another zoo which doesn't have a name but but lots of superfluous characters"
)
trace3 = plotly.graph_objs.Bar(
    x=['giraffes', 'orangutans', 'monkeys'],
    y=[15, 12, 32],
    name="Yet another zoo with plenty of redundant information"
)

data = [trace1, trace2, trace3]
layout = plotly.graph_objs.Layout(
    barmode='group',
    legend=dict(orientation="h")
)

fig = dict(data=data, layout=layout)

plotly.plotly.sign_in('user', 'token')
plot_url = plotly.plotly.plot(fig)
Run Code Online (Sandbox Code Playgroud)

默认图例 默认图例 水平图例

水平图例