如何解决Plotly.py:将轴单位强制为千k,而不是百万M
由于我的x轴上的数字较大,因此以百万为单位显示(即 25.8512M )。但是,我想强制将格式改为显示成几千种(即 25,851.2k )。
import plotly.graph_objects as go
fig = go.Figure(data = [go.Scatter(x = [25.851e6,25.852e6],y = [0,1])])
fig.show()
例如,按照此SO question和此d-3 format API reference中的建议,我尝试将轴tickformat
设置为',.6s'
,但是没有运气。
有什么建议吗?
解决方法
似乎无法在Plotly中完成所需的操作(请看此similar question,要求将数十亿个“ B”格式化为数百万个“ M”)
我能想到的最好的解决方案是将您的数据从数百万转换为数千,添加字母“ k”,并将此字符串列表用作tickvalues
。不太优雅,但希望它能实现您想要的。
import plotly.graph_objects as go
vals_in_millions = [25.851e6,25.852e6]
fig = go.Figure(data = [go.Scatter(x = vals_in_millions,y = [0,1])])
def convert_million_to_thousands(values):
return [str(num/1000)+'k' for num in values]
fig.update_layout(
xaxis = dict(
tickmode = 'array',tickvals = vals_in_millions,ticktext = convert_million_to_thousands(vals_in_millions)
)
)
fig.show()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。