Python数据可视化-快速掌握

Python数据可视化-快速掌握
📊 数据可视化简介
数据科学工作流
数据科学的工作流可以用“OSEMN”来总结,具体步骤如下:

步骤 常用库
Obtain(获取数据) Scrapy
Scrub(清洗数据) NumPy、Pandas
Explore(展示数据) Matplotlib、Seaborn
Model(数据建模) scikit-learn、SciPy、TensorFlow
Interpret(解析数据) Bokeh、D3.js
数据可视化的定义
数据可视化是数据科学中“Explore(展示数据)”这一环节,指的是将数据以图表的方式展示和处理。课程中将介绍三种最常用的可视化库:

Matplotlib:基础的绘图库,用于创建静态、动态和交互式的图表。
Seaborn:基于Matplotlib,提供更高级的接口和更美观的图表。
Pyecharts:用于生成图表的库,特别适合于Web展示。
学习要求
在学习数据可视化之前,必须具备数据分析的基础,至少要掌握以下两个库:

NumPy:用于数值计算和数组操作的库。
Pandas:用于数据处理和分析的库,提供了数据结构和操作工具。
📊 Matplotlib 基础知识

  1. 教学重点
    了解常用的可视化库
    掌握 Matplotlib 通用设置
    掌握 Matplotlib 基础图表的绘制

  2. Matplotlib 简介
    在 Python 中,我们可以使用 Matplotlib 库来实现数据的可视化。数据可视化是指将数据以图表的方式展示处理。

  3. 基本绘图(折线图)
    3.1 基本语法
    在 Matplotlib 中,使用 plot() 函数绘制折线图。折线图主要用于观察“因变量 y”随着“自变量 x”改变的趋势,特别适合展示随时间变化的连续数据。

语法:

python
Copy
plt.plot(x, y)
3.2 样式定义
为了使折线图更加美观,plot() 函数提供了多个样式参数,主要分为两类:

线条样式
节点样式
3.2.1 线条样式
在 Matplotlib 中,定义线条样式的参数有以下三个:

属性 说明
color 线条颜色
linestyle 线条外观
linewidth 线条宽度
3.2.2 节点样式
在 Matplotlib 中,定义节点样式的参数有以下四个:

参数 说明
marker 节点外观
markersize 或 ms 节点大小
markerfacecolor 或 mfc 节点颜色
markeredgecolor 或 mec 边框颜色
4. 通用设置
通用设置不仅适用于折线图,也适用于其他大多数图表。大多数通用设置函数通过 pyplot 子库调用。

导入方式:

python
Copy
import matplotlib.pyplot as plt
4.1 画布样式
使用 figure() 函数定义画布的样式,包括大小、颜色、边框等。

语法:

python
Copy
plt.figure(figsize, facecolor, edgecolor)
4.2 定义标题
使用以下函数定义主标题、x轴标题和y轴标题:

语法:

python
Copy
plt.title(label, loc) # 主标题
plt.xlabel(label, loc) # x轴标题
plt.ylabel(label, loc) # y轴标题
4.3 定义图例
使用 legend() 函数为图表定义图例。

语法:

python
Copy
plt.legend(loc)
4.4 刻度标签
使用 xticks() 和 yticks() 函数分别定义x轴和y轴的刻度标签。

语法:

python
Copy
plt.xticks(ticks, labels)
plt.yticks(ticks, labels)
4.5 刻度范围
使用 xlim() 和 ylim() 函数定义x轴和y轴的范围。

语法:

python
Copy
plt.xlim(left, right)
plt.ylim(left, right)
4.6 网格线
使用 grid() 函数为图表添加网格线效果。

语法:

python
Copy
plt.grid(axis, linestyle, color)
4.7 参考线
使用 axhline() 和 axvline() 函数添加水平方向和垂直方向的参考线。

语法:

python
Copy
plt.axhline(y, color, linestyle, linewidth)
plt.axvline(x, color, linestyle, linewidth)
4.8 参考区域
使用 axhspan() 和 axvspan() 函数添加水平方向和垂直方向的参考区域。

语法:

python
Copy
plt.axhspan(ymin, ymax, facecolor, alpha)
plt.axvspan(xmin, xmax, facecolor, alpha)
4.9 注释文本(有指向)
使用 annotate() 函数为关键节点添加有指向的注释文本。

语法:

python
Copy
plt.annotate(text, xy, xytext, arrowprops)
4.10 注释文本(无指向)
使用 text() 函数为节点添加注释文本。

语法:

