发布于 2020-08-10 20:28:30
在实践中,似乎没有办法实现你想要的(看看这个相似问题,它要求将数十亿的'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()

https://stackoverflow.com/questions/63345856
复制相似问题