use*_*725 1 python scatter matplotlib
我有一个散点图,但是很多时候这些值可能恰好在同一位置,我使用了颜色和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();
Run Code Online (Sandbox Code Playgroud)