python
Copy
plt.text(x, y, text)
5. 通用样式
在 Matplotlib 中,有一些样式参数可以被大多数绘图函数使用,这些参数称为“通用样式参数”。

参数 说明
color 颜色
fontsize 文本大小
ha 水平对齐
va 垂直对齐
label 图例
alpha 透明度(0~1.0)
6. 散点图
6.1 基本语法
使用 scatter() 函数绘制散点图。

语法:

python
Copy
plt.scatter(x, y)
6.2 散点图的主要作用
变量之间关联趋势的判断(线性或非线性)
判断是否有离群点(异常点)
6.3 样式定义
sctatter() 方法提供了多个样式参数,常用的如下表所示:

参数 说明
marker 散点的形状
s 散点的大小(size)
color 散点的颜色(color)
alpha 散点的透明度(0~1.0)
7. 实际案例
clothes.csv 文件保存的某衣服店一年内每个月中上衣和裤子的销量(单位:件)。

  1. 气泡图
    使用 scatter() 函数的 s 参数绘制气泡图,注意 s 参数的值要求是一个列表。

  2. 柱形图
    9.1 基本语法
    使用 bar() 函数绘制柱形图,柱形图的主要作用是展示数据的大小。

语法:

python
Copy
plt.bar(x, y, hatch)
9.2 实际案例
gaokao.csv 文件保存的 2011~2020 年间每年的高考人数(单位:万人)。

9.3 高级绘图
柱状图的使用频率较高,某些情况下,基本柱状图可能无法满足需求,需要掌握以下高级柱状图的绘制:

堆叠柱状图
并列柱状图
10. 条形图
条形图与柱形图类似,最重要的区别在于柱形图是纵向的。

📊 条形图与直方图

  1. 条形图
    1.1 基本语法
    在Matplotlib中,我们可以使用 barh() 函数来绘制一个条形图。其语法为:

python
Copy
plt.barh(x, y, hatch)
2. 直方图
2.1 基本语法
在Matplotlib中,我们可以使用 hist() 函数来绘制一个直方图。直方图又叫做“质量分布图”,它的主要作用是展示数据的分布情况。其语法为:

python
Copy
plt.hist(x, bins)
2.2 直方图与柱状图的区别
直方图和柱状图十分相似,主要区别有以下三个方面:

特点 柱状图 直方图
数据展示 展示数据的大小 展示数据的个数(频率)
数据类型 离散型数据 连续型数据
矩形条之间的间隙 有固定的间隙 没有任何间隙
2.3 样式定义
为了让直方图更加美观,hist() 函数提供了很多用于定义样式的参数,常用的如下表所示。

参数 说明
histtype 直方图类型
rwidth 条形的宽度
facecolor 条形的颜色
edgecolor 边框的颜色
alpha 透明度
🍰 饼状图

  1. 基本语法
    在Matplotlib中,我们可以使用 pie() 函数来绘制一个饼状图。饼状图也叫做“饼图”,其作用是展示各个部分在总和中的比例。语法为:

python
Copy
plt.pie(x)
2. 样式定义
为了让饼状图更加美观,pie() 函数提供了很多用于定义样式的参数,常用的如下表所示。

参数 说明
labels 各部分的标题(列表)
colors 各部分的颜色(列表)
autopct 显示百分比
explode 是否拉出某部分(元组)
shadow 是否显示阴影(元组)
3. 圆环图
圆环图,也叫做“环形图”。在Matplotlib中,我们可以使用 pie() 函数的 radius 和 wedgeprops 这两个参数配合使用来实现一个圆环图。

📦 箱线图

  1. 基本语法
    箱线图,也叫做“箱形图”。箱线图使用六个统计量来描述数据,包括最大值、上四分位数、中位数、下四分位数、最小值和异常值。

在Matplotlib中,我们可以使用 boxplot() 函数来绘制一个箱线图。其主要作用有两个:查看数据的分布情况和发现数据中的异常点。语法为:

python
Copy
plt.boxplot(x)
2. 样式定义
为了使箱线图更加美观,boxplot() 函数提供了很多用于定义样式的参数,常用的如下表所示。

参数 说明
notch 是否有缺口,默认为 False(不带缺口)
vert 是否为纵向,默认为 True(纵向)
showmeans 是否显示平均值,默认为 False(不显示)
showfliers 是否显示异常值,默认为 True(显示)
flierprops 异常点的样式,值是一个字典
boxprops 箱子的样式,值是一个字典,需要结合 patch_artist=True 一起使用
labels 指定每个箱线图的标签
3. 实际案例
例如,staff.csv 文件保存的是所有员工的年龄,接下来我们尝试使用箱线图来判断年龄是否存在异常值。

