Plotly: как отобразить тики оси в шестнадцатеричном формате? - PullRequest
2 голосов
/ 06 мая 2020

В графическом виде, есть ли способ отображать отметки данной оси в шестнадцатеричном формате, а не как большое научное c число? Это полезно для построения трассировки адресов

1 Ответ

2 голосов
/ 06 мая 2020

Вы можете сделать это с помощью [str(hex(elem)) for elem in [1000000, ..., 5000000]

График:

enter image description here

Некоторые подробности, о которых нужно знать:

Насколько мне известно, вам нужно будет использовать список строк типа для получения желаемого поведения. Такие значения, как [1000000, 2000000, 3000000, 4000000, 5000000], по умолчанию будут отображаться как:

enter image description here

И это произойдет даже для [str(hex(elem)) for elem in xVals]. Таким образом, вам придется явно указать, что тики должны отображаться в виде строк:

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)
...