(Python) График разброса - укажите цвет линии с целочисленным значением

Plotly позволяет пользователю указать цвет диаграммы разброса маркеров на основе целочисленного значения, например:

go.Scatter(x=x,
           y=y,
           mode='markers',
           marker=dict(color=i))

где i - целое число. Однако, если я хочу указать цвет линии, ни одно из следующих действий не сработает:

go.Scatter(x=x,
           y=y,
           mode='lines',
           marker=dict(color=i))

go.Scatter(x=x,
           y=y,
           mode='lines',
           line=dict(color=i))

Как указать цвет линии Plotly с помощью целого числа?


person Rylan Schaeffer    schedule 20.11.2019    source источник


Ответы (1)


В вашем случае color должен быть массивом чисел, а не числом.

Согласно документации Plotly:

Устанавливает темный цвет. Он принимает либо определенный цвет, либо массив чисел, которые отображаются в шкале цветов относительно максимального и минимального значений массива или относительно marker.cmin и marker.cmax, если они установлены.

Пример:

import plotly.graph_objects as go

fig = go.Figure(data=go.Scatter(
    x=[1, 2, 3, 4],
    y=[10, 11, 12, 13],
    mode='markers',
    marker=dict(size=[40, 60, 80, 100],
                color=[0, 1, 2, 3])
))

fig.show()
person Tony    schedule 20.11.2019