🎨 高级图表绘制
📝 教学重点
掌握Matplotlib各种高级图表的绘制
📊 3.1 高级图表简介
本章介绍了Matplotlib中的高级图表,主要包括以下7种。

🔍 3.2 阶梯图

  1. 基本语法
    阶梯图是一种类似于折线图的图表,用于反映数据的趋势变化,尤其适合展示时序数据的波动周期或规律。在Matplotlib中,可以使用step()函数绘制阶梯图。

语法:

python
Copy
plt.step(x, y)
2. 实际案例
使用gaokao.csv文件中保存的2011~2020年每年高考人数(单位:万人)绘制阶梯图。

📈 3.3 面积图

  1. 基本语法
    面积图是一种随时间变化而改变范围的图表,强调数量与时间的关系。在Matplotlib中,可以使用stackplot()函数绘制面积图。

语法:

python
Copy
plt.stackplot(x, y)
2. 实际案例
使用sale.csv文件中保存的某公司2020年每个月的销售总额(单位:万元)绘制面积图。

  1. 高级绘图
    在实际开发中,基本面积图可能无法满足需求,需掌握高级面积图的绘制,常见的有堆叠面积图。

📏 3.4 棉棒图

  1. 基本语法
    棉棒图(也称棒棒糖图或火柴杆图)由一个“杆”(直线)和一个“头”(圆点)组成。在Matplotlib中,可以使用stem()函数绘制棉棒图。

语法:

python
Copy
plt.stem(x, y)
2. 样式定义
stem()函数提供了多个样式定义参数,常用的有linefmt和markerfmt。

  1. 实际案例
    使用product.csv文件中的每月产品销量绘制棉棒图。

🧪 3.5 误差棒图

  1. 基本语法
    许多科学实验存在测量误差,绘制误差棒图是对实验结果添加误差的好方法。在Matplotlib中,可以使用errorbar()函数绘制误差棒图。

语法:

python
Copy
plt.errorbar(x, y, xerr, yerr)
2. 样式定义
errorbar()函数提供多种样式参数,常用的如下表所示:

参数 说明
color 整体颜色
linestyle 线条外观
linewidth 线条宽度
marker 节点外观
markersize 节点大小
markerfacecolor 节点颜色
markeredgecolor 节点边框颜色
ecolor 棒条颜色
elinewidth 棒条粗细
capsize 横杠大小
3. 高级绘图
柱状图和误差棒图可以结合使用,绘制带误差棒的柱状图。

🌐 3.6 雷达图

  1. 基本语法
    在Matplotlib中,可以使用polar()函数绘制雷达图。

语法:

python
Copy
plt.polar(theta, r)
2. 样式定义
为提高用户体验,需要对雷达图进行自定义,主要包括刻度标签和填充颜色。

(1)刻度标签
使用thetagrids()函数定义雷达图的刻度标签。

语法:

python
Copy
plt.thetagrids(angles, labels)
(2)填充颜色
使用fill()函数对雷达图进行填充颜色。

语法:

python
Copy
plt.fill(theta, r, color, alpha)
3. 实际案例
展示一个英雄的能力指标(力量、敏捷、智力、生命、魔法、耐力)的雷达图。

🔥 3.7 热力图

  1. 基本语法
    热力图以高亮方式显示区域的密度情况。在Matplotlib中,可以使用imshow()函数绘制热力图。

语法:

python
Copy
plt.imshow(x)
2. 样式定义
使用cmap参数定义热力图的颜色,常用取值如下表所示:

取值 说明
plt.cm.gray 黑→灰→白
plt.cm.bone 黑→蓝灰→白
plt.cm.hot 黑→红→白
plt.cm.cool 青绿→浅蓝→品红
plt.cm.spring 品红→橙黄→黄色
plt.cm.summer 深绿→浅绿→黄色
plt.cm.autumn 红→橙→黄
plt.cm.winter 蓝→青蓝→绿
3. 注意事项
Matplotlib的热力图能力有限,实际开发中推荐使用Seaborn实现热力图。

📊 3.8 子图表

  1. 基本语法
    在Matplotlib中,可以使用subplot()函数绘制多个子图表。

语法:

python
Copy
plt.subplot(rows, cols, index)
2. 实际案例
绘制一个2×2的组合图表,包括折线图、散点图、柱形图和饼状图。

🎨 Matplotlib 使用指南
📚 教学重点
本节课的学习重点包括:

