Skip to main content
 首页 » 编程设计

Python 散点图之重叠数据

2025年05月04日14飞鱼

我有一个散点图,但很多时候值可能恰好位于同一点,我使用颜色和 alpha 来尝试补救这种情况。但是,如您所见,仍然很难区分某些区域中绘制的内容。

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

谢谢

请您参考如下方法:

您可以抖动这些值(添加一些随机噪声),这样它们就不会完全位于同一点。

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();