Python matplotlib: установка цветов по умолчанию для цветового цикла

Эта статья Как установить цветовой цикл по умолчанию для всех подграфиков с помощью matplotlib? учит нас, как использовать mpl.rcParams['axes.color_cycle'] = ['r', 'k', 'c'] для изменения цикла цвета по умолчанию 'r', 'k', 'c' на красный, черный и голубой. Однако как я могу изменить фактические шестнадцатеричные триплеты, которые представляют 'r', 'k', 'c'? Скажем, я хочу, чтобы 'r' представляло #8F00FF (фиолетовое)? Или, что еще лучше, как добавить цвета, чтобы 'v' представляло шестнадцатеричный триплет #8F00FF? Я надеюсь использовать их для реализации в mpl.rcParams['axes.color_cycle'].


person Mikkel Rev    schedule 04.04.2015    source источник
comment
@tom10, который решает мою проблему.   -  person Mikkel Rev    schedule 05.04.2015


Ответы (1)


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

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
from cycler import cycler # for mpl>2.2

mpl.rcParams['axes.prop_cycle'] = cycler(color=['r', '#8F00FF', '#A0F0A0'])

# for mpl < 2.2
#mpl.rcParams['axes.color_cycle'] = ['r', '#8F00FF', '#A0F0A0']

y = np.arange(5)
for i in range(7):
    plt.plot(y + i, linewidth=5)

plt.show()

введите здесь описание изображения

person tom10    schedule 05.04.2015
comment
Не работает. axes.color_cycle is not a valid rc parameter. Я использовал: from cycler import cycler и mpl.rcParams['axes.prop_cycle'] = cycler(color=['#2EBCE7', '#84EE29', '#FF8177']) - person hhh; 23.08.2019