掌握如何设置主题风格
掌握如何保存图片
掌握如何添加水印效果
了解全局配置
掌握 setp() 和 getp()
4.1 主题风格
在 Matplotlib 中,默认的图表风格非常简陋。为了提升用户体验,我们可以使用 plt.style.use() 函数来定义主题风格。

语法:
python
Copy
plt.style.use(主题名)
4.2 保存图片
我们可以使用 savefig() 函数将图表保存为图片文件。

语法:
python
Copy
plt.savefig(path)
4.3 水印效果
text() 函数主要用于为节点添加注释文本,但我们也可以利用它为整个图表添加水印效果。

语法:
python
Copy
plt.text(x, y, text)
4.4 全局配置
在 Matplotlib 中,通过 matplotlibrc 文件可以修改图表的默认样式。该文件保存了所有的默认配置项。

4.5 setp() 和 getp()
在 Matplotlib 中,setp() 和 getp() 函数用于操作绘图对象的属性。

  1. setp()
    使用 setp() 函数可以给图表对象设置属性(参数)。

语法:
python
Copy
plt.setp(obj, ……)
2. getp()
使用 getp() 函数可以查看图表对象的所有属性及其值。

语法:
python
Copy
plt.getp(obj)

📊 Seaborn 数据可视化

教学重点

  • 了解 Seaborn 是什么
  • 掌握 Seaborn 通用设置
  • 掌握 Seaborn 基础图表的绘制

5.1 Seaborn简介

1、Seaborn是什么

Seaborn 是基于 Matplotlib 实现的数据可视化库,相比于 Matplotlib,Seaborn 有两个最重要的优势:

  1. 语法更加简单好用
  2. 图表更加高级美观

2、使用Seaborn的注意事项

在实际工作中,有以下四点需要特别注意:

注意事项描述
1. 首选Seaborn在实际工作中,应优先选择Seaborn进行数据可视化,只有在Seaborn无法实现时才考虑使用Matplotlib。
2. 基于MatplotlibSeaborn是基于Matplotlib实现的,很多方法有相似之处。
3. 图表种类Seaborn只提供最常用图表的绘制函数,对于其他不常用的图表并没有提供绘制函数。
4. 数据格式Seaborn与Pandas结合使用,数据必须是 SeriesDataFrame,而不能是其他数据类型。

5.2 基本绘图(折线图)

1、基本语法

在Seaborn中,使用 lineplot() 函数绘制折线图。折线图的主要作用是观察因变量 yyy 随着自变量 xxx 的变化趋势。

语法:

sns.lineplot(data, x, y)
2、深入了解
Seaborn可以在不显式指定 
KaTeX can only parse string typed expression
x 和 
KaTeX can only parse string typed expression
y 的情况下自动绘图。

3、实际案例
使用 flight.csv 文件,该文件保存了某航空公司19491960年每月的乘客人数,尝试绘制其对应的折线图。

5.3 通用设置
通用设置可以用于折线图及其他大多数图表,主要包括以下五个方面:

设置项	描述
主题风格	使用 set_style() 函数设置主题风格。
定义标题	使用 set_title()、set_xlabel() 和 set_ylabel() 函数定义图表和轴的标题。
定义图例	使用 legend() 函数调整图例的位置。
刻度标签	使用 set_xticklabels() 和 set_yticklabels() 函数定义 x 轴和 y 轴的刻度标签。
刻度范围	使用 set_xlim() 和 set_ylim() 函数定义 x 轴和 y 轴的坐标范围。
5.4 散点图
1、基本语法
在Seaborn中,使用 scatterplot() 函数绘制散点图。散点图的主要作用是判断两个变量之间是否存在关联趋势。

语法:

python
Copy
sns.scatterplot(data, x, y)
2、实际案例
使用 tip.csv 文件,该文件保存了某餐厅的营业情况,包括总额、小费和客人信息,尝试绘制其对应的散点图。

3、scatterplot()的参数
参数	说明
data	数据部分
x	x 轴坐标
y	y 轴坐标
hue	添加区分(颜色)
style	添加区分(形状)
size	添加区分(大小)
sizes	自定义大小
5.5 柱形图
1、基本语法
在Seaborn中,使用 barplot() 函数绘制柱形图。柱形图的主要作用是展示数据的大小。

语法:

python
Copy
sns.barplot(data, x, y)
2、实际案例
使用 tip.csv 文件,尝试绘制其对应的柱形图。

3、误差棒
在 barplot() 函数中,用于定义误差棒样式的参数有三个,如下表所示:

