如何设置默认的Matplotlib轴颜色循环

时间:2017-09-11 04:28:55

标签: matplotlib

Matplotlib 2.0中的默认轴颜色循环称为tab10

enter image description here

我想使用不同的定性颜色循环,例如tab20c

enter image description here

我已使用此代码更改默认轴颜色周期:

import matplotlib.pyplot as plt
from cycler import cycler

c = plt.get_cmap('tab20c').colors
plt.rcParams['axes.prop_cycle'] = cycler(color=c)

这看起来很脏。还有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

正如评论中所述,目前尚不清楚“更好”是什么意思。所以除了问题中的那个之外,我可以想到两种不同的方式,这种方式非常好。

(a)使用seaborn

只是为了展示设置颜色循环器的不同方式:Seaborn有一个函数set_palette,它基本上设置了matplotlib颜色循环。您可以像

一样使用它
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_palette("tab20c",plt.cm.tab20c.N )

(b)仅为轴设置循环器

如果您想单独为每个轴设置循环器,可以使用ax.set_prop_cycle作为轴ax

import matplotlib.pyplot as plt
from cycler import cycler

fig, ax = plt.subplots()
ax.set_prop_cycle(cycler(color=plt.get_cmap('tab20c').color‌‌​​s))