Python数据可视化第 9 讲:matplotlib极坐标图绘制函数polar

您所在的位置:网站首页 已知极坐标方程怎么画图 Python数据可视化第 9 讲:matplotlib极坐标图绘制函数polar

Python数据可视化第 9 讲:matplotlib极坐标图绘制函数polar

2024-07-14 03:21| 来源: 网络整理| 查看: 265

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