我正在使用matplotlib和以下代码(改编自另一个问题的答案)在Python 3.7中绘制极坐标2d直方图:
import numpy as np
import matplotlib.pyplot as plt
# input data
azimut = np.random.rand(3000)*2*np.pi
radius = np.random.rayleigh(9, size=3000)
# binning
rbins = np.linspace(0, radius.max(), 10)
abins = np.linspace(0, 2*np.pi, 10)
# histogram
hist, _, _ = np.histogram2d(azimut, radius, bins=(abins, rbins))
A, R = np.meshgrid(abins, rbins)
# plot
fig, ax = plt.subplots(subplot_kw=dict(projection="polar"))
pc = ax.pcolormesh(A, R, hist.T, cmap='inferno')
fig.colorbar(pc)
plt.show()
生成以下图表: 由于较大的箱子大小,极地投影看起来更像是一个多边形而不是一个圆形。
有没有办法绘制出曲线的箱子而不是直线的箱子?即使箱子变大,图形也始终是圆形,而不会变成多边形?
Matplotlib解决方案最好,但其他方案也可以。
非常感谢您的帮助。