你可以通过以下方法创建极轴网格。projection='polar'
.
hist
创建一个直方图,也是在使用极轴时。注意 x 的单位是弧度,范围是 2π。当您明确地将二进制作为一个函数来使用时,它的效果最好。linspace
从0到2π(或从-π到π,取决于数据)。第三个参数 linspace
应该比你想要的完整圆的条数多一个。
关于 axs[i][j].hist(x, bins=np.linspace(0, 2 * np.pi, np.random.randint(7, 30), endpoint=True), color='dodgerblue', ec='black')
:
axs[i][j]
汲取 j
分集 i
第三行.hist
绘制直方图x
:放入垃圾箱的数值bins=
输入分仓(最低和最高之间的固定数字) x
或一些明确的边界;默认为10个固定边界)np.random.randint(7, 30)
随机整数np.linspace(0, 2 * np.pi, n, endpoint=True)
将0和2π之间的范围分为 n
等分。endpoint=True
在0处、2π处和2π处划定边界。n-2
中间的位置;当 endpoint=False
在0处会有一个边界,在 n-1
左右逢源color='dodgerblue'
:直方图条的颜色将是蓝色的。ec='black'
签名: 边缘色 的酒吧将是黑色的import numpy as np
import matplotlib.pyplot as plt
fig, axs = plt.subplots(5, 5, figsize=(8, 8),
subplot_kw=dict(projection='polar'))
for i in range(5):
for j in range(5):
x = np.random.uniform(0, 2 * np.pi, 50)
axs[i][j].hist(x, bins=np.linspace(0, 2 * np.pi, np.random.randint(7, 30)), color='dodgerblue', ec='black')
plt.tight_layout()
plt.show()