def plot_correlation(X, Y, title, corr=None):
if corr == None:
corr, _ = stats.pearsonr(X, Y)
# extract 90-th percentile
thresh = np.percentile(Y, 99)
X90 = X[X > thresh]
Y90 = Y[X > thresh]
sample = np.random.choice(X90.shape[0], size=100, replace=False)
Xsample = X90[sample]
Ysample = Y90[sample]
plt.scatter(Xsample, Ysample, color="red")
plt.xlim([np.min(Xsample), np.max(Xsample)])
plt.ylim([np.min(Ysample), np.max(Ysample)])
plt.title("{:s} (corr: {:.3f})".format(title, corr))
plt.xlabel("X")
plt.ylabel("Y")
评论列表
文章目录