【问题标题】:2d Polar Histogram with python带有python的2d极坐标直方图
【发布时间】:2020-09-14 15:43:47
【问题描述】:

我正在尝试制作二维极坐标直方图。我的数据是 2 个 np.arrays:

azim = [方位角 -180 到 +180 度]
天顶 = [天顶角 0 到 90 度]

这是我到目前为止的代码:

# define binning
rbins = np.linspace(0, 90,10)
abins = np.linspace(-180, 180, 30)

#calculate histogram
hist, _, _ = np.histogram2d(azim, zenith, 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="magma_r")
fig.colorbar(pc)
ax.grid(True)
plt.show()

我得到的情节:

它看起来好像有一部分丢失了,我不知道为什么。 我也想将天顶角归一化为立体角,而不是归一化为一个。 归一化的公式是这样的,其中 θ1,θ2 是 bin 边缘。但我不确定如何进行实际的标准化:

任何建议都会很有帮助

【问题讨论】:

    标签: python-3.x matplotlib histogram2d


    【解决方案1】:

    在 maptlotlib 中使用极坐标图之前,您必须将角度转换为辐射角。

    【讨论】:

    • 应该想到这一点。谢谢。也有关于标准化的任何事情吗?
    • 我不确定你提到的规范化,但如果你在np.histogram2d 的调用中添加关键字density = 1,那么你的直方图被规范化为一个。如果它取决于 bin 边缘,你的立体角实际上也是一个数组,对吗?它不是每个箱子的常数?
    • 是的,它是一个数组。根据我的教授的说法,在归一化之后,整个天顶角分布应该转向较低的值。但我不知道单独标准化每个 bin 的方法,或者是否有可能。
    猜你喜欢
    • 1970-01-01
    • 2020-10-07
    • 2014-04-29
    • 1970-01-01
    • 2013-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-31
    相关资源
    最近更新 更多