Python数据可视化第 9 讲:matplotlib极坐标图绘制函数polar |
您所在的位置:网站首页 › 已知极坐标方程怎么画图 › Python数据可视化第 9 讲:matplotlib极坐标图绘制函数polar |
1. 极坐标
在平面内取一个定点O,叫极点,引一条射线Ox,叫做极轴,再选定一个长度单位和角度的正方向(通常取逆时针方向)。对于平面内任何一点M,用ρ表示线段OM的长度(有时也用r表示),θ表示从Ox到OM的角度,ρ叫做点M的极径,θ叫做点M的极角,有序数对 (ρ,θ)就叫点M的极坐标,这样建立的坐标系叫做极坐标系。通常情况下,M的极径坐标单位为1(长度单位),极角坐标单位为rad(或°) 2. polar 函数介绍polar 函数用于绘制极坐标图。polar 函数的调用格式如下: 1polar(theta, r, **kwargs) 参数说明: theta:标量或标量序列,数据点的极径,必须参数。 r:标量或标量序列,数据点的极角,可选参数。如果不设置,则为长度为 len(theta) 默认序列替代 。 kwargs:Line2D 属性,可选参数,kwargs 用于指定线标签(用于自动图例)、线宽、标记面颜色等特性。 2. polar 函数绘图示例 2.2 绘制一个简单的极坐标图绘制一个简单的极坐标图,完整代码如下: 1234567891011121314import matplotlib.pyplot as plt # step1:准备画图的数据 xs = [1, 2, 3, 4, 5, 6, 7] # step2:手动创建一个figure对象,相当于一个空白的画布 fig = plt.figure() # step3:在画布上添加1个子块,标定绘图位置 ax = fig.add_subplot(1, 1, 1, projection='polar') # step4: 绘制极坐标图 plt.polar(xs, 'ro') ax.set_title('A simple polar example') # 展示 plt.show()上面代码的运行结果: 2.2 绘制一个极坐标图并标注点坐标绘制一个极坐标图并标注点坐标,与第一个例子不同,为了分别给每个点标记坐标,需要循环在极坐标图上绘制数据点。完整代码如下: 1234567891011121314151617181920212223import matplotlib.pyplot as plt import numpy as np # step1:准备画图的数据 xs = np.arange(7) ys = xs ** 2 # step2:手动创建一个figure对象,相当于一个空白的画布 fig = plt.figure() # step3:在画布上添加1个子块,标定绘图位置 ax = fig.add_subplot(1, 1, 1, projection='polar') # step4:为了分别给每个点标记坐标,需要循环在极坐标图上绘制数据点 for x, y in zip(xs, ys): # 绘制极坐标图 plt.polar(x, y, 'ro') # 增加文本说明,即每个点的极坐标 plt.text(x, y, '%d, %d' % (int(x), int(y)), horizontalalignment='center', verticalalignment='bottom') ax.set_title('A simple polar example') # 展示 plt.show()上面代码的运行结果: 3. plot 函数绘制极坐标图matplotlib 的 pyplot 子库提供了绘制极坐标图的方法,在调用 subplot() 创建子图时通过设置 projection=‘polar’ 便可创建一个极坐标子图,然后调用 plot() 在极坐标子图中绘图。下面就创建一个极坐标子图和一个直角坐标子图进行对比。 12345678910111213141516import matplotlib.pyplot as plt # step1:准备画图的数据 theta = [1, 2, 3, 4, 5, 6, 7] # step2:手动创建一个figure对象,相当于一个空白的画布 fig = plt.figure() # step3:在画布上添加2个子块,标定绘图位置 ax1 = fig.add_subplot(1, 2, 1, projection='polar') # 指定绘制极坐标图 ax2 = fig.add_subplot(1, 2, 2) # step4: 绘图 ax1.plot(theta, theta, '--') ax2.plot(theta, theta, '--') # 展示 plt.show()上面代码的运行结果: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |