微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Matplotlib如何选择要在密集散点图中覆盖的标记?

如何解决Matplotlib如何选择要在密集散点图中覆盖的标记?

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

这可能很难想象,所以这是我的代码输出的图像。如果我们看一下〜24小时,就会看到主要的低海拔颜色,但是我不想假设低海拔值覆盖了高海拔。认为低海拔在那个时段占主导地位是错误的,还是我应该尝试澄清一下?只需记住,该列中大约有20000点,所以掩盖的可能性非零。

enter image description here

在这件事上我还没有找到明确的答案,所以我将不胜感激

解决方法

您的问题的实质似乎在您的陈述中:“我正在尝试确定与y值相关的主要z值。”这是任何给定y值(暗含固定x值)的z值相对频率的问题。此外,数据集的大小从根本上限制了您使用色标显示方案显示z值的把握。

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

显然,此方法的缺点是将显示器的尺寸增加一倍。这可能是不可接受的,但是通过经验看几个x值的结果,您可能可以得到原始问题的答案,即颜色条是否是z主导的有效指示。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。