Вы можете передать список цветов в color
в marker
, например,
go.Scatter(x=x
y=y,
mode='markers',
marker={'color': colors})
В приведенном ниже примере цвет по умолчанию используется для всех точек, нонемногие из них окрашены по-разному на основе dict
, который использует значение оси Y в качестве ключа и цвет в качестве значения.
import random
import plotly
plotly.offline.init_notebook_mode()
# generate some random x and y-values
n_points = 10
y = []
for i in range(4):
_y = 'AT' + 'ATGC'[i]
y.extend([_y + nuc for nuc in 'ATGC'])
x = [random.random() for _ in range(n_points * len(y))]
y = y * n_points
# the default color
default_color = 'rgb(0,0,255)'
# define our special colors
special_colors = {'ATAT': 'rgb(255, 0, 0)',
'ATTA': 'rgb(0, 255, 0)'}
# build a list of custom
colors colors = []
for i, y_value in enumerate(y):
colors.append(special_colors.get(y_value, default_color))
fig = plotly.graph_objs.Figure()
fig.add_scatter(x=x, y=y, mode='markers', marker={'color': colors})
plotly.offline.iplot(fig)