首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用matplotlib设置所有子图的默认颜色循环?

如何使用matplotlib设置所有子图的默认颜色循环?
EN

Stack Overflow用户
提问于 2018-04-11 04:19:07
回答 2查看 0关注 0票数 0

我如何为matplotlib制作的图表设置一组默认的颜色?我可以像这样设置一个特定的颜色映射:

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt

fig=plt.figure(i)
ax=plt.gca()
colormap = plt.get_cmap('jet')
ax.set_color_cycle([colormap(k) for k in np.linspace(0, 1, 10)])

但有没有办法为所有地块设置相同的颜色集合,包括子图?

EN

回答 2

Stack Overflow用户

发布于 2018-04-11 12:19:45

当然有!

无论是在你的.matplotlibrc文件里指定axes.color_cycle,或者使用在运行时设置matplotlib.rcParamsmatplotlib.rc

作为后者的一个例子:

代码语言:javascript
复制
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

# Set the default color cycle
mpl.rcParams['axes.color_cycle'] = ['r', 'k', 'c']

# Alternately, we could use rc:
# mpl.rc('axes', color_cycle=['r','k','c'])

x = np.linspace(0, 20, 100)

fig, axes = plt.subplots(nrows=2)

for i in range(10):
    axes[0].plot(x, i * (x - 10)**2)

for i in range(10):
    axes[1].plot(x, i * np.cos(x))

plt.show()

票数 0
EN

Stack Overflow用户

发布于 2018-04-11 13:52:40

从matplotlib 1.5开始,不推荐使用mpl.rcParams ['axes.color_cycle']。你应该使用axes.prop_cycle:

代码语言:javascript
复制
import matplotlib as mpl
mpl.rcParams['axes.prop_cycle'] = mpl.cycler(color=["r", "#e94cdc", "0.7"]) 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档