当点重复时,使用matlibplot.pyplot绘制散点图

时间:2014-01-12 23:03:05

标签: graph matplotlib visualization scatter-plot

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

有人能指点我怎么做吗?谢谢!

1 个答案:

答案 0 :(得分:7)

最简单的方法是设置一个低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()

enter image description here

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