Plotly: Как избежать группировки категорий x и y, используя go .Heatmap? - PullRequest
1 голос
/ 01 мая 2020

Привет. Я хочу создать тепловую карту, используя Plotly, например:

https://drive.google.com/uc?export=view&id=1594s6eo3VfxRXrS-2asrGeiFAT-08G-w

Проблема в том, что Plotly индексирует x столбцов. Те же имена столбцов вызывают проблемы в моем коде.

https://drive.google.com/uc?export=view&id=1_KqOzzoikoKHd8TMNP20T4hDfy03KD8G

Я хочу, чтобы мои столбцы по оси X отображали «T, G, G, G, A», но в настоящее время они отображаются как «T , G, A».

Как мне сделать так, чтобы мой x-столбец отображал «T, G, G, G, A»?

Мой код выглядит следующим образом:

import plotly.graph_objects as go
import numpy as np
z = np.random.rand(4,5)
y = ['A','C','G','T']
x = ['T', 'G', 'G', 'G', 'A']
fig = go.Figure(
    data = go.Heatmap(z=z, y=y,x=x)
)

fig.show()

1 Ответ

0 голосов
/ 03 мая 2020

Удалите y=y и x=x из go.Heatmap, укажите tickmode, tickvals и ticktext следующим образом:

fig.update_yaxes(tickmode = 'array',
                 tickvals = np.arange(0, len(y)),
                 ticktext= y)

И вы получите:

enter image description here

Полный код:

import plotly.graph_objects as go
import numpy as np
z = np.random.rand(4,5)
y = ['A','C','G','T']
x = ['T', 'G', 'G', 'G', 'A']

fig = go.Figure(
    data = go.Heatmap(z=z)
)

fig.update_yaxes(tickmode = 'array',
                 tickvals = np.arange(0, len(y)),
                 ticktext= y)

fig.update_xaxes(tickmode = 'array',
                 tickvals = np.arange(0, len(x)),
                 ticktext= x,
                 side = 'top')

Если что-то неясно, дайте мне знать, и мы сможем разобраться в деталях .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...