【问题标题】:Drawing scatter graph using matlibplot.pyplot when points are duplicate点重复时使用 matlibplot.pyplot 绘制散点图
【发布时间】:2014-01-12 23:03:04
【问题描述】:

我想使用 matlibplot.pyplot 生成散点图,并且很多点是重复的。因此,当我简单地使用 pyplot.scatter 方法绘制图形时,许多点都会在一个点上透支。为了考虑该位置上的点数,我认为我需要设置不同的点大小,如果点包含更多数据点,则像一个更大的圆圈。

有人可以指点我如何做到这一点吗?谢谢!

【问题讨论】:

  • 当你说两个点重复时,你的意思是它们的坐标完全相同,或者它们只是彼此非常接近?
  • @flebool 是同一个坐标!

标签: graph matplotlib visualization scatter-plot


【解决方案1】:

最简单的方法是设置一个较低的alpha,然后当这些点相互重叠时,它们看起来更暗。

import numpy as np
import matplotlib.pyplot as plt

data = [i for i in range(8) for j in range(np.random.randint(10))]
x, y = np.array(data), np.array(data)
plt.scatter(x, y, alpha=.1, s=400)
plt.show()

当然,你也可以直接改变点的大小或颜色。为此,您需要找到重叠点的数量,然后设置大小(使用s 散点图参数)或颜色(使用c)或两者兼而有之。 (但设置 alpha 是最简单的,因为它不需要明确计算重叠。)

【讨论】:

    猜你喜欢
    • 2020-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-08
    • 2018-06-23
    • 2021-10-14
    • 1970-01-01
    • 2017-09-13
    相关资源
    最近更新 更多