【问题标题】:Percentage ticks in plotly without multiplying with 100不乘以 100 的刻度百分比
【发布时间】:2022-10-13 23:05:33
【问题描述】:

我想我快疯了。我正在尝试为我的 plotly go 条形图配置 y 轴刻度。 这是一个带有barnorm='percent' 的堆积条形图,这意味着所有条形的总数达到 100 %。 但是,我似乎无法让蜱正常工作。

阅读the documentation from plotly 只给出了他们似乎认为这是默认行为并将我转发到具有a rigorous system for defining ticks 的底层框架d3 的信息。可悲的是,我无法理解它。

如果我在 update_layout 中选择 tickformat='%',则 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()

(试图上传条形图的图像,但从 SO 得到一些服务器错误)

【问题讨论】:

  • 您想将百分号添加到 y 轴的刻度,对吗?因为我删除了yaxis = dict(tickformat='%'),,所以在没有% 的情况下它可以正常工作。
  • @Hamzah 是的,这就是我想要的!不幸的是,我仍然无法上传图片来展示。但是,如果我删除该设置,y 轴的数字将正确(100)但没有百分号,这就是我想要的(100%)。

标签: python d3.js plotly


【解决方案1】:

您应该删除 yaxis = dict(tickformat='%') 并添加以下内容:

fig.update_layout(yaxis_ticksuffix = '%')

您需要阅读更多 here 以了解更多关于 Plotly 如何使用百分号的信息。

【讨论】:

    猜你喜欢
    • 2015-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-07
    • 1970-01-01
    • 2011-08-24
    • 2021-02-28
    • 1970-01-01
    相关资源
    最近更新 更多