2

这是一个非常特殊的绘图请求,但我想要以非常特殊的方式查看数据。情况如下:

1)我拥有的数据被分成 25 个 bin,每个 bin 包含不同数量的数据点。bin 值越大,其中包含的数据点数量就越少,粗略地说(这只是完成数据处理的结果)。

[9568, 10079, 10137, 10090, 10154, 10091, 10046, 10116, 9959, 9401, 7703, 5216, 3089, 1632, 854, 466, 221, 106, 63, 27, 12, 5, 1, 0]

2)我可以访问 bin 值。

[ 0.02648645  0.09996368  0.1734409   0.24691813  0.32039536  0.39387258
  0.46734981  0.54082703  0.61430426  0.68778148  0.76125871  0.83473593
  0.90821316  0.98169038  1.05516761  1.12864483  1.20212206  1.27559928
  1.34907651  1.42255373  1.49603096  1.56950818  1.64298541  1.71646264]

我可以很容易地在 matplotlib 中生成一个 'errorbar' 类型的图(y 轴从半径缩放到下面的度数):

LowMass_Virialized

但是,这对于我想研究的内容并不是特别有洞察力。我真的很想知道每个箱内是否有角度值的“孤岛”,为此,我需要像散点图或 imshow/hexbin 类型图这样的东西,其中点的密度可以用颜色表示(至少在 imshow/hexbin 的情况下)。下面是一个用最小标记大小的常规散点图表示时发生的示例:

LowMass_Virialized_Scatter

有人知道生成这种可视化的好方法吗?

编辑:这可能有助于澄清一些事情。下图是前几个 bin 的直方图示例。箱中包含的数据似乎遵循某种分布(我之前提到过“岛屿”,因为我不排除分布中出现多个峰值的可能性)。我希望同时为所有 bin 可视化此分布。换句话说,有没有办法为每个箱制作垂直温度图并将它们全部显示在同一个图上?

在此处输入图像描述

4

1 回答 1

0

评论中提到的小提琴情节很好地解决了我的问题。这是我找到它的python实现的地方 - 如果最终将它包含到matplotlib中肯定会很好。Overplotted 是一个以中值为中心的箱线图,包括第 2 和第 3 个四分位数。

小提琴情节

于 2013-11-13T21:26:37.597 回答