【问题标题】:Python - plotting density contour with two different dimensional arraysPython - 用两个不同维度的数组绘制密度等高线
【发布时间】:2016-04-06 16:31:00
【问题描述】:

我正在尝试用两个不同维度的数组制作一个 hexbin。

mass_msun = subhalos['SubhaloMass'] * 1e10 / 0.704 # in units of M_sol     h^-1
lam = (subhalos['SubhaloSpin'])

plt.plot(mass_msun,lam)
plt.xscale('log')
plt.yscale('log')
plt.ylabel('$\lambda$')
plt.xlabel('Subhalo Mass [$M_\odot$]')

这给了我一个很好的情节。

我想做的是从这个情节中创建一个二维密度轮廓。这里产生了类似的东西:https://micropore.wordpress.com/2011/10/01/2d-density-plot-or-2d-histogram/

问题是,我有不同的维度数组。 lam 数组的形状为 (121209,3),而 mass_msun 的形状为 (121209,)。

有没有办法可以使用mass_sun 保留lam 的维度方面?还是我应该使用其他 histogram2d 的不同命令?

谢谢!

【问题讨论】:

    标签: python arrays multidimensional-array contour


    【解决方案1】:

    最简单的方法仍然是重塑数据以适应直方图参数要求:

    n_col = lam.shape[1]
    H, xedges, yedges = np.histogram2d(np.tile(mass_msum, n_col), lam.flatten(), your_range, your_bins)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-29
      • 2015-09-09
      • 2021-12-18
      • 2020-05-18
      • 2014-12-19
      • 2021-03-29
      • 1970-01-01
      • 2021-07-29
      相关资源
      最近更新 更多