数据可视化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 FontManagerfont_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.mzph.cn/web/25590.shtml

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

相关文章

后端服务器启动访问

VisualStudioCode(VSCode) 服务器启动 浏览器中测试访问 http://localhost:3000

算法笔记1-高精度模板(加减乘除)个人模板

目录 加法 减法 乘法 ​编辑 除法 加法 #include <iostream> #include <cstring> #include <algorithm> #include <cmath> #include <queue>using namespace std;typedef pair<int,int> PII;const int N 1e5 10;int n; int a[N],…

ROS学习记录:C++节点发布自定义地图

前言 ROS栅格地图格式 在了解了ROS地图消息包的数据结构后(链接在上)&#xff0c;本文将编写一个节点&#xff0c;发布地图消息包&#xff0c;看看在RViz中显示是什么效果。 一、准备 1、为了简单起见&#xff0c;发布一个两行四列的地图 2、为了便于观测&#xff0c;只对地…

SmartEDA VS Multisim/Proteus:电子设计江湖,谁主沉浮?

在电子设计的江湖里&#xff0c;SmartEDA、Multisim和Proteus无疑是几大门派&#xff0c;各自拥有独特的武功秘籍和门派特色。今天&#xff0c;我们就来一场巅峰对决&#xff0c;看看这些电子设计软件究竟谁能笑傲江湖&#xff0c;成为电子设计界的霸主&#xff01; 一、门派起…

Seq2seq、编码器解码器神经网络

目录 一、Seq2seq 简介二、编码器三、解码器四、编码器-解码器的训练 遇到看不明白的地方&#xff0c;欢迎在评论中留言呐&#xff0c;一起讨论&#xff0c;一起进步&#xff01; 需掌握的前提知识&#xff1a; LSTM、词嵌入 本文参考&#xff1a;【官方双语】编码、解码神经网…

tkinter菜单栏

tkinter菜单栏 菜单栏效果代码 菜单栏 在 Tkinter 中&#xff0c;Menu 组件用于创建菜单栏、下拉菜单和上下文菜单&#xff0c;是构建图形用户界面&#xff08;GUI&#xff09;应用程序的常见需求。 效果 代码 import tkinter as tk from tkinter import messagebox# 创建主…

DAMA学习笔记(一)-数据管理

1.引言 数据管理(Data Management) 是为了 交付、 控制、 保护 并 提升 数据和信息资产的 价值 , 在其整个生命周期中制订 计划、 制度、 规程和实践 活动, 并 执行 和 监督 的过程。 数据管理专业人员(Data Management Professional) 是指 从事数据管理各方面的工作…

MySQL与PostgreSQL关键对比三(索引类型)

目录 索引类型 B-tree 索引 Hash 索引 Full-text 索引 GiST 索引 GIN 索引 BRIN 索引 索引创建示例 MySQL PostgreSQL 结论 以下SQL语句的执行如果需要开发工具支持&#xff0c;可以尝试使用SQLynx或Navicat来执行。 MySQL和PostgreSQL在索引方面有许多相似之处&am…

【C#线程设计】2:backgroundWorker

实现&#xff1a; &#xff08;1&#xff09;.控件&#xff1a;group Box&#xff0c;text Box&#xff0c;check Box&#xff0c;label&#xff0c;botton&#xff0c;richtextbox 控件拉取见&#xff1a;https://blog.csdn.net/m0_74749240/article/details/139409510?spm1…

吴恩达2022机器学习专项课程C2W3:2.25 理解方差和偏差(诊断方差偏差正则化偏差方案)

目录 引言名词替代影响模型偏差和方差的因素1.多项式阶数2.正则化参数 判断是否有高偏差或高方差1.方法一&#xff1a;建立性能基准水平2.方法二&#xff1a;建立学习曲线 总结 引言 机器学习系统开发的典型流程是从一个想法开始&#xff0c;然后训练模型。初次训练的结果通常…

C语言最终讲:预处理详解

C语言最终讲&#xff1a;预处理详解 1.预定义符号2.#define定义常量3.#define定义宏4.带有副作用的宏参数5.宏替换的规则6.宏和函数的对比6.1宏的优势6.1.1\符号 6.2宏的劣势 7.#和##7.1#运算符7.2##运算符 8.命名约定9.#undef10.命令行定义11.条件编译12.头文件的包含12.1本地…

13. UDP协议与RTP协议

UDP协议 UDP协议比较简单&#xff1a; UDP的长度是固定的&#xff0c;用总长度-UDP长度就是数据长度。 UDP是不保证他的有序性和可靠性的。对于音频和视频是这样是比较好的&#xff0c;因为这段丢了&#xff0c;我们可以从下一段在开始解码。 RTP RTP 协议概述 RTP&#x…

【MySQL】(基础篇六) —— 过滤数据

过滤数据 本文将讲授如何使用SELECT语句的WHERE子句指定搜索条件。 WHERE子句 数据库表一般包含大量的数据&#xff0c;很少需要检索表中所有行。通常只会根据特定操作或需要提取表数据的子集。只检索所需数据需要指定搜索条件&#xff08;search criteria&#xff09;&…

代码随想录算法训练营第36期DAY56

DAY56 套磁很顺利&#xff0c;发现又有书读了&#xff01; 300最长递增子序列 朴素法&#xff0c;这个好想&#xff0c;但是不对&#xff0c;比如 0 1 0 3 2 3 我的算法会找出0 1 3作为答案&#xff0c;而不是0 1 2 3 可以看出&#xff0c;后面的状态依赖于前面的状态&am…

Facebook革新:数字社交的下一个阶段

在数字化时代&#xff0c;社交网络已经成为人们生活中不可或缺的一部分。作为全球最大的社交网络平台之一&#xff0c;Facebook一直在不断创新&#xff0c;引领着数字社交的发展。然而&#xff0c;随着科技的不断进步和社交需求的变化&#xff0c;Facebook正在走向一个新的阶段…

Gitte的使用(Windows/Linux)

Gitte的使用&#xff08;Windows/Linux&#xff09; 一、Windows上使用Gitte1.下载程序2.在Gitte上创建远程仓库3.连接远程仓库4.推送文件到远程仓库 二、Linux上使用Gitte1.第一次从仓库上传1.1生成公钥1.2配置SSH公钥1.3新建一个仓库1.4配置用户名和邮箱在Linux中1.5创建仓库…

python字典应用

""" 字典应用 字典中保存了股票信息&#xff0c;完成下面的操作 1.找出股票价格大于100元的股票并创建一个新的字典 2、找出价格最高和最低的股票对应的股票代码 3.按照股票价格从高到低给股票代码排序 """stocks {AAPL: 191.88,G00G: 1186.96,…

强烈推荐 Setapp 上的 Mac 优质软件

Setapp 一款专为 macOS 设计的软件订阅平台&#xff0c;目前提供高达 240 款精心筛选的高品质应用程序&#xff0c;只需每月 9.9 美元的订阅费&#xff0c;即可畅享所有正版软件的使用权。让使用者无忧享受正版软件的稳定性和安全性&#xff0c;彻底告别盗版软件可能引发的风险…

【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…

ELK组件

资源列表 操作系统 IP 主机名 Centos7 192.168.10.51 node1 Centos7 192.168.10.52 node2 部署ELK日志分析系统 时间同步 chronyc sources -v 添加hosts解析 cat >> /etc/hosts << EOF 192.168.10.51 node1 192.168.10.52 node2 EOF 部署Elasticsea…