Способ "приостановить", "возобновить" и "сбросить" цветовой цикл по умолчанию в Matplotlib помимо вручную? - PullRequest
0 голосов
/ 08 октября 2018

Ответы на Получение цикла цвета по умолчанию весьма полезны и указывают, что в версии 1.5 произошли изменения.

Мне интересно, есть ли простой способ "приостановить", «возобновить» и «сбросить» способ, которым Matplotlib циклически перебирает цвета по умолчанию без его реализации вручную .

Пример ниже не является хорошим способом сделать это вручную, а просто показывает, насколько гипотетическиМожно использовать colorpause(), colorresume() и colorreset().

colorpause, colorresume, colorreset illustration

def colorpause():
    global increment_me
    increment_me = False

def colorresume():
    global increment_me
    increment_me = True

def colorreset():
    global icolor
    icolor   = 0

import matplotlib.pyplot as plt

xx = [[0 + 0.1*d, 1 + 0.1*d] for d in range(20)]
y  = [1, 0]

if True:
    icolorz = []
    plt.figure()
    colorz       = plt.rcParams['axes.prop_cycle'].by_key()['color']
    increment_me = True
    icolor       = 0
    plt.subplot(2, 1, 1)
    for i, x in enumerate(xx):
        plt.plot(x, y, colorz[icolor], linewidth=2)
        icolorz.append(icolor)
        icolor += increment_me
        icolor = icolor%len(colorz)
        if i == 5:
            colorpause()
        if i == 10:
            colorresume()
        if i >=12 and not i%3:
            colorreset()
    plt.subplot(2, 1, 2)
    plt.plot(icolorz)
    plt.ylim(-0.5, 6.5)
    plt.title('color number used')
    plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...