本书采用单元式结构,每个单元中包含有多项任务,每个任务都是一项具体的应用案例。通过各单元中的任务驱动案例和拓展训练,从任务描述--知识储备--任务实施等环节出发,深入浅出地介绍Python数据可视化的方法和程序设计思路。本书单元1~单元3介绍数据可视化的基本概念;单元4~单元6分别介绍Matplotlib、Seabom和pyecharts库数据可视化的基本方法;单元7 是pyecharts综合项目案例。本书采用任务驱动教学方式,各个单元中都配有教学案例、教学PPT、程序源代码、数据集和教学视频,每个单元还有许多示例代码,拓展训练,单元小结和思考练习,以便于读者自学和练习,并结合案例内容融入课程思政元素。
1.本书以任务驱动式体例形式编写,遵从边做边学的教育理念,以任务案例带动读者理解数据可视化的各种概念,突出培养读者的动手能力。
2.本书配套教学视频、教案、教学大纲、教学PPT、课后习题及答案等资源。
郑丹青,教授、高级工程师,湖南省计算机应用技术省级专业带头人,具有多年的计算机教学工作经验,有着近20年的企业软件项目开发经验,获得过株洲市科委的奖励。
单元1
认识数据可视化 1
1.1 什么是数据可视化 1
【任务1-1】 期末成绩的分布分析 1
1.2 数据可视化的作用 3
【任务1-2】 产品销售情况统计表分析 3
1.3 数据可视化的工具和库 4
【任务1-3】 数据可视化的工具 4
【任务1-4】 Python数据可视化工具库 5
拓展训练 6
【拓展任务1】 中国原油生产和石油进出口情况分析 6
单元小结 7
思考练习 8
单元2
Python开发环境及常用数据处理操作 9
2.1 Python的开发环境搭建 9
【任务2-1】 Python软件安装 9
【任务2-2】 Python环境变量配置及测试 11
2.2 PyCharm安装与使用 13
【任务2-3】 PyCharm安装 13
【任务2-4】 PyCharm简单设置 17
【任务2-5】 PyCharm使用 18
2.3 Python数据可视化常用的类库 19
【任务2-6】 NumPy简介、测试、安装与导入 20
【任务2-7】 pandas简介、测试、安装与导入 21
【任务2-8】 在PyCharm中导入NumPy和pandas库 22
2.4 数据可视化中pandas库常用操作 22
【任务2-9】 pandas的数据结构 23
【任务2-10】 文件读取操作 26
【任务2-11】 获取数据操作 28
拓展训练 30
【拓展任务2】 常用数据处理操作 30
单元小结 32
思考练习 32
单元3
数据可视化——图表的基本类型 33
3.1 图表的基本类型 33
【任务3-1】 数据可视化的探索过程 33
3.2 类别比较型图表 34
【任务3-2】 了解类别比较型图表 34
3.3 数据关系型图表 36
【任务3-3】 了解数据关系型图表 36
3.4 数据分布型图表 37
【任务3-4】 了解数据分布型图表 37
3.5 时间序列型图表 37
【任务3-5】 了解时间序列型图表 37
3.6 局部整体型图表 37
【任务3-6】 了解局部整体型图表 37
3.7 地理空间型图表 38
【任务3-7】 了解地理空间型图表 38
拓展训练 38
【拓展任务3】 数据可视化的应用 38
单元小结 39
思考练习 39
单元4
Matplotlib数据可视化 41
4.1 认识Matplotlib 41
【任务4-1】 Matplotlib简介、测试、安装与导入 41
4.2 Matplotlib绘图的基础知识 43
【任务4-2】 绘图接口、图表对象与元素和常见的绘图函数 43
4.3 使用pyplot创建图表 44
【任务4-3】 绘制各种不同风格的水平线和垂直线 44
【任务4-4】 设置图表标题、轴标签、轴范围和轴刻度 47
【任务4-5】 设置图例 52
【任务4-6】 设置格式化字符串 54
【任务4-7】 设置文本、标注、网格线 56
【任务4-8】 创建子图 62
【任务4-9】 设置坐标轴 63
4.4 Matplotlib参数配置 66
【任务4-10】 设置Matplotlib配置文件 66
【任务4-11】 设置动态rc参数 66
【任务4-12】 设置中文、负号显示 67
4.5 Matplotlib类别比较型图表 68
【任务4-13】 单数据系列柱形图——我国铁路营业里程情况 68
【任务4-14】 多数据系列柱形图——我国就业人员情况 70
【任务4-15】 堆积柱形图——我国各类运输方式旅客周转量情况 72
【任务4-16】 百分比堆积柱形图——我国客运量情况 75
【任务4-17】 条形图——我国各类运输营业里程情况 78
【任务4-18】 雷达图——我国直辖市软件项目收入情况 80
4.6 Matplotlib数据关系型图表 84
【任务4-19】 散点图——广告投入与销售额之间的关系 84
【任务4-20】 气泡图——广告投入、销售额及投入产出比的关系 87
4.7 Matplotlib数据分布型图表 89
【任务4-21】 直方图——学生期末综合成绩分布情况 89
【任务4-22】 柱形图——学生期末考试成绩分布情况 91
【任务4-23】 箱形图——学生平时成绩、期末考试成绩和期末综合成绩的分布情况 93
4.8 Matplotlib时间序列型图表 95
【任务4-24】 折线图——国内人均旅游花费情况 95
【任务4-25】 面积图——国内游客情况 98
4.9 Matplotlib局部整体型图表 101
【任务4-26】 饼图——全国高等教育招生数占比情况 101
【任务4-27】 圆环图——全国高等教育毕业生人数占比情况 103
拓展训练 105
【拓展任务4】 三次产业贡献率情况 105
单元小结 108
思考练习 108
单元5
Seaborn数据可视化 110
5.1 认识Seaborn 110
【任务5-1】 Seaborn简介、测试、安装与导入 110
5.2 Seaborn图表风格 111
【任务5-2】 设置图表样式 111
【任务5-3】 设置元素的缩放比例和中文显示 114
【任务5-4】 移除轴 117
5.3 Seaborn的颜色主题 119
【任务5-5】 设置图表调色板 119
5.4 Seaborn常见图表 121
【任务5-6】 带误差棒的柱形图——不同空气质量等级的PM2.5平均值 122
【任务5-7】 统计直方图与核密度估计图——全年AQI分布图 124
【任务5-8】 矩阵散点图——AQI、PM2.5、SO2、NO2之间的关系 126
【任务5-9】 小提琴图——全年不同空气质量等级的PM2.5情况 128
拓展训练 130
【拓展任务5】 AQI的变化趋势 130
单元小结 132
思考练习 132
单元6
pyecharts数据可视化 134
6.1 认识pyecharts 134
【任务6-1】 pyecharts简介、测试、安装与导入 134
6.2 pyecharts绘制图表流程 135
【任务6-2】 绘制简单图表 135
6.3 图表的全局配置项 137
【任务6-3】 初始化配置项 137
【任务6-4】 标题配置项 137
【任务6-5】 图例配置项 139
【任务6-6】 工具箱配置项 141
【任务6-7】 视觉映射配置项 142
【任务6-8】 提示框配置项 144
【任务6-9】 区域缩放配置项 146
【任务6-10】 坐标轴配置项 148
【任务6-11】 原生图形元素组件 151
6.4 图表的系列配置项 153
【任务6-12】 文字样式配置项 153
【任务6-13】 标签配置项 154
【任务6-14】 线样式配置项 157
【任务6-15】 分割线配置项 159
6.5 pyecharts常见图表 160
【任务6-16】 柱形图和条形图——居民人均可支配收入和人均消费支出情况 160
【任务6-17】 雷达图——居民人均消费支出情况 167
【任务6-18】 散点图——TV广告投入与销售额之间的关系 170
【任务6-19】 平行坐标图——各类学历教育招生人数情况 173
【任务6-20】 箱形图——我国造林总面积情况 176
【任务6-21】 漏斗图——我国货运量情况 179
【任务6-22】 仪表盘——某门课程学员学习进度合格率 181
【任务6-23】 折线图——我国居民人均收支情况 185
【任务6-24】 饼图——居民人均消费支出及其构成 188
拓展训练 191
【拓展任务6】 城市绿地建设情况 191
单元小结 193
思考练习 194
单元7
国民经济和社会发展统计数据可视化 195
7.1 国内生产总值及各级产业增加值情况 195
【任务7-1】 国内生产总值及第 一产业、第二产业、第三产业增加值情况 195
7.2 人口数据情况 199
【任务7-2】 人口数构成及抚养比情况 199
【任务7-3】 人口年龄结构与抚养比情况 202
7.3 广播电视和电影发展情况 205
【任务7-4】 有线广播电视用户数情况 205
【任务7-5】 国产和进口电影票房收入情况 207
单元小结 209
思考练习 209
参考文献 210