You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

用于基准测试相关系数的散点图示例及Python复现方案问询

复现皮尔逊相关系数散点图的Python实现

可以用numpy生成具有指定皮尔逊相关系数的样本数据,搭配matplotlib来复现你需要的散点图。以下是完整示例代码:

import numpy as np
import matplotlib.pyplot as plt

# 设置画布和子图布局
fig, axes = plt.subplots(nrows=2, ncols=4, figsize=(16, 8))
axes = axes.flatten()

# 定义要展示的相关系数列表
correlations = [1.0, 0.8, 0.4, 0.0, -0.4, -0.8, -1.0]

# 生成数据并绘图
np.random.seed(42)  # 固定随机种子保证可复现
for ax, r in zip(axes[:7], correlations):
    # 生成二维正态分布数据,指定协方差来控制相关系数
    mean = [0, 0]
    cov = [[1, r], [r, 1]]
    x, y = np.random.multivariate_normal(mean, cov, 500).T
    
    # 绘制散点图
    ax.scatter(x, y, alpha=0.6, s=20)
    # 计算实际皮尔逊相关系数(验证用)
    actual_r = np.corrcoef(x, y)[0, 1]
    ax.set_title(f'r = {actual_r:.1f}')
    ax.set_xlim(-3, 3)
    ax.set_ylim(-3, 3)
    ax.grid(True, linestyle='--', alpha=0.7)

# 隐藏最后一个空白子图
axes[7].axis('off')

plt.tight_layout()
plt.show()

代码说明

  • 使用numpy.random.multivariate_normal生成符合指定协方差的二维数据,协方差矩阵中的非对角元素就是我们要设置的相关系数。
  • 固定随机种子np.random.seed(42)可以让每次运行生成的散点分布一致,方便基准测试。
  • 每个子图会标注实际计算出的相关系数,和设定值基本一致。
  • 通过alpha参数设置散点透明度,避免点重叠影响视觉效果。

内容的提问来源于stack exchange,提问作者Thoth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 11:52:43