У меня есть фрагмент кода, который использует matplotlib для построения набора линий и применяет цвета к этим линиям, используя цветовую карту. Выдержка из кода и результат следующие:
cm = plt.cm.get_cmap('jet')
step = 15
xi = np.linspace(data[data.columns[0]].min(), data[data.columns[0]].max(), 2)
colors_l = np.linspace(0.1, 1, len(state_means[::step]))
for i, beta in enumerate(state_means[::step]):
plt.plot(xi, beta[0] * xi + beta[1], alpha=.2, lw=1, c=cm(colors_l[i]))
Соответствующая часть кода здесь
c=cm(colors_l[i])
, который находится внутри функции plt.plot (). Здесь можно индексировать карту цветов с помощью параметра (в данном случае i).
Однако, если я пытаюсь сделать что-то подобное, используя bokeh, с его глифом ColorMapper и line (), я сталкиваюсь с ошибкой. Соответствующие строки кода и выходные данные
call_color_mapper = LinearColorMapper(palette="Viridis256", low=min(call_strike_vals), high=max(call_strike_vals))
call_lines=dict()
call_chain_plot = figure(y_axis_label='Call OI', x_axis_label='Dates', x_axis_type = 'datetime')
for strike in call_strikes:
call_lines[strike] = call_chain_plot.line('TIMESTAMP', strike, line_color=call_color_mapper(int(strike[2:])), source=callSource)
TypeError: 'LinearColorMapper' object is not callable
Есть ли способ раскрасить набор линейных глифов с помощью цветовой карты в боке?