Боке - Сюжет разных цветов на разных участках - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь построить разные пакеты данных на разных графиках. Я хочу, чтобы для каждой партии каждая строка имела свой цвет.

Это то, что я пробовал:

color = 7
x = df['Time']

TOOLS = "crosshair, hover, reset, pan, save"

p = [figure(title="Title_1", x_axis_label='Elapsed Time (s)', y_axis_label='Voltage [V]', tools = TOOLS, x_range=(0, 100), y_range=(0, 1000)),
                 figure(title="Title_2", x_axis_label='Elapsed Time (s)', y_axis_label='Voltage [V]', tools = TOOLS, x_range=(0, 100), y_range=(0, 1000))]

for i in range(0,20):
    p[0].line(x, df.iloc[:,i], line_color = Magma256[color][i])
for i in range(20,36):
    p[1].line(x, df.iloc[:,i], line_color = Magma256[color][i])

plts = gridplot([p[0],p[1]], ncols = 1,  plot_width = 1000, plot_height = 1000)
show(plts)

При попытке этого я получаю следующую ошибку:

IndexError: строковый индекс вне диапазона

Я думаю, это означает, что мой

"line_color = Magma256[color][i]"

выходит за пределы диапазона, но как это возможно, если он имеет 256 размер? Что я могу попробовать?

1 Ответ

0 голосов
/ 03 марта 2020

так что я решил это.

Видимо, мне приходилось читать об этом все больше и больше. Вот объяснение и решение, которое я использовал.

В коде все нормально, проблема в том, что Magma256 - это список.

Я пытаюсь использовать его как каталог. Это означает, что если я хочу использовать его правильно, я должен поместить Directory[index of the list][index of the color inside the list] например Magma[256][1], если я хочу Magma256.

Чтобы отобразить все линии на обоих графиках разными цветами, код выглядит следующим образом:

color = 256 

for i in range(0,20):
    p[0].line(x, df.iloc[:,i], line_color = Magma[color][i])
for i in range(20,36):
    p[1].line(x, df.iloc[:,i], line_color = Magma[color][i])
...