在Plotly中,是否有办法以十六进制格式而不是大的科学数字来显示给定轴的刻度?这对绘制地址轨迹很有用。
你可以用 [str(hex(elem)) for elem in [1000000, ..., 5000000]
剧情。
需要注意的一些细节。
据我所知,你必须使用一个字符串类型的列表来获得所需的行为。值,如 [1000000, 2000000, 3000000, 4000000, 5000000]
默认情况下会显示为。
而这也会发生在 [str(hex(elem)) for elem in xVals]
. 所以你必须明确指示 plotly 将 ticks 显示为字符串。
fig.update_xaxes(tickmode = 'array',
tickvals = xHex,
ticktext= xHex)
完整的代码。
# imports
import plotly.express as px
import plotly.graph_objs as go
import pandas as pd
import numpy as np
import plotly.express as px
xVals = [1000000, 2000000, 3000000, 4000000, 5000000]
xHex = [str(hex(elem)) for elem in xVals]
fig = px.scatter(x=xHex, y=[0, 1, 4, 9, 16])
fig.show()
fig.update_xaxes(tickmode = 'array',
tickvals = xHex,
ticktext= xHex)