如何使用 matplotlib 为所有子图设置默认颜色循环?
- 2025-03-20 08:46:00
- admin 原创
- 40
问题描述:
如何为使用 matplotlib 绘制的图表设置默认颜色?我可以像这样设置特定的颜色图
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)])
但是有没有办法为所有图(包括子图)设置相同的颜色?
解决方案 1:
当然可以!您可以在文件中指定axes.color_cycle
`.matplotlibrc`matplotlib.rcParams
,也可以在运行时使用或进行设置matplotlib.rc
。
后者的例子如下:
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
# Set the default color cycle
mpl.rcParams['axes.prop_cycle'] = mpl.cycler(color=["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()
解决方案 2:
从 matplotlib 1.5 开始,mpl.rcParams['axes.color_cycle'] 已弃用。您应该使用axes.prop_cycle:
import matplotlib as mpl
mpl.rcParams['axes.prop_cycle'] = mpl.cycler(color=["r", "#e94cdc", "0.7"])
解决方案 3:
在 2.1.0 版本中,下面的方法对我有用,使用 set_prop_cycle 和 module cycler
from cycler import cycler
custom_cycler = (cycler(color=['r','b','m','g']))
ax.set_prop_cycle(custom_cycler)
您可以添加额外的线属性
custom_cycler = (cycler(color=['r','b','m','g']) + cycler(lw=[1,1,1,2]))
'ax' 来自 ax=plt.axes() 或任何轴生成器
相关推荐
热门文章
项目管理软件有哪些?
热门标签
曾咪二维码
扫码咨询,免费领取项目管理大礼包!
云禅道AD