Python散点图-重叠数据

时间:2018-11-01 00:10:05

标签: python matplotlib scatter

我有一个散点图,但是很多时候这些值可能在同一位置,我使用了颜色和alpha来尝试纠正这种情况。但是,如您所见,仍然很难区分某些区域的确切绘制。

enter image description here

有没有更简单的方法来解决这个问题?

谢谢

1 个答案:

答案 0 :(得分:3)

您可以抖动值(添加一些随机噪声),以使它们不会完全在同一位置。

import numpy as np
import matplotlib.pyplot as plt


x = np.random.randint(low=1,high=5,size=50)
y = np.random.randint(low=0,high=2,size=50)
jittered_y = y + 0.1 * np.random.rand(len(y)) -0.05
jittered_x = x + 0.1 * np.random.rand(len(x)) -0.05

plt.figure(figsize=(10,5))

plt.subplot(221)
plt.scatter(x,y,s=10,alpha=0.5)
plt.title('No Jitter')

plt.subplot(222)
plt.scatter(x,jittered_y,s=10,alpha=0.5)
plt.title('Y Jittered')

plt.subplot(223)
plt.scatter(jittered_x,y,s=10,alpha=0.5)
plt.title('X Jittered')

plt.subplot(224)
plt.scatter(jittered_x,jittered_y,s=10,alpha=0.5)
plt.title('Y and X Jittered')

plt.tight_layout();

enter image description here