python极坐标画图时,不仅可以画实线图,也可以画散点图。
实线图画法如下述链接。
python画图|极坐标画图基础教程-CSDN博客
今天我们一起学习一下散点图画法。
【1】官网教程
首先依然是导航到官网,乖乖学习官网教程:
Scatter plot on polar axis — Matplotlib 3.9.2 documentation
官网给出了较为美丽的散点图,为此我对代码做了注释。
【2】代码解读
最初依然是numpy和matplotlib定义:
import matplotlib.pyplot as plt #引入matplotlib模块画图 import numpy as np #引入numpy模块做数学计算
然后是定义一批数据用于画图:
np.random.seed(19680801) #定义随机数种子 # Compute areas and colors N = 150 #定义常数 r = 2 * np.random.rand(N) #输出150个随机数,每个随机数*2后赋值给r
先定义了随机数种子,然后要求定义150个随机数,这些随机数扩大两倍后背赋值给r。
然后继续定义了theta、area和colors:
theta = 2 * np.pi * np.random.rand(N) #r*np.pi后赋值给theta area = 1000 * r**2 #赋值area colors = theta #定义colors变量
最后是定义要画极坐标图;
fig = plt.figure() #定义画图 ax = fig.add_subplot(projection='polar') #定义图的类型为极坐标
出图之前详细定义了图形属性:
ax = fig.add_subplot(projection='polar') #定义图的类型为极坐标 c = ax.scatter(theta, r, c=colors, s=area, cmap='hsv', alpha=0.75) #定义极坐标图 plt.show() #输出图形(官网教程缺失该行)
最后的输出结果为:
图1
【3】修改代码
【3.1】将N=150改为N=1000
N=150到N=1000,是将随机数增多,相应增多极坐标的点,具体的输出结果为:
图2
图形和预测一致,输出结果增加,带颜色的区域连接在一起。
【3.2】将area = 200 * r**2改为area = 1000 * r**2
先将N改回150,然后将area = 200 * r**2改为area = 1000 * r**2,这是将点的面积扩大,具体输出结果为:
图3
由图3可见,每个点的面积都增大了。
【4】总结
本文学习了在python中画散点图的基本教程,还尝试修改了散点图数量和单个点的面积大小。