首页 - 信息 - 【matplotlib基础】

【matplotlib基础】

2023-10-05 04:19

除了绘制各种分析图形(如条形图、折线图、饼图等)之外,matplotlib还可以在画布上绘制各种几何图形。
这在计算机图形学、几何算法、计算机辅助设计等领域非常重要。

matplitlib 中的 patches 类提供了丰富的几何对象。
本文介绍了一些常用的几何绘图方法。

其实matplitlib封装的各种现成的图形对象(条形图、折线图、饼图等)本质上都是基于patches来绘制的。

1。多边形类

多边形可用于地理信息图表中,表示地理区域的边界或地理地物的形状;
还可用于显示数据的分布区域或边界,例如散点图。

常用的几种多边形绘制方法如下:

1.1。长方形

使用 矩形 对象绘制一个矩形。

导入 matplotlib.pyplot 作为 plt
将 matplotlib.patches 导入为 mptch

图 = plt.figure(figsize=[6, 6])
斧头 = 图.add_subplot(111)

r1 = mptch. 矩形(xy=(0.2, 0.3),
                     高度=0.5,
                     宽度=0.7,
                     颜色=“浅蓝色”)
r2 = mptch. 矩形(xy=(0.4, 0.6),
                     高度=0.3,
                     宽度=0.2,
                     角度=60,
                     颜色=“浅绿色”)

ax.add_patch(r1)
ax.add_patch(r2)
www.gsm-guard.net()

矩形对象主要参数

  1. xy:矩形的起点,即左下角的点
  2. 高度:矩形的高度
  3. width:将矩形的宽、高、宽设置为相同,成为正方形
  4. 角度:沿起点
  5. 逆时针旋转的角度
  6. color:矩形的颜色,默认为蓝色

代码运行效果

1.2。任意多边形

任意多边形比较简单,只需将多边形的每个顶点传入Polygon对象即可。

fig = plt.figure(figsize=[6, 6])
斧头 = 图.add_subplot(111)

#三角形
p1 = mptch.Polygon(xy=[(0.1, 0.1), (0.4, 0.1), (0.3, 0.6)],
                   颜色='浅蓝色')
#四边形
p2 = mptch.Polygon(xy=[(0.5, 0.5), (0.9, 0.5), (0.9, 0.1), (0.6, 0.2)],
                   颜色='浅绿色')
ax.add_patch(p1)
ax.add_patch(p2)

www.gsm-guard.net()

多边形对象主要参数

  1. xy:多边形各顶点列表
  2. color:多边形的颜色,默认为蓝色

代码运行效果

1.3。正多边形

虽然使用Polygon对象可以绘制正多边形,但是需要计算每个顶点的坐标位置,非常麻烦。
matplotlib提供了一个对象CirclePolygon专门用于绘制正多边形

fig = plt.figure(figsize=[6, 6])
斧头 = 图.add_subplot(111)

p1 = www.gsm-guard.netPolygon(xy=(0.3, 0.3),
                         半径=0.2,
                         分辨率=6,
                         颜色='浅绿色')
p2 = www.gsm-guard.netPolygon(xy=(0.6, 0.6),
                         半径=0.2,
                         分辨率=8,
                         颜色='浅蓝色')
ax.add_patch(p1)
ax.add_patch(p2)

www.gsm-guard.net()

CirclePolygon对象主要参数

  1. xy:正多边形
  2. 的中心点坐标
  3. 半径:正多边形
  4. 的外接圆半径
  5. 分辨率:正多边形的边数
  6. color:正多边形的颜色,默认蓝色

代码运行效果

2。圆形

圆形也是常用的形状。

2.1。圆形和椭圆形

分别使用 CircleEllipse 对象绘制圆形和椭圆形。

fig = plt.figure(figsize=[6, 6])
斧头 = 图.add_subplot(111)

c = www.gsm-guard.net(xy=(0.5, 0.5),
                 半径=0.4,
                 颜色=“浅蓝色”)
e = mptch.Ellipse(xy=(0.5, 0.5),
                  高度=0.3,
                  宽度=0.4,
                  颜色=“浅绿色”)

ax.add_patch(c)
ax.add_patch(e)
www.gsm-guard.net()

对象主要参数

  1. xy:圆心坐标
  2. 半径:圆的半径
  3. color:圆圈的颜色,默认为蓝色

椭圆对象主要参数

  1. xy:椭圆中心坐标
  2. 高度:椭圆的高度
  3. 宽度:椭圆
  4. 的宽度
  5. color:椭圆的颜色,默认为蓝色

**PS。 **当椭圆的高度宽度设置相同时,椭圆将为圆形。

代码运行效果

3。圆弧和扇形

除了完整的圆之外,您还可以绘制圆弧(Arc 对象)和扇形(楔形 对象)。

fig = plt.figure(figsize=[6, 6])
斧头 = 图.add_subplot(111)

#弧
a = mptch.Arc(xy=(0.4, 0.7),
              宽度=0.5,高度=0.5,
              角度=270,
              θ1=0,θ2=120,
              线宽=10,
              颜色=“浅蓝色”)

#扇区
w = mptch.Wedge(中心=(0.3, 0.5),
                r=0.2,
                θ1=30,θ2=330,
                颜色=“浅绿色”)

ax.add_patch(a)
ax.add_patch(w)
www.gsm-guard.net()

Arc对象主要参数

  1. xy:圆弧
  2. 的中心坐标
  3. 宽度:圆弧的宽度
  4. 高度:圆弧的高度
  5. 角度:圆弧方向的角度,逆时针旋转
  6. theta1:圆弧起始角度,逆时针旋转
  7. theta2:圆弧结束的角度,逆时针旋转
  8. 线宽:圆弧的厚度
  9. color:圆弧的颜色,默认为蓝色
ax.add_patch(a1) ax.add_patch(a2) www.gsm-guard.net()

箭头对象主要参数

  1. x:箭头X坐标
  2. 的起点
  3. y:箭头Y坐标
  4. dx:箭头终点X坐标偏移起点
  5. 宽度:箭头的宽度
  6. color:箭头的颜色,默认为蓝色

PS。其实就是起点坐标(x,y),终点坐标(x+dx,y+dy)

代码运行效果

5。总结

几何图形是matplotlib最基本的功能。复杂而花哨的分析图表最终都是关于这些基本的几何图形。

除了本文介绍的以外,完整的patches可以参考官方文档:https://www.gsm-guard.net/stable/api/patches_api.html