底层基于Qt wxWiget GTK等
封装一层Path 提供功能:
- 折线 3阶贝塞尔 4阶贝塞尔
封装一层Patch 提供功能:
- 有色线段
- 填充矩形
- 填充多边形
- 文字
封装一层Plot 提供功能:
- 数学表达式
- axis坐标轴
- tick刻度
- legend图例
- annotation标注
- title标题
- grid网格
使用Path绘制贝塞尔曲线:
import matplotlib.pyplot as plt
from matplotlib.path import Path
import matplotlib.patches as patches
verts = [
(0., 0.), # P0
(0.2, 1.), # P1
(1., 0.8), # P2
(0.8, 0.), # P3
]
codes = [Path.MOVETO,
Path.CURVE4,
Path.CURVE4,
Path.CURVE4,
]
path = Path(verts, codes)
fig = plt.figure()
ax = fig.add_subplot(111)
#将Path封装成Patch提供颜色和粗细信息
patch = patches.PathPatch(path, facecolor='none', lw=2)
ax.add_patch(patch)
xs, ys = zip(*verts)
ax.plot(xs, ys, 'x--', lw=2, color='black', ms=10)
ax.set_xlim(-0.1, 1.1)
ax.set_ylim(-0.1, 1.1)
plt.show()