我有一个带有数字yaxis的python情节图,它会自动将yaxis数字格式化为'k'刻度,并且当悬停该点时,显示的值如115.277258k。
如何将比例更改为显示100,000而不是100k,并格式化悬停文本以显示115,2772.58而不是115.277258k?
目前使用循环绘制多个子图。
for i in range(1, allcities.size + 1):
for col in ['total_inflow', 'total_outflow', 'total_withdraw', 'total_account']:
plot_data = hist[hist['city_id'] == allcities[i - 1]]
plot_data = plot_data.merge(datelist, on='balance_date', how='right')
fig.append_trace({'x': plot_data['balance_date'],
'y': round(plot_data[col], 2),
'type': 'scatter',
'mode': 'lines',
'line': dict(color=line_colors[col]),
'showlegend': False,
'name': line_legends[col]
}, i + 1, 1)
感谢!!!
答案 0 :(得分:0)
您可以像这样更改go.Scatter()
的悬停模板:
hovertemplate = 'y:%{y:20,.2f}'
您可以使用update_layout(yaxis=dict())
来编辑刻度标签,如下所示:
yaxis=dict(tickformat="20,.2f")
情节:
完整代码:
import plotly.graph_objects as go
import numpy as np
x = np.arange(10)
fig = go.Figure(data=go.Scatter(x=x**6, y=x**4,
mode='lines+markers',
hovertemplate = '<i>y</i>:%{y:20,.2f}'+ '<br><b>x</b>: %{x}<br>',
fig.update_layout(yaxis=dict(tickformat="20,.2f"),
xaxis=dict(tickformat="20,.2f", tickangle = 0))
fig.show()