数据可视化Python实现超详解【数据分析】

news2024/11/27 1:30:28
各位大佬好 ,这里是阿川的博客,祝您变得更强

在这里插入图片描述 个人主页:在线OJ的阿川

大佬的支持和鼓励,将是我成长路上最大的动力在这里插入图片描述

阿川水平有限,如有错误,欢迎大佬指正在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Python 初阶
Python–语言基础与由来介绍
Python–注意事项
Python–语句与众所周知
数据清洗前 基本技能
数据分析—技术栈和开发环境搭建
数据分析—Numpy和Pandas库基本用法及实例
数据可视化前 必看
数据分析—三前奏:获取/ 读取/ 评估数据
数据分析—数据清洗操作及众所周知
数据分析—数据整理操作及众所周知
数据分析—统计学基础及Python具体实现

目录

  • 可视化介绍
  • 一维图表
    • 补充的话
  • 二维图表
    • 补充的话
  • 多维图表
    • 补充的话
  • 互相对比

可视化介绍

可视化是数据分析中 很重要 的一个环节

  • 一图胜千言
    • 发现隐藏的关系趋势影响
    • 可视化本身也是一种探索数据分析数据方式
  • 可视化中的图表可从维度主要分为一维图表二维图表多维图表互相对比图表

在这里插入图片描述

  • 主要用的为:seabornmatplotlib
    • cmd安装pip install seabornpip install matplotlib

请添加图片描述

请添加图片描述
阿里云的镜像源

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

  • jupyter中导入
    • import seaborn as sns
    • import matplotlib.pyplot as plt
      • 大部分我们使用的功能都在pyplot的子模板下

请添加图片描述

一维图表

一维图表

  • 直方图 Histogram
    • 表示数据分布
      • 助于展示数据频率分布
    • 横轴数据范围
    • 纵轴个数
    • 一个数值变量.

在这里插入图片描述

  • sns.histplot(变量名)

请添加图片描述

  • 密度图 KernelDensity
    • 表示数据分布
      • 平滑的曲线,更易看出分布形状

在这里插入图片描述

  • sns.kdeplot(变量名)

在这里插入图片描述

  • 箱型图 BoxPlot

在这里插入图片描述

  • 其中上界为最大值或者上界等于第三四分位数加上1.5×四分位距,跟上界进行比较,谁取谁,作为上界

在这里插入图片描述

  • 其中下界为最小值或者下界等于第一四分位数减去1.5×四分位距,跟下界进行比较,谁取谁,作为下界

在这里插入图片描述
这样做的好处是可以帮助我们发现数据当中的异常值

  • sns.boxplot(变量名)

请添加图片描述

  • 小提琴图 ViolinPlot
    • 结合了密度图直方图箱形图
    • 横轴数据分布
    • 纵轴概率密度

在这里插入图片描述

  • sns.violinplot(变量名)

在这里插入图片描述

补充的话

上述这些一维图表中参数可以传入DataFrame
(DataFrame名,x=" “,y=” ")
在这里插入图片描述
在这里插入图片描述

若要更改一维图表中的标题标签
plt.title(" ")
更改 x轴标签
plt.xlabel(" ")
更改 y轴标签
plt.ylabel(" ")

在这里插入图片描述
因为matplotlib库中默认的字体,它不支持中文,所以要自己手动更换支持中文的字体
查看支持中文的字体,如下:

import matplotlib.pyplot as plt
import seaborn as sns
from matplotlib.font_manager import FontManager

font_manager = FontManager()
print(set(f.name for f in font_manager.ttflist))

更换字体,如下:

matplotlib.rc("font",family='Heiti TC')

二维图表

  • 折线图 LinePlot
    • 用于展示连续间隔或时间跨度上数值的变化,从而看出趋势变化
    • 两个 数值变量
    • 一个颜色,即可多表示一个分类变量

在这里插入图片描述

  • sns.lineplot(data=DataFrame名,x=" “,y=” ")

在这里插入图片描述

  • 饼图 PiePlot
    • 展示各个分类对应数值之间的比例
    • 一个分类变量一个数值变量

