Как сократить и показать только часть текста по оси сюжетного экспресса?

Я пытаюсь вывести график с идентификаторами по оси x и числами по оси y. Теперь мне трудно увидеть сам график, так как идентификаторы слишком длинные. Я не хочу удалять все идентификаторы, и мне просто нужно, например, последние несколько букв каждого. Кто-нибудь знает, есть ли в Plotly Express что-то вроде регулярного выражения для меток? введите здесь описание изображения


person mitra mirshafiee    schedule 06.03.2021    source источник


Ответы (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(),
    }
)

Результирующий график:

использование update_layout() для настройки галочек

person Sander van den Oord    schedule 06.03.2021