Как построить разные палитры на участках одной фигуры? - PullRequest
0 голосов
/ 04 июня 2019

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

x = np.arange(10)
pal = sns.color_palette("rainbow", 12)
sns.set_palette(pal)

subplot(2, 1, 1)
for i in range(4):
    plot(x, i*np.sin(x))

subplot(2, 1, 2)

pal = sns.color_palette("Set1", 12)
sns.set_palette(pal)

for i in range(4):
    plot(x, i*np.cos(x))

tight_layout()

enter image description here

1 Ответ

1 голос
/ 04 июня 2019

Вам необходимо установить палитру до создания подплота.Это потому, что цветовой цикл является свойством осей.Оси будут принимать текущее свойство cycler из rcParams во время создания.Так что set_palette, который изменяет свойство cycler, необходимо вызвать заранее.

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

x = np.arange(10)

# First subplot
pal1 = sns.color_palette("rainbow", 12)
sns.set_palette(pal1)

plt.subplot(2, 1, 1)
for i in range(4):
    plt.plot(x, i*np.sin(x))

# Second subplot
pal2 = sns.color_palette("Set1", 12)
sns.set_palette(pal2)

plt.subplot(2, 1, 2)
for i in range(4):
    plt.plot(x, i*np.cos(x))

plt.tight_layout()
plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...