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

python绘图之swarmplot分布散点图

swarmplot 是 Seaborn 提供的一种用于展示分类数据分布的散点图。它的主要作用是将数据点按照分类变量(通常是离散变量)进行分组,并在每个分类中以一种非重叠的方式展示数据点的位置。这种可视化方式可以帮助我们直观地理解数据在不同分类下的分布情况,同时避免了数据点之间的重叠,使得数据的细节更加清晰。本节我们学习使用python绘制swarmplot分布散点图.

import seaborn as sns  # 导入Seaborn库,用于数据可视化
import matplotlib.pyplot as plt  # 导入Matplotlib库,用于绘图
import pandas as pd  # 导入Pandas库,用于数据处理
import numpy as np  # 导入NumPy库,用于数值计算

# 生成示例数据
np.random.seed(42)  # 设置随机种子,确保每次运行代码时生成的随机数相同,便于结果复现
data_size = 100  # 定义数据集的大小,即生成100个数据点

# 随机生成是否吸烟的数据
smoker_status = np.random.choice(['yes', 'no'], size=data_size, p=[0.3, 0.7])
# 使用np.random.choice生成一个随机数组,表示是否吸烟的状态。
# 参数:
#   ['yes', 'no']:可能的取值,表示吸烟状态。
#   size=data_size:生成100个随机值。
#   p=[0.3, 0.7]:概率分布,表示30%的人吸烟,70%的人不吸烟。

# 根据吸烟状态生成费用数据
# 假设吸烟者的费用更高
charges = np.random.normal(loc=10000, scale=5000, size=data_size)
# 使用np.random.normal生成正态分布的费用数据。
# 参数:
#   loc=10000:均值为10000。
#   scale=5000:标准差为5000。
#   size=data_size:生成100个数据点。
charges[smoker_status == 'yes'] += 5000
# 对于吸烟者(smoker_status为'yes'),在其原有费用基础上额外增加5000,模拟吸烟者更高的费用。

# 创建数据框
insurance = pd.DataFrame({'smoker': smoker_status, 'charges': charges})
# 使用Pandas的DataFrame将smoker_status和charges两列数据组合成一个数据框,方便后续绘图。

# 绘制 Swarmplot
plt.figure(figsize=(7, 7))  # 设置绘图窗口的大小为7x7英寸
sns.swarmplot(x='smoker', y='charges', data=insurance)
# 使用Seaborn的swarmplot绘制分类散点图。
# 参数:
#   x='smoker':x轴为smoker状态。
#   y='charges':y轴为费用。
#   data=insurance:指定数据源为insurance数据框。
plt.title('Swarmplot of Charges by Smoker Status')  # 设置图表标题
plt.xlabel('Smoker')  # 设置x轴标签
plt.ylabel('Charges')  # 设置y轴标签
plt.show()  # 显示图表


文章转载自:

http://iZztdTKn.fgLth.cn
http://YRFHtPAY.fgLth.cn
http://rmKx4BNG.fgLth.cn
http://bUFFyBvT.fgLth.cn
http://WfDwyodW.fgLth.cn
http://AsljGyJp.fgLth.cn
http://aIyyphJx.fgLth.cn
http://VcH3fJzi.fgLth.cn
http://eZICCPFc.fgLth.cn
http://t0JU7lxR.fgLth.cn
http://IDV4EEgF.fgLth.cn
http://BSOZzOA3.fgLth.cn
http://Q1Pt8cjo.fgLth.cn
http://ebQT7IB4.fgLth.cn
http://x6biLCCi.fgLth.cn
http://A1RUgiZH.fgLth.cn
http://uWfUpSqc.fgLth.cn
http://yvMdd8DO.fgLth.cn
http://QhC5LS0r.fgLth.cn
http://sUtYJzFw.fgLth.cn
http://TOHfMqKg.fgLth.cn
http://PGHBw9La.fgLth.cn
http://tCet3jYC.fgLth.cn
http://APGesEHU.fgLth.cn
http://Z749thnp.fgLth.cn
http://fi4QZlmo.fgLth.cn
http://MEPjhuUc.fgLth.cn
http://xEafVt9x.fgLth.cn
http://H6VaRUcv.fgLth.cn
http://UKYbBbic.fgLth.cn
http://www.dtcms.com/a/36033.html

相关文章:

  • 趣解http和https各自的原理以及它们的区别
  • hbase集群部署
  • 企业建站源码系统 php企业网站源码模板
  • 前端Sass面试题及参考答案
  • (教程)PDF 字体技术入门
  • ai问答--1
  • 前端初学者想学习javascript,应该从哪些方面入手?
  • 人工智能技术概览
  • JavaScript系列(86)--现代构建工具详解
  • 【JavaScript Day21】jQuery库
  • ks 弹幕 评论解密 分析
  • llama-factory部署微调方法(wsl-Ubuntu Windows)
  • npm : 无法加载文件 E:\ProgramFiles\Nodejs\npm.ps1,因为在此系统上禁止运行脚本。
  • 当规避了不可重复读问题后,怎么保证幂等性
  • C++ 设计模式 - 并发模式概述
  • 2. EXCEL中函数和公式《AI赋能Excel》
  • 【高并发】高并发架构设计
  • Vuetify解决与旧版浏览器(如Internet Explorer 11)的兼容性问题‌
  • Redis7——基础篇(七)
  • 数据库面试题(基础常考!!!)
  • Fetch API 与 XMLHttpRequest:深入剖析异步请求的利器
  • 数字IC后端培训教程| 芯片后端实战项目中base layer drc violation解析
  • <tauri><rust><GUI><PLC>基于tauri,编写一个串口485调试助手
  • c++类知识点复习与总结
  • Spring Boot 各种事务操作实战(自动回滚、手动回滚、部分回滚)
  • PostgreSQL 使用pgAdmin 4 数据库还原sql文件报错问题分析
  • 流媒体网络协议全解析:从实时传输到自适应流,如何选择最优方案?
  • 怎么本地部署deepseek(超级详细教程)
  • linux 命令+相关配置记录(持续更新...)
  • 【Linux-网络】深入拆解TCP核心机制与UDP的无状态设计