Matplotlib 在不更改默认值的情况下为一个轴对象设置颜色图
Matplotlib set colormap for one axes object without changing default
如何将一个 matplotlib.pyplot.axes
对象(或图形)的颜色循环器设置为预定义的彩色图,而不像 plt.set_cmap
那样更改默认值?
假设我想在一个图中使用 'tab20' 颜色图,使用以下代码:
from matplotlib import pyplot as plt
fig, ax = plt.subplots()
# something like ax.set_cmap('tab20')
ax.scatter([1,2,3],[2,1,3])
ax.scatter([1,2,3],[3,2,1])
我找到了一个解决方案,下面的方法可以解决问题:
from matplotlib import pyplot as plt
from cycler import cycler
import numpy as np
fig, ax = plt.subplots()
ax.set_prop_cycle(cycler('color', plt.cm.tab20.colors))
ax.scatter([1,2,3],[2,1,3])
ax.scatter([1,2,3],[3,2,1])
它使用颜色图中的颜色创建颜色循环并将其分配给坐标区对象。
如何将一个 matplotlib.pyplot.axes
对象(或图形)的颜色循环器设置为预定义的彩色图,而不像 plt.set_cmap
那样更改默认值?
假设我想在一个图中使用 'tab20' 颜色图,使用以下代码:
from matplotlib import pyplot as plt
fig, ax = plt.subplots()
# something like ax.set_cmap('tab20')
ax.scatter([1,2,3],[2,1,3])
ax.scatter([1,2,3],[3,2,1])
我找到了一个解决方案,下面的方法可以解决问题:
from matplotlib import pyplot as plt
from cycler import cycler
import numpy as np
fig, ax = plt.subplots()
ax.set_prop_cycle(cycler('color', plt.cm.tab20.colors))
ax.scatter([1,2,3],[2,1,3])
ax.scatter([1,2,3],[3,2,1])
它使用颜色图中的颜色创建颜色循环并将其分配给坐标区对象。