当前位置: 首页 > news >正文

火柴棒图python绘画

使用Python绘制二项分布的概率质量函数(PMF)

在这篇博客中,我们将探讨如何使用Python中的scipy库和matplotlib库来绘制二项分布的概率质量函数(PMF)。二项分布是统计学中常见的离散概率分布,描述了在固定次数的独立试验中,成功次数的分布情况。
在这里插入图片描述

代码示例

以下是一个完整的代码示例,展示了如何绘制二项分布的PMF:

from scipy.stats import binom
import pylab as plt# 定义二项分布的参数
n = 6  # 试验次数
p = 0.3  # 成功概率# 生成可能的成功次数
x = plt.arange(7)  # 0到6的整数
y = binom.pmf(x, n, p)  # 计算每个成功次数的概率# 创建第一个子图:竖线图
plt.subplot(121)
plt.plot(x, y, 'ro')  # 绘制红色圆点
plt.vlines(x, 0, y, 'k', lw=2, alpha=0.5)  # 绘制竖线
plt.xlabel('成功次数')
plt.ylabel('概率')
plt.title('竖线图')# 创建第二个子图:茎叶图
plt.subplot(122)
plt.stem(x, y, use_line_collection=True)  # 绘制茎叶图
plt.xlabel('成功次数')
plt.ylabel('概率')
plt.title('茎叶图')# 保存图像并显示
plt.savefig("figure9_2.png", dpi=500)
plt.show()
代码解释
  1. 导入库

    from scipy.stats import binom
    import pylab as plt
    

    我们导入了scipy.stats中的binom模块来处理二项分布,并导入pylab作为绘图工具。

  2. 定义参数

    n = 6  # 试验次数
    p = 0.3  # 成功概率
    

    这里我们定义了二项分布的参数:试验次数n和成功概率p

  3. 生成数据

    x = plt.arange(7)  # 0到6的整数
    y = binom.pmf(x, n, p)  # 计算每个成功次数的概率
    

    我们生成了可能的成功次数x(从0到6),并计算了每个成功次数的概率y

  4. 绘制竖线图

    plt.subplot(121)
    plt.plot(x, y, 'ro')  # 绘制红色圆点
    plt.vlines(x, 0, y, 'k', lw=2, alpha=0.5)  # 绘制竖线
    plt.xlabel('成功次数')
    plt.ylabel('概率')
    plt.title('竖线图')
    

    在第一个子图中,我们绘制了竖线图,使用红色圆点表示每个成功次数的概率,并用黑色竖线从x轴延伸到每个点。

  5. 绘制茎叶图

    plt.subplot(122)
    plt.stem(x, y, use_line_collection=True)  # 绘制茎叶图
    plt.xlabel('成功次数')
    plt.ylabel('概率')
    plt.title('茎叶图')
    

    在第二个子图中,我们绘制了茎叶图,使用竖线和圆点来表示每个成功次数的概率。

  6. 保存并显示图像

    plt.savefig("figure9_2.png", dpi=500)
    plt.show()
    

    最后,我们将图像保存为高分辨率的PNG文件,并显示图像。

总结

通过这篇博客,我们学习了如何使用Python绘制二项分布的概率质量函数(PMF)。我们使用了scipy库来计算二项分布的概率,并使用matplotlib库绘制了竖线图和茎叶图。这些图表可以帮助我们更好地理解二项分布的特性和行为。

希望这篇博客对你有所帮助!如果你有任何问题或建议,欢迎在评论区留言。谢谢阅读!

http://www.lryc.cn/news/397146.html

相关文章:

  • Nginx七层(应用层)反向代理:UWSGI代理uwsgi_pass篇
  • Effective C++笔记之二十一:One Definition Rule(ODR)
  • 探索未来:Transformer模型在智能环境监测的革命性应用
  • Nginx中文URL请求404
  • 33. 动量法(Momentum)介绍
  • Python | Leetcode Python题解之第228题汇总区间
  • 物联网应用,了解一点 WWAN全球网络标准
  • 如何指定多块GPU卡进行训练-数据并行
  • RK3568笔记三十三: helloworld 驱动测试
  • 【智能制造-14】机器视觉软件
  • MVC分页
  • webGL可用的14种3D文件格式,但要具体问题具体分析。
  • HybridCLR原理中的重点总结
  • 昇思学习打卡-14-ResNet50迁移学习
  • 软件开发面试题C#,.NET知识点(续)
  • 2019年美赛题目Problem A: Game of Ecology
  • 沙龙回顾|MongoDB如何充当企业开发加速器?
  • 云端编码:将您的技术API文档安全存储在iCloud的最佳实践
  • 在Spring Boot项目中集成单点登录解决方案
  • Java-常用API
  • Python从Excel表中查找指定数据填入新表
  • 从零开始实现大语言模型(三):Token Embedding与位置编码
  • 视频怎么压缩变小?最佳视频压缩器
  • LLM - 绝对与相对位置编码 与 RoPE 旋转位置编码 源码
  • B3917 [语言月赛 202401] 小跳蛙
  • Bash ——shell
  • PyTorch复现PointNet——模型训练+可视化测试显示
  • 分享五款软件,成为高效生活的好助手
  • 代码随想录算法训练营DAY58|101.孤岛的总面积、102.沉没孤岛、103. 水流问题、104.建造最大岛屿
  • 韦尔股份:深蹲起跳?