在这里插入图片描述

  • plt.pie(DataFrame名[“数值变量列]”,labels=DataFrame名[“分类变量列”])
    • autopct="%.1f%%" 该参数可以显示百分比%可以告诉系统,这是用来展示格式字符串%%告诉系统,这是百分比结尾

在这里插入图片描述

  • 散点图 ScatterPlot
    • 展示两个数值变量关系
      • 可以看出两个变量之间的相关性
    • x轴:一个变量的值
    • y轴:一个变量的值

在这里插入图片描述

  • sns.scatterplot(DataFrame名,x=" “,y=” ")
  • 或者 sns.scatterplot(x=DataFrame[" “],y=DataFrame[” "])

在这里插入图片描述

  • 条形图 BarPlot
    • 横轴分类类别
    • 纵轴数值
    • 一个分类变量一个数值变量

在这里插入图片描述

  • sns.barplot(data=DataFrame名,x=" “,y=” ")
    • estimator 该参数可以指定纵轴的高度对应所属分类下的所有值的样式不写该参数,则默认纵轴高度对应所属分类下的所有值的平均值

在这里插入图片描述

在这里插入图片描述

但在条形图基础上,若纵轴记录个数,则

  • 计数图 countplot
    • sns.countplot(data=DataFrame名, x=" ") Y轴自动聚合成x里面的个数

在这里插入图片描述

补充的话

上述图表的颜色有点不合时宜更新颜色
color="颜色 " 或者 sns. set_palette(" 色盘")

在这里插入图片描述

在这里插入图片描述

常用的颜色有:

在这里插入图片描述

这里推荐这个网站:中国色,里面有非常多美丽的颜色,调色师、设计师必备哦

在这里插入图片描述

常用的色板有:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

多维图表

更多维
面积大小颜色区分新的变量

  • 气泡图
    • 引入新的数值变量,用面积大小来区分
      在这里插入图片描述

    • plt.scatterplot(DataFrame,x=" “,y=” “,size=” ")

在这里插入图片描述

  • 热力图 Heatmap
    • 两个分类变量一个数值变量
    • x轴y轴分别表示不同的分类变量颜色代表数值变量

在这里插入图片描述

  • plt.heatmap(annot=True)
    • annot参数表示具体数值展示出来

在这里插入图片描述

  • 复式条形图
    • 在条形图的基础上引入多个条柱,则表示多个分类变量

在这里插入图片描述

  • sns.barplot(data=DataFrame名,x=" “,y=” ",hue="分类变量 " )

在这里插入图片描述

补充的话

在基础图表的基础上加一种颜色加一下面积大小,即可表示更多的变量
plt.scatterplot(DataFrame,x=" “,y=” “,hue=” “,size=” ")

在这里插入图片描述

更改图例位置:
plt.legend(bbox_to_anchor=( 数字1 ,数字2))

  • 数字1中有零/一可能性,数字2中有零/一可能性
    • 数字一表示图例在图表的左边表示在图表的右边
    • 数字二表示图例在图表的下面表示在图表的上面

在这里插入图片描述

互相对比

将这些图表互相对比挖掘出更多信息

在同一个单元格里输入 多个相同的图表的公式
最后plt.show() 出来
此时多个相同图表就在一个图上了。

  • binwidth 该参数可以改变图表的长度
  • label 该参数为图例标签

例如以直方图
那么最后呈现的结果若没有展现出图例标签,则再加一个plt.legend()

在这里插入图片描述

密度图也是同样的道理,但不需要binwidth参数,因为它是一条平滑的曲线

在这里插入图片描述

箱形图

  • 没有label和binwidth参数,只有y轴/x轴参数

在这里插入图片描述

小提琴图也是同样的道理

在这里插入图片描述

但会显得很拥挤,更好选择是将分类变量作为x轴的变量,即x=" "

若想将不同的类型的图 并排放在一起
fig,axes=plt.subplots(行,列,figsize=(高,宽))

  • fig 代表大图
  • axis代表小图

在这里插入图片描述

这里是绘制空白图

