我想我快疯了。我正在尝试为我的plotly go 条形图配置 y 轴刻度。 这是一个带有
barnorm='percent'
的堆叠条形图,表示所有条形总计达到 100%。
但是,我似乎无法让刻度线正常工作。
阅读来自plotly的文档除了他们似乎认为这是默认行为之外什么也没有给出,并将我转发到底层框架d3,它有一个用于定义刻度的严格系统。可悲的是,我对此一无所知。
如果我在
tickformat='%'
中选择 update_layout
,则 100% 的刻度为 10000.000000%
。
如果我选择
tickformat='p'
,则 100% 的刻度为 10000%
。
这两种方法似乎都将我的值乘以 100。这不是我想要的,因为plotly 从一开始就有正确的数字。我似乎不知道应该如何做,我现在已经投入了很多时间,我希望有人可以提供帮助。我的代码如下:
animals=['giraffes', 'orangutans', 'monkeys']
fig = go.Figure(data=[
go.Bar(name='SF Zoo', x=animals, y=[20, 14, 23]),
go.Bar(name='LA Zoo', x=animals, y=[12, 18, 29])
])
# Change the bar mode
fig.update_layout(
barmode='stack',
barnorm = 'percent',
font_family="Roboto",
font_size=15,
yaxis = dict(tickformat='%'),
showlegend=True
)
fig.show()
(尝试上传条形图的图像,但收到一些服务器错误)
您应该删除
yaxis = dict(tickformat='%')
并添加以下内容:
fig.update_layout(yaxis_ticksuffix = '%')
您需要阅读更多内容此处以了解有关 Plotly 如何与百分号配合使用的更多信息。
我一直在寻找类似的解决方案。我想在 y 刻度中添加“%”符号,而不是乘以 100。目前使用
fig.update_yaxes(secondary_y=True, tickformat=".0%")
。但它会将 y 轴值乘以 100。尝试过
fig.update_layout(yaxis_ticksuffix = '%')
也是如此,但百分号没有出现。它也添加百分号吗?
预先感谢。