Python 将默认颜色旋转matplotlib更改为特定颜色贴图

Python 将默认颜色旋转matplotlib更改为特定颜色贴图,python,matplotlib,Python,Matplotlib,我想将matplotlib的标准颜色旋转更改为另一种颜色贴图。具体来说,我想使用“gdist_rainbow”。这可能吗?如果可能,我如何实现 我已经有了自定义设置,比如 import matplotlib as mpl import matplotlib.pyplot as plt params = {'legend.fontsize': 'x-large', 'axes.labelsize': 'xx-large', 'axes.titlesize':'x

我想将matplotlib的标准颜色旋转更改为另一种颜色贴图。具体来说,我想使用“gdist_rainbow”。这可能吗?如果可能,我如何实现

我已经有了自定义设置,比如

import matplotlib as mpl
import matplotlib.pyplot as plt
params = {'legend.fontsize': 'x-large',
         'axes.labelsize': 'xx-large',
         'axes.titlesize':'xx-large',
         'xtick.labelsize':'xx-large',
         'ytick.labelsize':'xx-large',
         'lines.markersize':8,
         'figure.autolayout':True}
plt.rcParams.update(params)

因此,我想我只是在寻找要添加的正确键。

您需要为
“axes.prop_cycle”
参数提供颜色循环。颜色循环由颜色列表组成。这些可以根据颜色图进行选择。见下例:

import matplotlib.pyplot as plt
from cycler import cycler
import numpy as np

# get colormap
cmap=plt.cm.gist_rainbow
# build cycler with 5 equally spaced colors from that colormap
c = cycler('color', cmap(np.linspace(0,1,5)) )
# supply cycler to the rcParam
plt.rcParams["axes.prop_cycle"] = c


x = np.linspace(0,2*np.pi)
f = lambda x, phase:np.sin(x+phase)
for i in range(30):
    plt.plot(x,f(x,i/30.*np.pi) )

plt.show()

我相信是轴。颜色循环。但是轴。颜色循环:'gdist_rainbow'不起作用。我试过了,但我需要给自行车设定一个号码。这是一种不利因素。还有更普遍的解决办法吗?我不明白你的意思。循环器的关键在于它有许多元素可以循环,但假设我们在一个轴对象中绘制两条线。然后,它应该根据数字2分隔颜色贴图。如果预先将其定义为间隔为五种颜色,但最终仅使用了两种颜色,则最终会得到次优的颜色区分。但我猜自动间距也不会在默认颜色旋转中完成?你所要求的正是彩色地图的概念,而不是彩色循环。这两个概念都在matplotlib中使用。然而,为了能够使用colormap,需要提前知道要着色的元素数量。因此,将它们用于单打印命令的结果是有意义的。对于多个连续的绘图命令,使用循环器,因为循环器与绘图数量无关,即第二个绘图如何知道之后还会有4个其他绘图???如果您作为用户知道打印的数量,如果您愿意,您仍然可以使用彩色贴图。