透视Matplotlib核心功能和工具包 - 高级特征绘制

关联知识

使用属性循环器

Matplotlib具有默认的颜色循环,当我们在给定轴上绘制更多图形时,该颜色循环会重复进行。 通过属性循环程序,我们可以在单个函数中为多个属性定义此类循环程序。 如果要绘制具有重复图案的轴,则可以使用属性循环器实现。

在此示例中,我们使用了pyplot API。 导入所需的库:

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

以下代码块绘制了六个tie对象; 后两个是前两个的重复。 在此示例中,它在每四个对象之后重复该循环:

  • 定义图形并将其附加到画布上:

fig = Figure()
FigureCanvas(fig)



*   为图形设置facecolor,edgecolor和alpha,并添加一个轴:

    ```
fig.set(facecolor='grey', alpha=0.2, edgecolor='m')
ax = fig.add_subplot(111)
  • 设置用于绘制图形的数据:

x = np.array([0.2, 0.4, 0.6, 0.8, 0.5])
y = [1, 6, 6, 1, 0]



*   为color和hatch属性定义一个custom_cycler,并为轴设置它:

    ```
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)

代码分解

  • fig = Figure()定义了图形对象。
  • FigureCanvas(fig)将图形对象附加到将在其上绘制图形的画布。
  • fig.set(facecolor =‘grey’,alpha = 0.2,edgecolor =‘m’)设置图形的各种属性。 通常,我们在轴级别将这些属性用于单个图。 但是在这里,我们在图级别使用它们。 ax = fig.add_subplot(111)实例化轴。
  • x和y定义绘制坐标对象的数据坐标。
  • cycler()使用两个属性定义属性循环,每个属性具有四个值。 如果我们为每个属性提供更多值,则在覆盖列表中的所有值之后,将重复执行该循环。
  • ax.set_prop_cycle(custom_cycler)激活先前定义的自定义属性循环程序。
  • fill()使用属性循环器中定义的数据坐标和属性来绘制领带对象。
  • display(fig)在屏幕上显示图形。

上述代码输出结果:

详情参阅http://viadean.com/matplotlib_advanced.html

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页