参数	说明
errcolor	棒条颜色
errwidth	棒条宽度
capsize	横杠大小
4、barplot()的参数
参数	说明
data	数据部分
x	x 轴坐标
y	y 轴坐标
hue	添加区分
order	改变顺序
dodge	合并显示
errcolor	棒条颜色
errwidth	棒条宽度
capsize	横杠大小
5.6 直方图
1、基本语法
直方图和柱状图十分相似,但功能不同:柱状图用于展示数据大小,直方图用于展示数据个数(频率)。在Seaborn中,使用 histplot() 函数绘制直方图。

语法:

python
Copy
sns.histplot(data, x, y, bins)
2、实际案例
使用 penguin.csv 文件,该文件保存了344只企鹅的相关数据,尝试绘制其对应的直方图。

📊 箱线图 (Boxplot)
"箱线图是一种有效的数据可视化工具,主要用于展示数据分布情况和识别异常值。"

1. 基本语法
在 Seaborn 中,我们可以使用 boxplot() 函数来绘制箱线图。其主要作用包括:

查看数据的分布情况
判断是否有异常值
语法:

python
Copy
sns.boxplot(data, x, y)
2. 实际案例
在实际案例中,我们使用 tip.csv 文件,该文件保存某餐厅的营业情况,包括总额、小费和客人信息等。通过绘制其对应的箱线图,我们可以直观地分析数据。

3. boxplot() 的参数
箱线图的参数及其说明如下表所示:

参数	说明
data	数据部分
x	x 轴坐标
y	y 轴坐标
hue	添加区分(颜色)
order	改变顺序
其他参数
hue: 通过颜色区分不同的类别。
order: 用于改变数据的显示顺序。
4. 箱线图的组成部分
箱线图通常由以下几个部分组成:

箱体: 表示数据的四分位数,箱体的上下边缘分别是上四分位数和下四分位数。
中位线: 箱体内部的线条表示数据的中位数。
须: 伸出箱体的线条,表示数据的范围。
异常值: 位于须之外的点,表示异常数据。
通过以上内容,学生可以理解和应用箱线图的基本知识,并能够在 Seaborn 中使用相关函数进行数据可视化。

📊 高级图表
6.1 高级图表简介
这一章我们来介绍Seaborn中的高级图表,主要包括以下6种:

热力图
核密度图
小提琴图
增强箱线图
分类散点图
线性回归图
🌡️ 6.2 热力图
1. 基本语法
在Seaborn中,我们可以使用heatmap()函数来绘制一个热力图。热力图的主要作用是以高亮的方式来显示区域的密度情况,以展示数据的差异性。

语法:

python
Copy
sns.heatmap(data)
2. 实际案例
flight.csv文件保存的是某航空公司1949~196012年内每个月的乘客人数,我们尝试绘制其对应的热力图。

heatmap()的参数
参数	说明
data	数据部分(二维)
annot	添加注释文本,TrueFalse
fmt	定义数据格式
cmap	定义颜色风格
linewidth	添加间距
cbar	显示颜色条,TrueFalse
🌌 6.3 核密度图
核密度图和直方图的功能非常相似,都是用于展示数据的分布情况,不过它们之间有以下2个方面的区别:

直方图使用“条形”来展示,核密度图使用“曲线”来展示。
直方图的纵坐标是数据的个数,核密度图的纵坐标是数据的密度。
1. 基本语法
在Seaborn中,我们可以使用kdeplot()函数来绘制一个核密度图。其中,kdeplot是“Kernel Density Estimate(核密度估计)”的缩写。

语法:

python
Copy
sns.kdeplot(data, x, y)
2. 实际案例
tip.csv文件保存的是某餐厅营业情况,包括总额、小费、客人信息等,我们尝试绘制其对应的核密度图。

kdeplot()的参数
参数	说明
data	数据部分
x	x轴坐标
y	y轴坐标
hue	添加区分(颜色)
multiple="stack"	堆叠显示(面积图)
multiple="fill"	填充显示
bw_adjust	曲线平滑度
cut=0	切除小数部分
common_norm=False	独立计算面积
🎻 6.4 小提琴图
1. 基本语法
小提琴图是一种组合型的图表,它同时结合了箱线图和核密度图的功能。在Seaborn中,我们可以使用violinplot()函数来绘制一个小提琴图。

语法:

python
Copy
sns.violinplot(data, x, y)
2. 实际案例
tip.csv文件保存的是某餐厅营业情况,包括总额、小费、客人信息等,我们尝试绘制其对应的小提琴图。

