Я пытаюсь вывести график с идентификаторами по оси x и числами по оси y. Теперь мне трудно увидеть сам график, так как идентификаторы слишком длинные. Я не хочу удалять все идентификаторы, и мне просто нужно, например, последние несколько букв каждого. Кто-нибудь знает, есть ли в Plotly Express что-то вроде регулярного выражения для меток?
Как сократить и показать только часть текста по оси сюжетного экспресса?
Ответы (1)
Чтобы сократить метки делений на оси X, вы можете либо заранее изменить идентификаторы своего столбца, изменив фрейм данных, либо использовать .update_layout()
для последующего изменения меток делений.
См. также: https://plotly.com/python/tick-formatting/
Этот вопрос + ответ связан: Plotly: как установить пользовательские xticks
Пример кода:
import uuid
import numpy as np
import pandas as pd
import plotly.express as px
# generating some sample data and dataframe
length = 4
data = {
'colA': [str(uuid.uuid4()) for i in range(length)],
'colB': np.random.normal(size=length)
}
df = pd.DataFrame(data)
# create scatter plot
fig = px.scatter(data_frame=df, x='colA', y='colB', width=600, height=400)
# overwrite tick labels
fig.update_layout(
xaxis = {
'tickmode': 'array',
'tickvals': list(range(length)),
'ticktext': df['colA'].str.slice(-6).tolist(),
}
)
Результирующий график:
person
Sander van den Oord
schedule
06.03.2021