想要的图形种类中,加入ax参数=axes[n]

  • n表示第n个子图,n从0开始

在这里插入图片描述

配对图 pairplot

  • 能将DataFrame中的数值变量两两关系分布出来
    • 各变量分布直方图绘制出来
    • 不同变量两两之间的关系绘制成散点图
  • sns.pairplot(,hue=" 分类变量")
    • 可以探讨不同分类变量之间的数值关系

在这里插入图片描述

在这里插入图片描述

好的,到此为止啦,祝您变得更强

在这里插入图片描述
想说的话

实不相瞒,写的这篇博客写了十一个小时(加上自己学习和纸质笔记,共十三小时吧),很累希望大佬支持

在这里插入图片描述

道阻且长 行则将至

个人主页:在线OJ的阿川大佬的支持和鼓励,将是我成长路上最大的动力 在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1808656.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习模型的生命周期与推理系统架构

目录 深度学习模型的生命周期 ​编辑 深度学习模型的生命周期 推理相比训练的新特点与挑战 推理系统架构 推理系统 vs 推理引擎 顶层:API接口和模型转换 中层:运行时(计算引擎) 底层:硬件级优化 边缘设备计算 主要问题 边缘部署和推理方式 方式1:边缘设备计…

0元白嫖阿里云4G内存云服务器——感谢伟大的CSDN和阿里云

🧸欢迎来到dream_ready的博客,📜相信您对博主首页也很感兴趣o (ˉ▽ˉ;) 学生邮箱白嫖/免费安装JetBrains全家桶(IDEA/pycharm等) —— 保姆级教程-CSDN博客 目录 1、学生认证领取300元优惠券 ​2、购买云服务器 1、学生认证领取…

Upscayl:款利用人工智能技术,深度学习算法,实现图像无损放大和增强的强大工具。

Upscayl AI: Upscayl AI是一款基于先进的人工智能技术,特别是深度学习算法开发的图像增强工具。它能够智能地分析并改善图像质量,实现无损放大、细节重建和模糊消除,让老旧、低分辨率或模糊的照片焕发新生,达到高清画…

【图论应用】使用多路图(multigraph)对上海地铁站点图建模,并解决最短路径问题

文章目录 1 前言2 导包导入数据集3 创建多路图,导入节点和边信息3 绘制线路图4 计算最短路径 1 前言 最近正在学习图神经网络,先pick up了一些最基础的图论知识并学习了一些好玩的应用。 本文启发于B站视频(BV1LY411R7HJ)&#…

自动驾驶跟驰仿真

联合仿真需求分析报告 一、项目背景 随着汽车技术的快速发展,自动驾驶和智能网联汽车已成为行业发展的重要趋势。为确保自动驾驶车辆在复杂交通环境中的安全性和可靠性,进行联合仿真测试显得尤为重要。本报告旨在明确联合仿真的具体需求,为…

基本表的定义:创建表、修改表、删除表

