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

各位大佬好 ,这里是阿川的博客,祝您变得更强

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【PowerDesigner】创建和管理CDM之新建实体

目录 🌊1. PowerDesigner简介 🌍1.1 常用模型文件 🌍1.2 PowerDesigner使用环境 🌊2. 创建和管理CDM 🌍​​​​​​2.1 新建CDM 🌍2.2 新建实体 🌊1. PowerDesigner简介 🌍1…

Innodb Buffer Pool缓存机制(三)Innodb Buffer Pool内部组成

一、控制块缓存页 Buffer Pool中默认的缓存页大小和在磁盘上默认的页大小是一样的,都是16KB。为了更好的管理这些在Buffer Pool中的缓存页,InnoDB为每一个缓存页都创建了一些所谓的控制信息,这些控制信息包括该页所属的表空间编号、页号、缓存…

11.链表

数组的分类:便于遍历 静态数组:int arr[10]数据过多造成空间溢出,数据过小空间浪费 动态数组:malloc calloc realloc 合理利用空间不能快捷的插入或删除数据(会涉及到大量的数据移动) 知识点一&#xff1…

【Python】使用pip安装seaborn sns及失败解决方法与sns.load_dataset(“tips“)

😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。 🤓 同时欢迎大家关注其他专栏,我将分享Web前后端开发、人工智能、机器学习、深…

system 和 exec 的区别

在 linux 中,使用 system 和 exec 都可以执行一个程序或者执行一个命令。两者的区别如下: system 中创建了一个子进程,在子进程中执行用户的命令,子进程执行完毕之后,system 会返回。exec 不会创建子进程,…

pdf的压缩该怎么做?快速在线压缩pdf的方法

pdf文件是现在很常用的一种文件格式,有很多的文件内容都可以通过这种格式来展示内容,比如一些通知文件、设计图、个人信息等等,文件的内容越多就会越大,在使用的时候经常会受到一定的限制。那么有什么方法能够快速的将pdf文件变小…

计算机提示msvcp120.dll如何修复,7个不同方法分享

msvcp120.dll 是 Microsoft Visual C Redistributable 的一个关键组件,它包含了 C 运行时库,这些库对基于 Visual C 编写的应用程序至关重要。当应用程序运行时,msvcp120.dll 会被加载到内存中以提供必要的函数和类支持。 一、msvcp120.dll功…

详解python中的pandas.read_csv()函数

😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。 🤓 同时欢迎大家关注其他专栏,我将分享Web前后端开发、人工智能、机器学习、深…

从GPU到ASIC,博通和Marvell成赢家

ASIC市场上,博通预计今年AI收入将达到110亿美元以上,主要来自与Google和Meta的合作;Marvell预计2028年AI收入将达到70亿至80亿美元,主要来自与Amazon和Google的合作。 随着芯片设计和系统复杂性的增加,科技大厂将更多地…

初阶 《函数》 2.C语言中函数的分类

2.C语言中函数的分类 1.库函数 2.自定义函数 2.1 库函数 为什么会有库函数? 1.我们知道在我们学习C语言编程的时候,总是在一个代码编写完成之后迫不及待的想知道结果,想把这个结果打印到我们的屏幕上看看。这个时候我们会频繁的使用一个功能…

排序-快排算法对数组进行排序

目录 一、问题描述 二、解题思路 1.初始化 2.将右侧小于基准元素移到左边 3.将左侧大于基准元素移到右边 4.重复执行上面的操作 5.对分好的左、右分区再次执行分区操作 6.最终排序结果 三、代码实现 四、刷题链接 一、问题描述 二、解题思路 快排算法实现数组排序&am…

配置 JDK 和 Android SDK

目录 一、配置JDK 1. 安装 JDK 2. JDK 环境配置 3. JDK的配置验证 二、配置 adb 和Android SDK环境 1、下载 2、配置 Android SDK 环境 一、配置JDK 1. 安装 JDK 安装链接:Java Downloads | Oracle 我安装的是 .zip ,直接在指定的文件夹下解压就…

产品创新:驱动企业增长的核心动力

在当今快速变化的市场环境中,产品创新已成为企业生存和发展的关键。产品创新不仅涉及全新产品或服务的开发,也包括对现有产品或服务的持续改进和优化。本文将深入探讨产品创新的定义、重要性以及如何通过创新驱动企业增长,并结合实际案例进行…

Redis系列之淘汰策略介绍

Redis系列之淘汰策略介绍 文章目录 为什么需要Redis淘汰策略?Redis淘汰策略分类Redis数据淘汰流程源码验证淘汰流程Redis中的LRU算法Redis中的LFU算法 为什么需要Redis淘汰策略? 由于Redis内存是有大小的,当内存快满的时候,又没有…

IO进程线程(十一)进程间通信 消息队列

文章目录 一、IPC(Inter-Process Communication)进程间通信相关命令 :(一)ipcs --- 查看IPC对象(二)获取IPC键值(三)删除IPC对象的命令(四)获取IPC键值的函数1. 函数定义…

13 RTP包的使用

RTP RTP包最主要的就是Sequence number。 对于发送者来说,视频的每一个帧都有很多包组成。对于接收端来接收的时候是有一个队列进行接收的。这个队列大小都是通过计算的。有了队列之后就会不断的往队列中插入数据。当队列中有的数据超时一直组不成包的时候&#xf…

k8s离线部署Calico网络(2续)

下载离线镜像 百度网盘 链接:https://pan.baidu.com/s/14ReJW-ZyYZFLbwSEBZK6mA?pwdi6ct 提取码:i6ct 1.将离线镜像上传至所有服务器并解压: [rootmaster ~]# tar xf calico.tar.gz [rootmaster ~]# cd calico 2.所有服务器使用for循环导入…

【微服务】springcloud-alibaba 配置多环境管理使用详解

目录 一、前言 二、配置多环境问题概述 2.1 什么是微服务多环境配置管理 2.1.1 微服务多环境配置管理问题起源 2.2 为什么要做多环境配置管理 2.3 微服务多环境配置管理解决方案 三、springboot 配置多环境管理解决方案 3.1 前置准备 3.1.1 搭建一个springboot工程 3.…

IO流(转换流)

InputStreamReader(字符输入转换流 ) 解决不同编码时,字符流读取文本内容乱码的问题 public static void main(String[] args) {try (//1.得到文件的原始字节流(GBK的字节流形式)FileInputStream is new FileInputStream("src/666.tx…

前端实现点击图片放大查看,并点击关闭

效果展示 HTML 代码 HTML代码比较简单&#xff0c;包含了一个img元素&#xff0c;用显示原有图片&#xff0c;和一个模态框元素div&#xff0c;用于显示放大之后的图片元素&#xff0c;模拟模态框的样式 <!DOCTYPE html> <html lang"en"> <head>…