violinplot()的参数
参数	说明
data	数据部分
x	x轴坐标
y	y轴坐标
hue	添加区分(颜色)
order	改变顺序
split=True	合并显示
inner="quartile"	添加百分位线
inner="stick"	每一个数据一条线
bw_adjust	曲线平滑度
📦 6.5 增强箱线图
1. 基本语法
在Seaborn中,我们可以使用boxenplot()函数来绘制一个“增强版”的箱线图。

语法:

python
Copy
sns.boxenplot(data, x, y)
2. 实际案例
tip.csv文件保存的是某餐厅营业情况,包括总额、小费、客人信息等,我们尝试绘制其对应的增强箱线图。

boxenplot()的参数
参数	说明
data	数据部分
x	x轴坐标
y	y轴坐标
📊 分布散点图与线性回归图
1. 分布散点图基本概念
分布散点图(strip plot)是用于查看数据分布情况的一种可视化工具。与普通散点图不同,普通散点图主要用于判断两个变量之间是否存在关联趋势,而分布散点图则专注于数据的分布特征。

基本语法
在 Seaborn 库中,我们可以使用 stripplot() 函数来绘制分布散点图。其语法如下:

python
Copy
sns.stripplot(data, x, y)
2. 分布散点图实际案例
在本节中,我们将使用名为 tip.csv 的文件,该文件保存了某餐厅的营业情况,包括总额、小费及客人信息等。我们尝试通过该数据绘制分布散点图。

3. stripplot() 函数参数
以下是 stripplot() 函数的主要参数及其说明:

参数	说明
data	数据部分
x	x 轴坐标
y	y 轴坐标
hue	添加区分
dodge=True	单独显示
order	改变顺序
4. 线性回归图基本概念
线性回归图(regression plot)又称回归图,主要用于表现两个变量之间的线性关系。该图在散点图的基础上,增加了一条直线(或曲线),这条线是通过最小二乘法预测得到的,表示两个变量之间的关系,形式为 
KaTeX can only parse string typed expression
y=ax+b。

基本语法
在 Seaborn 库中,我们可以使用 regplot() 函数来绘制线性回归图。其语法如下:

python
Copy
sns.regplot(data, x, y)
5. 线性回归图实际案例
与分布散点图类似,我们将继续使用 tip.csv 文件,尝试绘制其对应的线性回归图。

6. regplot() 函数参数
以下是 regplot() 函数的主要参数及其说明:

参数	说明
data	数据部分
x	x 轴坐标
y	y 轴坐标
color	整体颜色
marker	散点外观
ci	置信区间
📊 Seaborn 图表绘制
教学重点
掌握子图表的绘制
掌握图表分组
掌握双变量图的绘制
掌握多变量图的绘制
了解各种调色板
了解内置数据集
7.1 子图表
基本语法
在 Seaborn 中绘制多个子图表可以使用 Matplotlib 提供的 subplots() 函数。注意,这里的 subplots 后面有一个“s”。

语法:
python
Copy
fig, axes = plt.subplots(nrows, ncols, sharex, sharey)
7.2 图表分组
我们可以使用 catplot() 函数绘制分组型图表,其中 catplot 是“category plot(分类图表)”的缩写。

语法:
python
Copy
sns.catplot(kind, col)
7.3 双变量图
在 Seaborn 中,使用 jointplot() 函数绘制双变量图。这个图同时展示两个变量之间的关系和各自的数据分布。

语法:
python
Copy
sns.jointplot(data, x, y)
jointplot() 的参数
参数	说明
data	数据部分
x	x 轴坐标
y	y 轴坐标
hue	添加区分(颜色)
kind	图表类型
marker	散点外观
7.4 多变量图
多变量图也称为“矩阵图”或“多变量关系图”,用于将数据集中不同字段进行“两两比较”。在 Seaborn 中使用 pairplot() 函数绘制。

语法:
python
Copy
sns.pairplot(data)
pairplot() 的参数
参数	说明
data	数据部分
hue	添加区分(颜色)
diag_kind	对角使用直方图(默认值为 "hist")
marker	散点外观
vars	x 轴和 y 轴使用的字段
x_vars	x 轴使用的字段
y_vars	y 轴使用的字段
7.5 各种调色板
在 Seaborn 中,可以使用调色板来自定义颜色风格,主要包括以下两种:

1. 分类调色板
分类调色板用于区分没有固定顺序的离散数据,最常用于散点图、柱形图、条形图等。使用 set_palette() 函数。

