Kat*_*att 59 python colors matplotlib
如何为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)])
Run Code Online (Sandbox Code Playgroud)
但是有没有办法为所有情节设置相同的颜色集,包括子图?
Joe*_*ton 70
当然!无论是指定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()
Run Code Online (Sandbox Code Playgroud)

vol*_*myr 45
从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"])
Run Code Online (Sandbox Code Playgroud)
在2.1.0版本中,以下内容对我有用,使用set_prop_cycle和模块cycler
from cycler import cycler
custom_cycler = (cycler(color=['r','b','m','g']))
ax.set_prop_cycle(custom_cycler)
Run Code Online (Sandbox Code Playgroud)
您可以添加额外的线路属性
custom_cycler = (cycler(color=['r','b','m','g']) + cycler(lw=[1,1,1,2]))
Run Code Online (Sandbox Code Playgroud)
'ax' 来自 ax=plt.axes() 或任何轴生成器