首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用scipy在循环内生成新的直方图

,可以通过以下步骤实现:

  1. 导入必要的库:
代码语言:txt
复制
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
  1. 定义循环的数据集:
代码语言:txt
复制
data = [1, 2, 3, 4, 5]
  1. 创建一个空的直方图列表:
代码语言:txt
复制
histograms = []
  1. 在循环中生成直方图:
代码语言:txt
复制
for i in range(len(data)):
    # 生成随机数据
    sample = np.random.normal(data[i], 1, 1000)
    
    # 计算直方图的频数和边界
    counts, bins = np.histogram(sample, bins=30, density=True)
    
    # 将频数归一化到概率密度
    probabilities = counts / counts.sum()
    
    # 将直方图添加到列表中
    histograms.append((bins[:-1], probabilities))
  1. 绘制所有直方图:
代码语言:txt
复制
for histogram in histograms:
    bins, probabilities = histogram
    plt.plot(bins, probabilities)
  1. 添加标题、标签和图例:
代码语言:txt
复制
plt.title('Histograms')
plt.xlabel('Value')
plt.ylabel('Probability Density')
plt.legend([f'Data {i+1}' for i in range(len(data))])
  1. 显示图形:
代码语言:txt
复制
plt.show()

这样,就可以在循环内使用scipy生成新的直方图,并将它们绘制在同一张图上。请注意,这里使用的是scipy库中的norm函数生成随机数据,你也可以根据实际需求使用其他数据源。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券