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

python数据可视化(6)——绘制散点图

课程学习来源:b站up:【蚂蚁学python】
【课程链接:【【数据可视化】Python数据图表可视化入门到实战】】
【课程资料链接:【链接】】

Python绘制散点图查看BMI与保险费的关系

散点图:

  • 用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式
  • 散点图核心的价值在于发现变量之间的关系,然后进行预测分析,做出科学的决策

实例:医疗费用个人数据集中,"身体质量指数BMI"与"个人医疗费用"两者之间的关系

数据集原地址:https://www.kaggle.com/mirichoi0218/insurance/home

1.读取保险费数据集

import pandas as pddf = pd.read_csv("../DATA_POOL/PY_DATA/ant-learn-visualization-master/datas/insurance/insurance.csv")df.head(10)
agesexbmichildrensmokerregioncharges
019female27.9000yessouthwest16884.92400
118male33.7701nosoutheast1725.55230
228male33.0003nosoutheast4449.46200
333male22.7050nonorthwest21984.47061
432male28.8800nonorthwest3866.85520
531female25.7400nosoutheast3756.62160
646female33.4401nosoutheast8240.58960
737female27.7403nonorthwest7281.50560
837male29.8302nonortheast6406.41070
960female25.8400nonorthwest28923.13692
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1338 entries, 0 to 1337
Data columns (total 7 columns):#   Column    Non-Null Count  Dtype  
---  ------    --------------  -----  0   age       1338 non-null   int64  1   sex       1338 non-null   object 2   bmi       1338 non-null   float643   children  1338 non-null   int64  4   smoker    1338 non-null   object 5   region    1338 non-null   object 6   charges   1338 non-null   float64
dtypes: float64(2), int64(2), object(3)
memory usage: 73.3+ KB

2.pyecharts绘制散点图

# 将数据按照bmi升序排列
df.sort_values(by = "bmi", inplace = True)# inplace =true 表示直接更改df本身的数据
df.head()
agesexbmichildrensmokerregioncharges
17218male15.9600nonortheast1694.79640
42821female16.8151nonortheast3167.45585
122638male16.8152nonortheast6640.54485
41226female17.1952yesnortheast14455.64405
128628female17.2900nonortheast3732.62510
bmi = df["bmi"].to_list()
charges = df["charges"].to_list()
import pyecharts.options as opts
from pyecharts.charts import Scatter
scatter = (Scatter().add_xaxis(xaxis_data = bmi).add_yaxis(series_name = "",y_axis = charges,symbol_size = 4,label_opts = opts.LabelOpts(is_show = False)).set_global_opts(xaxis_opts = opts.AxisOpts(type_ = "value"),yaxis_opts = opts.AxisOpts(type_ = "value"),title_opts = opts.TitleOpts(title = "(BMI-保险费)关系图", pos_left = "center"))
)
from IPython.display import HTML# 同上,读取 HTML 文件内容
# bar.render()的值是一个路径,以字符串形式表示
with open(scatter.render(), 'r', encoding='utf-8') as file:html_content = file.read()# 直接在 JupyterLab 中渲染 HTML
HTML(html_content)

在这里插入图片描述

Awesome-pyecharts

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

相关文章:

  • 【人工智能】Transformers之Pipeline(二):自动语音识别(automatic-speech-recognition)
  • Mysql-错误处理: Found option without preceding group in config file
  • [iOS]内存分区
  • sklearn基础教程:掌握机器学习入门的钥匙
  • 【unity实战】使用unity制作一个红点系统
  • 开发指南046-机构树控件
  • SpringBatch文件读写ItemWriter,ItemReader使用详解
  • 如何评估AI模型:评估指标的分类、方法及案例解析
  • 程序员学CFA——经济学(七)
  • imx335帧率改到10fps的方法
  • Large Language Model系列之二:Transformers和预训练语言模型
  • java后端项目启动失败,解决端口被占用问题
  • PostgreSQL安装/卸载(CentOS、Windows)
  • OutOfMemoryError异常OOM排查
  • 【Python】Arcpy将excel点生成shp文件
  • torch之从.datasets.CIFAR10解压出训练与测试图片 (附带网盘链接)
  • 什么ISP?什么是IAP?
  • 外卖霸王餐系统怎么快速盈利赚钱?
  • Linux环境下安装Nodejs
  • 【Rust】字符串String类型学习
  • 先验概率 后验概率 最大似然估计 自编码器AE
  • qt 鼠标接近某线时,形状变化举例
  • 800块,我从淘宝上买AGV……
  • C++相关概念和易错语法(21)(虚函数、协变、析构函数的重写)
  • SoulApp创始人张璐团队以AI驱动社交进化,平台社交玩法大变革
  • MySQL事务隔离级别+共享锁,排他锁,乐观锁,悲观锁
  • Zynq系列FPGA实现SDI编解码转SFP光口传输(光端机),基于GTX高速接口,提供6套工程源码和技术支持
  • SpringBoot实现图形验证码
  • 【JVM基础01】——介绍-初识JVM运行流程
  • 图数据库 - Neo4j简介