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

绘制data_2的正态分布PDF时出现多条曲线,求原因及解决方法

问题原因
  • 你当前的代码直接用**原始无序的data_list**作为x轴绘制PDF曲线,因为数据点未按从小到大排序,plt.plot会按照数据的原始顺序依次连接点,导致线条在坐标系中来回穿梭,看起来像是多条曲线。
修复方案

核心是生成有序的x轴序列来计算并绘制PDF,修改后的代码如下:

import numpy as np
import scipy.stats as sps
import matplotlib.pyplot as plt

def normal_dist(data_list):
    mean = np.mean(data_list)
    std = np.std(data_list)
    # 生成覆盖数据取值范围的有序x值,取足够多点保证曲线平滑
    x = np.linspace(min(data_list), max(data_list), 1000)
    density_func = sps.norm.pdf(x, mean, std)
    return x, density_func

def plot_histo(data_list, bin_count, x, pdf):
    plt.hist(data_list, bins=bin_count, density=True)
    plt.plot(x, pdf, color='red')
    plt.show()

# 调用函数
x, pdf = normal_dist(data_2)
plot_histo(data_2, 100, x, pdf)
额外说明
  • np.linspace生成的有序x值,能保证PDF曲线是连续平滑的单条曲线
  • 可调整linspace的第三个参数(示例中为1000)控制曲线平滑度,数值越大曲线越细腻

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 02:30:58