如果我使用plotly创建水平条形图,则每个条形的标签都将紧靠该图。我想在标签和图形之间添加一些空格/填充/边距。我怎样才能做到这一点?
示例:
import plotly.offline as py
import plotly.graph_objs as go
labels = ['Alice','Bob','Carl']
vals = [2,5,4]
data = [go.Bar(x=vals, y=labels, orientation='h')]
fig = go.Figure(data)
py.iplot(fig)
答案 0 :(得分:3)
只需在pad
中使用参数margin
。检查来自文档here的示例。
代码:
import plotly.offline as py
import plotly.graph_objs as go
labels = ['Alice','Bob','Carl']
vals = [2,5,4]
data = [go.Bar(x=vals, y=labels, orientation='h')]
layout = go.Layout(
margin=dict(
pad=20
),
title = 'hbar',
)
fig = go.Figure(data=data,layout=layout)
py.plot(fig, filename='horizontal-bar.html')
答案 1 :(得分:0)
我认为您可以添加一些这样的代码。
import plotly.offline as py
import plotly.graph_objs as go
labels = ['Alice','Bob','Carl']
vals = [2,5,4]
data = [go.Bar(x=vals, y=labels, orientation='h')]
layout = dict(yaxis=dict(ticksuffix=" "))
fig = go.Figure(data=data,layout=layout)
py.iplot(fig)
添加后缀可以轻松解决此问题。我已经检查了引用plotly ref,它也有更合适的名为tickformat
的密钥,但是很难使用,所以我没有使用它。
答案 2 :(得分:0)
更短的解决方案:
fig.update_layout(margin_pad=10)