欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用matplotlib绘制自定义图形

程序员文章站 2022-03-08 14:38:39
...

一 代码

  1. from matplotlib.path importPath
  2. from matplotlib.patches importPathPatch
  3. import matplotlib.pyplot as plt
  4. fig, ax = plt.subplots()
  5. #定义绘图指令与控制点坐标
  6. #其中MOVETO表示将绘制起点移动到指定坐标
  7. #CURVE4表示使用4个控制点绘制3次贝塞尔曲线
  8. #CURVE3表示使用3个控制点绘制2次贝塞尔曲线
  9. #LINETO表示从当前位置绘制直线到指定位置
  10. #CLOSEPOLY表示从当前位置绘制直线到指定位置,并闭合多边形
  11. path_data =[
  12. (Path.MOVETO,(1.58,-2.57)),
  13. (Path.CURVE4,(0.35,-1.1)),
  14. (Path.CURVE4,(-1.75,2.0)),
  15. (Path.CURVE4,(0.375,2.0)),
  16. (Path.LINETO,(0.85,1.15)),
  17. (Path.CURVE4,(2.2,3.2)),
  18. (Path.CURVE4,(3,0.05)),
  19. (Path.CURVE4,(2.0,-0.5)),
  20. (Path.CURVE3,(3.5,-1.8)),
  21. (Path.CURVE3,(2,-2)),
  22. (Path.CLOSEPOLY,(1.58,-2.57)),
  23. ]
  24. codes, verts = zip(*path_data)
  25. path =Path(verts, codes)
  26. #按指令和坐标进行绘图
  27. patch =PathPatch(path, facecolor='r', alpha=0.9)
  28. ax.add_patch(patch)
  29. # 绘制控制多边形和连接点
  30. x, y = zip(*path.vertices)
  31. line,= ax.plot(x, y,'go-')
  32. #显示网格
  33. ax.grid()
  34. #设置坐标轴刻度大小一致,可以更真实地显示图形
  35. ax.axis('equal')
  36. plt.show()
二 运行结果
使用matplotlib绘制自定义图形
            
    
    博客分类: python matplotlib自定义图形 
 
  • 使用matplotlib绘制自定义图形
            
    
    博客分类: python matplotlib自定义图形 
  • 大小: 25 KB