python matplotlib画形状(矩形、圆等)

您所在的位置:网站首页 同心圆python代码怎么弄 python matplotlib画形状(矩形、圆等)

python matplotlib画形状(矩形、圆等)

2023-07-18 20:47| 来源: 网络整理| 查看: 265

B站视频:https://www.bilibili.com/video/av6989413/?p=6

转自:https://www.cnblogs.com/linblogs/p/9672769.html

import numpy as np import matplotlib.pyplot as plt import matplotlib.patches as mpathes fig,ax = plt.subplots() 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 = mpathes.Circle(xy1,0.05) ax.add_patch(circle) #长方形 rect = mpathes.Rectangle(xy2,0.2,0.1,color='r') ax.add_patch(rect) #多边形 polygon = mpathes.RegularPolygon(xy3,5,0.1,color='g') ax.add_patch(polygon) #椭圆形 ellipse = mpathes.Ellipse(xy4,0.4,0.2,color='y') ax.add_patch(ellipse) plt.axis('equal') plt.grid() plt.show() 相关函数介绍 Circle() 文档:https://matplotlib.org/api/_as_gen/matplotlib.patches.Circle.html#matplotlib.patches.Circle 简介:在给定半径的xy=(x,y)处创建真圆 属性 xy:圆形的中心(属性名可省略) redius:圆形的半径(属性名可省略) 更多属性详见文档 常见问题 问题:画出来的圆形不是正圆,是椭圆 原因:因为在绘图时x,y轴的比例不是1:1 解决方法:使用函数axis属性置位'equal’,通过改变轴限制来设置相等的缩放 axis文档:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.axis.html#matplotlib.pyplot.axis Rectangle() 文档:https://matplotlib.org/api/_as_gen/matplotlib.patches.Rectangle.html#matplotlib.patches.Rectangle 简介:在x,y坐标处生成一个长方形,(x,y是长方形左下角的位置) 属性 xy:底部和左侧的矩形坐标(属性名可省略) width:矩形宽度(属性名可省略,注意高和宽的顺序,第二个是宽) height:矩形高度(属性名可省略,注意高和宽的顺序,第三个是高) color :填充的颜色 更多属性详见文档 RegularPolygon() 文档:https://matplotlib.org/api/_as_gen/matplotlib.patches.RegularPolygon.html#matplotlib.patches.RegularPolygon 简介:以x,y坐标生成多边形 属性 xy:多边形的中心(属性名可省略) numVertices:顶点数,或者可以叫做是边数(属性名可省略,注意位置) redus:多边形半径(属性名可省略,注意位置) color : 填充的颜色 更多属性详见文档 Ellipse() 文档:https://matplotlib.org/api/_as_gen/matplotlib.patches.Ellipse.html#matplotlib.patches.Ellipse 简介:以xy为中心生成一个椭圆 属性 xy:椭圆的中心 width:横轴的总长度,(直径) height:垂直轴的总长度,(直径) 更多属性详见文档 add_patch() 文档:https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.add_patch.html#matplotlib.axes.Axes.add_patch 简介:把生成图案绘制到画布上, 属性 p:要添加图案(就是创建图案时的返回值)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3