B站视频:https://www.bilibili.com/video/av6989413/?p=6html
转自:https://www.cnblogs.com/linblogs/p/9672769.htmlapi
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:要添加图案(就是建立图案时的返回值)
- Circle()