一、创建数据库与打开数据库 学生选课数据库 学生(学号,姓名,性别,出生时间,所在系) 课程(课程编号,课程名,先修课程号) 选课(学号&#xff0…

浅析Vue3 实战笔记(一)

本文是结合实践中和学习技术文章总结出来的笔记(个人使用),如有雷同纯属正常((✿◠‿◠)) 喜欢的话点个赞,谢谢! 有问题欢迎指正!! 前面已经讲了基本的Vue生命周期和入门知识,本篇开始使用Vite构建一个demo 1. 创建项目 1.1. 初始化项目 使用Vite初始化项目 yarn create v…

简单了解java中的异常

异常 1、异常的概述 1.1、概述 异常就是程序出现了不正常的情况,程序在执行过程中,数据导致程序不正常,最终导致JVM的非正常停止。语句错误不算在异常体系中。 1.2、异常的存在形式 异常有类型之分,比如我们比较熟悉的数组越…

【C++11】常见的c++11新特性(一)

文章目录 1. C11 简介2. 常见的c11特性3.统一的列表初始化3.1initializer_list 4. decltype与auto4.1decltype与auto的区别 5.nullptr6.右值引用和移动语义6.1左值和右值6.1.1左值的特点6.1.2右值的特点6.1.3右值的进一步分类 6.2左值引用和右值引用以及区别6.2.1左值引用6.2.2…

两台电脑通过网线直连共享数据(超详细)- 我的实践记录

原文链接 按照原文的操作,成功通过直连网线连接了两台windows电脑并共享传输数据。 ping不通可能是防火墙没关闭导致的,但是完全关闭防火墙又不安全。 那么有没有不关闭防火墙,能够上网,又能直连另一台电脑呢? 我们…

tokenization(一)概述

文章目录 背景基于词(Word-based)基于字符(Character-based)子词词元化(Subword tokenization) 背景 tokenization是包括大语言模型在内所有自然语言处理的任务的基础步骤,其目标是将文本数据转…

数据结构:二叉树的实现

目录 二叉树的遍历方式 前序遍历: 中序遍历: 后序遍历: 二叉树的基本结构和功能 基本结构: 基本功能: 二叉树功能的实现思路 二叉树功能的实现 1、构建一个二叉树 2、二叉树的销毁 3、计算二叉树里的节点个数 4、得…

音频数据上的会话情感分析

情感分析,也被称为观点挖掘,是自然语言处理(NLP)中一个流行的任务,因为它有着广泛的工业应用。在专门将自然语言处理技术应用于文本数据的背景下,主要目标是训练出一个能够将给定文本分类到不同情感类别的模型。下图给出了情感分类器的高级概述。 例如,三…

从零开始理解AdaBoost算法:设计思路与算法流程(二)【权值更新与加权表决、数学公式】

设计思路 AdaBoost算法属于Boosting算法家族中的一种,其基本思路是将多个弱分类器组合成一个强分类器。 “强分类器”是指一个分类准确率较高的模型“弱分类器”则是指分类准确率略高于随机猜测的简单模型。 AdaBoost的核心思想是通过 加权 的方式逐步提高分类器…

Tomcat源码解析(八):一个请求的执行流程(附Tomcat整体总结)

Tomcat源码系列文章 Tomcat源码解析(一):Tomcat整体架构 Tomcat源码解析(二):Bootstrap和Catalina Tomcat源码解析(三):LifeCycle生命周期管理 Tomcat源码解析(四):StandardServer和StandardService Tomcat源码解析(五)&…

keda-P0460. 潜水员

可达信奥 - 登录 - 可达信奥https://kedaoi.cn/p/P0460 代码思路: 01背包DP。 思路也是比较经典的,就是看用这个水缸的最小值小,还是不用这个水缸的最小值小。但是这里涉及到一个初始化的问题,因为要求最小所以初始化理应…

使用NetAssist网络调试助手在单台计算机上配置TCP服务器和客户端

要使用NetAssist网络调试助手在同一台计算机上配置一个实例作为服务器(server)和另一个实例作为客户端(client),可以按照以下步骤进行操作: 前提条件 确保已经安装NetAssist网络调试助手,并了…

streamlit:如何快速构建一个应用,不会前端也能写出好看的界面

通过本文你可以了解到: 如何安装streamlit,运行起来第一个demo熟悉streamlit的基本语法,常用的一些组件使用streamlit库构建应用 大模型学习参考: 大模型学习资料整理:如何从0到1学习大模型,搭建个人或企业…

鞠小云张霖浩闪耀北京广播电视台春晚发布会,豪门姐弟感爆棚

昨日,2025年北京广播电视台“追梦春晚”全国海选发布会在杭州举行,中国内地青年女演员鞠小云同人气幕后张霖浩,受主办方盛情邀请出席本次活动。从现场流露出的照片中可以看出,鞠小云一袭白色长裙灵动温婉素雅,而张霖浩…

springboot与flowable(1):介绍、Flowable-ui使用

一、工作流引擎使用场景 工作流在企业管理系统中是高频使用的功能,一个最常见的例子是请假加班申请与审批的过程。事实上,工作流引擎能支持的业务场景远远不止单据审批,几乎所有涉及到业务流转、多人按流程完成工作的场景背后都可以通过工作流…