如何在 Matplotlib 中使用 cycler 属性绘制多色循环图


Matplotlib 为所有图形和绘图提供了一个默认的颜色循环,但是,为了绘制具有多个颜色循环的绘图,我们可以使用 Matplotlib 的 **cycler** **属性**。它用于为轴绘制重复的模式。

首先,我们将使用面向对象的 API(例如 **pyplot**)来绘制特定的可视化效果。

from cycler import cycler
import numpy as np
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
from IPython.core.display import display

在此示例中,我们将创建两个对象,它们将在每四个对象后重复循环。因此,在创建两个对象后,最后两个将是前两个对象的重复。

fig = Figure()
FigureCanvas(fig)

设置轴的 facecolor、alpha 和 edgecolor,

fig.set(facecolor='grey', alpha=0.2, edgecolor='m')
ax = fig.add_subplot(111)

设置绘制图形的数据,

x = np.array([0.4, 0.8, 1.2, 1.6, 2.0])
y = [1, 6, 6, 1, 0]

现在为颜色和阴影属性定义自定义循环器,并将其设置为轴,

custom_cycler = cycler('color', ['g', 'blue', 'y', 'c']) + \
cycler('hatch', ['+*', 'xx', '+x', '+O.'])
ax.set_prop_cycle(custom_cycler)

绘制六个对象的图形,

ax.fill(x+1, y)
ax.fill(x+2, y)
ax.fill(x+3, y)
ax.fill(x+4, y)
ax.fill(x+5, y)
ax.fill(x+6, y)

显示绘图,

display(fig)

输出

更新于: 2021年2月23日

690 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告