Как установить уникальные цвета для каждой строки, используя формат matplotlib.pyplot - PullRequest
0 голосов
/ 29 апреля 2020

У меня много проблем с тем, чтобы каждая линия на графике, который я создал, имела уникальный цвет. Функция Matplotlib.pyplot plt.errorbar(), кажется, перебирает 10 цветов и повторяется. Мой график генерируется с использованием для l oop с stati c x из индекса информационного кадра и нескольких y из столбцов информационного кадра:

fig = plt.figure()
for col in df_avg_diff.columns:
        plt.errorbar(x=df_avg_diff.index, y=df_avg_diff[col])
plt.show()

Как мне изменить этот код, чтобы включить изменение цвета для каждый у? Спасибо!

1 Ответ

1 голос
/ 29 апреля 2020

Это не проблема функции панели ошибок, а скорее цветовой цикл по умолчанию (или, в более общем смысле, цикл свойств) matplotlib. Посмотрите эту ссылку для примера.

Вероятно, самый простой способ получить разные цвета для каждой линии - это определить их самостоятельно, используя любое из предопределенных colormaps - Например, jet:

colors = plt.cm.jet(np.linspace(0, 1, n_columns))

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

for i, col in enumerate(df_avg_diff.columns):
        plt.errorbar(x=df_avg_diff.index, y=df_avg_diff[col], color=colors[i])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...