我有一些测试数据:
import numpy as np
x_data = np.arange(10)
y = np.random.rand(len(x_data))
具有不同的属性
ix1 = x_data < 5
ix2 = x_data >= 5
我想从视觉上调查差异,但我把情节搞砸了:
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_context('poster')
fig, ax = plt.subplots(figsize=(4, 4))
for i, x in enumerate(x_data):
if ix1[i]:
sns.set_palette('rainbow', sum(ix1))
if ix2[i]:
sns.set_palette('coolwarm', sum(ix2))
plt.plot(x, y[i], 'o', label='{}'.format(x))
plt.legend(loc='best', prop={'size': 6})
plt.show()
结果应该是点 0-4 是彩虹(红紫色),点 5-9 是冷暖色(蓝-白-红),但是:
所以,两个问题:
- 打电话
sns.set_palette()
后可以打电话plt.subplots
吗? - 有没有办法多次设置调色板?