语法:
python
Copy
sns.set_palette(palette)
2. 连续调色板
连续调色板用于区分连续型数据,最常用于热力图。使用 light_palette() 或 dark_palette() 函数。

语法:
python
Copy
sns.light_palette(color, reverse)
sns.dark_palette(color, reverse)
7.6 内置数据集
Seaborn 提供了一些经典数据集,方便进行基本图表绘制。可以通过 load_dataset() 函数获取。

语法:
python
Copy
sns.load_dataset(name)

# 📊 Pyecharts概述

## 1. Pyecharts简介

> Pyecharts是Python中用于Web开发的强大可视化库,能够提供丰富的图表和交互功能,适用于与Flask、Django、Sanic、Tornado等Web框架结合使用。

## 2. Pyecharts的应用场景

- **日常工作中的可视化**:首选Seaborn库。
- **Web开发中的可视化**:推荐使用Pyecharts。

## 3. Pyecharts的基本用法

### 3.1 引入库

在使用Pyecharts之前,我们需要引入Pandas库和Pyecharts模块:

```python
import pandas as pd
from pyecharts.charts import 模块名
📈 折线图
1. 基本语法
使用Line模块绘制折线图:

python
Copy
line = Line()
line.add_xaxis(xaxis_data)
line.add_yaxis(series_name, y_axis)
2. 样式定义
折线图样式的自定义包括:

平滑线
线条外观
面积图
3. 自定义样式注意事项
自定义样式一般使用add_yaxis()方法的参数。
参数名为“xxx_opts”形式的,取值是pyecharts.options中的属性或方法。
📊 柱形图
1. 基本语法
使用Bar模块绘制柱形图:

python
Copy
bar = Bar()
bar.add_xaxis(xaxis_data)
bar.add_yaxis(series_name, y_axis)
2. 高级绘图
高级柱形图包括:

类型	描述
横向柱形图	使用reversal_axis()方法改变方向
堆叠柱形图	使用add_yaxis()方法的stack参数
3. 堆叠柱形图
堆叠柱形图的stack参数为布尔值,默认值为False。

🌍 通用设置
通用设置适用于大多数图表,分为:

全局设置
系列设置
其他设置
1. 全局配置
使用set_global_opts()方法进行全局设置,包括标题、图例、坐标轴、提示框等。

2. set_global_opts()常用参数
参数	说明
title_opts	标题设置
legend_opts	图例设置
xaxis_opts	坐标轴设置
tooltip_opts	提示框设置
datazoom_opts	区域缩放设置
3. 标题设置
python
Copy
obj.set_global_opts(
    title_opts=opts.TitleOpts(title, subtitle)
)
4. 图例设置
python
Copy
obj.set_global_opts(
    legend_opts=opts.LegendOpts(pos_left, orient)
)
5. 坐标轴设置
python
Copy
obj.set_global_opts(
    xaxis_opts=opts.AxisOpts(),
    yaxis_opts=opts.AxisOpts()
)
🎨 其他设置
1. 改变方向
使用reversal_axis()方法改变图表方向。

2. 改变颜色
使用set_colors()方法自定义颜色。

📈 散点图
1. 基本语法
使用Scatter模块绘制散点图:

python
Copy
scatter = Scatter()
scatter.add_xaxis(xaxis_data)
scatter.add_yaxis(series_name, y_axis)
2. 样式定义
散点图样式的自定义包括:

散点样式
添加区分
3. 散点样式
使用add_yaxis()方法的symbol和symbol_size参数定义散点形状和大小。

4. 添加区分
使用set_global_opts()方法结合visualmap_opts参数为散点图添加区分。

🥧 饼状图
1. 基本语法
使用Pie模块绘制饼状图:

python
Copy
pie = Pie()
pie.add(series_name, data_pair)
2. 样式定义
饼状图样式主要包括:

标签格式
圆环图
多饼图
3. 标签格式
使用set_series_opts()方法结合label_opts参数自定义标签格式。

4. 圆环图
使用add()方法的radius参数定义饼状图的内外半径。

5. 多饼图
调用多次add()方法,使用center参数控制每个饼状图的位置。

📦 箱线图
1. 基本语法
使用Boxplot模块绘制箱线图:

python
Copy
box = Boxplot()
box.add_xaxis(xaxis_data)
box.add_yaxis(series_name, y_axis)
2. 样式定义
箱线图样式自定义包括:

横向显示
改变颜色
📊 Pyecharts高级图表
教学重点
掌握Pyecharts高级图表的绘制
9.1 高级图表简介
在本章中,我们将介绍Pyecharts中的高级图表,主要包括以下四种:

K线图
水球图
日历图
词云图
9.2 K线图
1. 基本语法
K线图(蜡烛图)用于股市中显示四个指标:开盘价、收盘价、最低价、最高价。Pyecharts中使用Kline模块绘制K线图,语法如下:

python
Copy
k = Kline()
k.add_xaxis(xaxis_data)
k.add_yaxis(series_name, y_axis)
2. 实际案例
使用stock.csv文件中的股市数据绘制K线图。

9.3 水球图
1. 基本语法
在Pyecharts中,可以使用Liquid模块绘制水球图,适合展示单个百分比数据。语法如下:

python
Copy
lq = Liquid()
lq.add(series_name, data)
2. 样式定义
水球图的自定义样式主要包括三个方面:

水球形状
关闭动画
多水球图
(1)水球形状
使用add()方法的shape参数定义水球形状。可选取值如下:

取值	说明
circle	圆形
rect	矩形
triangle	三角形
diamond	钻石
pin	针形
arrow	箭头
(2)关闭动画
默认情况下,水球图有波浪动画。可以使用add()方法的is_animation参数来关闭动画,取值为布尔值(TrueFalse)。

(3)多水球图
实现多水球图需要多次调用add()方法,使用center参数控制每个水球的位置,语法如下:

python
Copy
obj.add(
……
center=[x轴位置, y轴位置]
)
9.4 日历图
1. 基本语法
在Pyecharts中,使用Calendar模块绘制日历图,便于查看特定日期的数据。语法如下:

python
Copy
c = Calendar()
c.add(
 series_name,
 yaxis_data,
 calendar_opts=opts.CalendarOpts(range_="年份")
)
2. 实际案例
使用steps.csv文件中的数据绘制日历图。

9.5 词云图
1. 基本语法
词云图用于突出频率较高的关键词,帮助用户快速了解文本重点。在Pyecharts中,使用WordCloud模块生成词云图,语法如下:

python
Copy
cloud = WordCloud()
cloud.add(series_name, data_pair)
2. 样式定义
词云图的自定义样式包括两个方面:

词云形状
字体大小
(1)词云形状
使用add()方法的shape参数定义词云图的形状。常用取值如下:

取值	说明
circle	圆形
rect	矩形
triangle	三角形
pentagon	五角形
star	星星形
diamond	钻石形
(2)字体大小
使用add()方法的word_size_range参数定义词云图的字体大小范围。语法如下:

python
Copy
cloud.add(
 series_name="",
 data_pair=data,
 word_size_range=[10, 50]
)

# 📊 Pyecharts 数据可视化学习指南

## 🎯 教学重点

- **掌握如何模拟数据**
- **掌握如何保存图片**
- **了解其他可视化库**

## 10.1 模拟数据

在Pyecharts中,我们可以使用它自带的 **Faker** 库来生成模拟数据。使用模拟数据可以避免手动指定数据,从而方便学习Pyecharts的各种图表。

### 语法示例:

```python
from pyecharts.faker import Faker
10.2 保存图片
在Pyecharts中,我们可以将绘制的图表保存成一张图片。具体方式有以下三种:

保存方式	描述
使用 snapshot-selenium	通过 Selenium 库进行截图保存
使用 snapshot-phantomjs	通过 PhantomJS 库进行截图保存
右键保存	直接在图表上右键进行保存
10.3 更多内容
Pyecharts官方文档提供了详细的语法以及丰富的示例。如果想要更深入地了解Pyecharts,可以参考以下链接:

官方语法:Pyecharts 语法
官方实例:Pyecharts 实例
与 Web 框架结合
Pyecharts 可以与 Flask、Django 等 Web 框架结合使用,这是其强大的功能之一。不过,想要使用这些功能,首先需要学习这些框架。

10.4 其他可视化库
对于 Python 的其他可视化库,常用的有以下四种:

可视化库	描述	官方文档
ggplot	基于 R 语言的 ggplot2 和 Python 的可视化库,核心理念是将绘图与数据分离	ggplot 官方文档
Bokeh	基于 JavaScript 的交互可视化库,可以在浏览器中实现美观的视觉效果	Bokeh 官方文档
Pygal	矢量图表可视化库,使用面向对象的方式创建各种数据图表	Pygal 官方文档
Plotly	新一代的 Python 数据可视化库,通过构建基于 HTML 的交互式图表显示信息	Plotly 官方文档
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/8c60ffddfe39454e8d7a5b9fdbd6d3ff.png)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值