matplotlib-形状
需要 import matplotlib.patches as mp
import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl import matplotlib.patches as mp #解决能显示中文 plt.rcParams['font.sans-serif']=['SimHei'] #指定默认字体 SimHei为黑体 plt.rcParams['axes.unicode_minus']=False #用来正常显示负号 fig=plt.figure() #定义第一个图纸 ax = fig.add_subplot(1,1,1) xy1=np.array([0.2,0.2]) xy2=np.array([0.2,0.8]) xy3=np.array([0.8,0.2]) xy4=np.array([0.8,0.8]) circle=mp.Circle(xy1,0.1) #创建圆对象 #参数1 圆心位置 参数2 半径 ax.add_patch(circle) #把圆对象添加到子图中 rect=mp.Rectangle(xy2,0.2,0.1,color='r') #创建矩形对象 #参数1 矩形左下角坐标 #参数2 宽度 #参数3 高 ax.add_patch(rect) polygon=mp.RegularPolygon(xy3,5,0.1) #创建多边形对象 #参数1 多边形中心坐标 #参数2 边数 参数3 半径 ax.add_patch(polygon) ellipse=mp.Ellipse(xy4,0.4,0.2,fill=False) #创建椭圆对象 #参数1 圆心 #参数2 横向直径 参数3 纵向直径 ax.add_patch(ellipse) plt.show()
fill=False表示不填充 linewidth=2线的宽度 linestyle线的类型
多边形顶点连接(自动封闭):point-1 --> point-2 --> point-3 --> point-4 --> point-1
pgon = mp.Polygon(([0.2,0.2], [0.2, 0.4], [0.6, 0.4], [0.6, 0.2]))
ax.add_patch(pgon)
xy=np.array([0.2,0.2])
pp = mp.Arc(xy,width=0.2,height=0.2,angle=0,theta1=0,theta2=90) #创建圆弧对象
#参数1 圆心坐标
#width=0.2 横向长度
#纵向高度 height
#angle 椭圆旋转角度(逆时针)
#theta1=0 起始角;theta2=90 终止角(度)
pp = mp.Arrow(x=0.4,y=0.4,dx=0.2,dy=0.2,width=0.3) #创建箭头对象
#x 箭头尾的X坐标
#y 箭头尾部的Y坐标
#dx X方向的箭头长度
# width 箭头宽度的比例因子。默认值为1时,尾部宽度为0.2,头部宽度为0.6。
其它形状看官网 https://matplotlib.org/api/patches_api.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)