【问题标题】:How does Matplotlib choose which markers to overlay in a dense scatterplot? [closed]Matplotlib 如何选择在密集散点图中覆盖哪些标记? [关闭]
【发布时间】:2021-02-12 12:52:33
【问题描述】:

我正在处理一个包含 x、y 和 z 的相当大的数据集。 x 和 y 放在散点图上,z 设置为颜色条值。有 24 个不同的列,每列有 ~20000 个点。我正在尝试确定与 y 值相关的主要 z 值,但我不想误导我在生成的图像中看到的清晰颜色。鉴于 1 列中有这么多标记,我想知道 Matplotlib 如何确定哪些标记覆盖在其他标记之上。

这可能很难想象,所以这是我的代码和输出的图像。如果我们查看 ~24 小时,我们会看到主要的低海拔着色,但我不想假设高海拔被低海拔值覆盖。假设低海拔在那个时间段内占主导地位是错误的,还是我应该尝试澄清一些事情?请记住,单列中大约有 20000 个点,因此掩盖的可能性不为零。

我还没有找到关于这个问题的明确答案,所以我非常感谢任何帮助

【问题讨论】:

标签: python matplotlib plot scatter-plot scatter


【解决方案1】:

看来您的问题的本质在于您的陈述,“我正在尝试确定与 y 值相关的主要 z 值。”这是一个关于任何给定 y 值的 z 值的相对频率的问题(隐含地对于固定的 x 值)。此外,数据集的大小从根本上限制了您对使用颜色条方案显示 z 值的确定性。

我的建议是针对每个 x 值,为 y 和 z 生成一个 2D 直方图,以显示任何给定 y 的主要 z。您可以使用hist2d 生成颜色编码的二维直方图。或者,如果您更喜欢相同类型数据的“3D”显示,您可以创建3D bar graph

显然,这种方法的缺点是将显示的维度增加一倍。这可能是不可接受的,但通过根据经验查看几个 x 值的结果,您可能会得到原始问题的答案,即颜色条是否是 z 优势的有效指标。

【讨论】:

    猜你喜欢
    • 2017-06-07
    • 2021-10-27
    • 1970-01-01
    • 2021-08-13
    • 1970-01-01
    • 2021-10-13
    • 2014-10-20
    • 2017-12-13
    相关资源
    最近更新 更多