第1章 准备工作环境 1
1.1 介绍 1
1.2 安装matplotlib、Numpy和Scipy库 2
1.2.1 准备工作 2
1.2.2 操作步骤 3
1.2.3 工作原理 4
1.2.4 补充说明 4
1.3 安装virtualenv和virtualenvwrapper 4
1.3.1 准备工作 5
1.3.2 操作步骤 5
1.4 在Mac OS X上安装matplotlib 6
1.4.1 准备工作 6
1.4.2 操作步骤 6
1.5 在Windows上安装matplotlib 7
1.5.1 准备工作 7
1.5.2 操作步骤 8
1.5.3 补充说明 8
1.6 安装图像处理工具:Python图像库(PIL) 9
1.6.1 操作步骤 9
1.6.2 安装过程说明 9
1.6.3 补充说明 9
1.7 安装requests模块 10
1.7.1 操作步骤 10
1.7.2 requests使用说明 10
1.8 在代码中配置matplotlib参数 11
1.8.1 准备工作 11
1.8.2 操作步骤 11
1.8.3 代码解析 12
1.9 为项目设置matplotlib参数 12
1.9.1 准备工作 12
1.9.2 配置方法 12
1.9.3 配置过程说明 13
1.9.4 补充说明 14
第2章 了解数据 15
2.1 简介 16
2.2 从CSV文件导入数据 16
2.2.1 准备工作 16
2.2.2 操作步骤 16
2.2.3 工作原理 17
2.2.4 补充说明 18
2.3 从MicrosoftExcel文件中导入数据 18
2.3.1 准备工作 19
2.3.2 操作步骤 19
2.3.3 工作原理 19
2.3.4 补充说明 20
2.4 从定宽数据文件导入数据 21
2.4.1 准备工作 21
2.4.2 操作步骤 21
2.4.3 工作原理 22
2.5 从制表符分隔的文件中读取数据 23
2.5.1 准备工作 23
2.5.2 操作步骤 23
2.5.3 工作原理 23
2.5.4 补充说明 24
2.6 从JSON数据源导入数据 24
2.6.1 准备工作 25
2.6.2 操作步骤 25
2.6.3 工作原理 25
2.6.4 补充说明 26
2.7 导出数据到JSON、CSV和Excel 27
2.7.1 准备工作 27
2.7.2 操作步骤 27
2.7.3 工作原理 30
2.7.4 补充说明 31
2.8 从数据库导入数据 31
2.8.1 准备工作 32
2.8.2 操作步骤 32
2.8.3 工作原理 35
2.8.4 补充说明 35
2.9 清理异常值 36
2.9.1 准备工作 36
2.9.2 操作步骤 36
2.9.3 补充说明 42
2.10 读取大块数据文件 42
2.10.1 操作步骤 42
2.10.2 工作原理 43
2.10.3 补充说明 44
2.11 读取流数据源 44
2.11.1 操作步骤 44
2.11.2 工作原理 45
2.11.3 补充说明 45
2.12 导入图像数据到NumPy数组 46
2.12.1 准备工作 46
2.12.2 操作步骤 46
2.12.3 工作原理 49
2.12.4 补充说明 50
2.13 生成可控的随机数据集合 51
2.13.1 准备工作 51
2.13.2 操作步骤 52
2.14 真实数据的噪声平滑处理 58
2.14.1 准备工作 58
2.14.2 操作步骤 58
2.14.3 工作原理 58
2.14.4 补充说明 62
第3章 绘制并定制化图表 65
3.1 简介 65
3.2 定义图表类型——柱状图、线形图和堆积柱状图 66
3.2.1 准备工作 66
3.2.2 操作步骤 66
3.2.3 工作原理 69
3.2.4 补充说明 70
3.3 简单的正弦图和余弦图 71
3.3.1 准备工作 71
3.3.2 操作步骤 71
3.4 设置坐标轴长度和范围 74
3.4.1 准备工作 74
3.4.2 操作步骤 74
3.4.3 工作原理 74
3.4.4 补充说明 76
3.5 设置图表的线型、属性和格式化字符串 76
3.5.1 准备工作 77
3.5.2 操作步骤 77
3.5.3 工作原理 77
3.6 设置刻度、刻度标签和网格 80
3.6.1 准备工作 80
3.6.2 操作步骤 81
3.7 添加图例和注解 83
3.7.1 准备工作 84
3.7.2 操作步骤 84
3.7.3 工作原理 85
3.8 移动轴线到图中央 86
3.8.1 操作步骤 86
3.8.2 工作原理 87
3.8.3 补充说明 87
3.9 绘制直方图 87
3.9.1 准备工作 88
3.9.2 操作步骤 88
3.9.3 工作原理 90
3.10 绘制误差条形图 90
3.10.1 准备工作 90
3.10.2 操作步骤 90
3.10.3 工作原理 91
3.10.4 补充说明 92
3.11 绘制饼图 92
3.11.1 准备工作 92
3.11.2 操作步骤 93
3.12 绘制带填充区域的图表 94
3.12.1 准备工作 94
3.12.2 操作步骤 94
3.12.3 工作原理 95
3.12.4 补充说明 96
3.13 绘制带彩色标记的散点图 96
3.13.1 准备工作 96
3.13.2 操作步骤 96
3.13.3 工作原理 98
第4章 学习更多图表和定制化 99
4.1 简介 99
4.2 设置坐标轴标签的透明度和大小 100
4.2.1 准备工作 100
4.2.2 操作步骤 100
4.2.3 工作原理 101
4.2.4 补充说明 102
4.3 为图表线条添加阴影 102
4.3.1 准备工作 103
4.3.2 操作步骤 103
4.3.3 工作原理 105
4.3.4 补充说明 105
4.4 向图表添加数据表 106
4.4.1 准备工作 106
4.4.2 操作步骤 106
4.4.3 工作原理 107
4.4.4 补充说明 107
4.5 使用subplots(子区) 108
4.5.1 准备工作 108
4.5.2 操作步骤 108
4.5.3 工作原理 110
4.5.4 补充说明 110
4.6 定制化网格 110
4.6.1 准备工作 110
4.6.2 操作步骤 112
4.6.3 工作原理 114
4.7 创建等高线图 114
4.7.1 准备工作 114
4.7.2 操作步骤 115
4.7.3 工作原理 117
4.8 填充图表底层区域 117
4.8.1 准备工作 118
4.8.2 操作步骤 118
4.8.3 工作原理 120
4.9 绘制极线图 121
4.9.1 准备工作 121
4.9.2 操作步骤 121
4.9.3 工作原理 123
4.10 使用极线条可视化文件系统树 123
4.10.1 准备工作 123
4.10.2 操作步骤 123
4.10.3 工作原理 126
第5章 创建3D可视化图表 129
5.1 简介 129
5.2 创建3D柱状图 129
5.2.1 准备工作 130
5.2.2 操作步骤 130
5.2.3 工作原理 132
5.2.4 补充说明 132
5.3 创建3D直方图 133
5.3.1 准备工作 134
5.3.2 操作步骤 134
5.3.3 工作原理 135
5.4 在matplotlib中创建动画 136
5.4.1 准备工作 136
5.4.2 操作步骤 137
5.4.3 工作原理 138
5.4.4 补充说明 139
5.5 用OpenGL制作动画 139
5.5.1 准备工作 140
5.5.2 操作步骤 141
5.5.3 工作原理 142
5.5.4 补充说明 142
第6章 用图像和地图绘制图表 145
6.1 简介 145
6.2 用PIL做图像处理 146
6.2.1 准备工作 146
6.2.2 操作步骤 149
6.2.3 工作原理 151
6.2.4 补充说明 151
6.3 绘制带图像的图表 151
6.3.1 准备工作 152
6.3.2 操作步骤 152
6.3.3 工作原理 154
6.4 在具有其他图形的图表中显示图像 156
6.4.1 准备工作 156
6.4.2 操作步骤 156
6.4.3 工作原理 158
6.4.4 补充说明 159
6.5 使用Basemap在地图上绘制数据 160
6.5.1 准备工作 160
6.5.2 操作步骤 160
6.5.3 工作原理 162
6.5.4 补充说明 164
6.6 使用GoogleMap API在地图上绘制数据 164
6.6.1 准备工作 164
6.6.2 操作步骤 165
6.6.3 工作原理 168
6.6.4 补充说明 169
6.7 生成CAPTCHA图像 169
6.7.1 准备工作 170
6.7.2 操作步骤 170
6.7.3 工作原理 173
6.7.4 补充说明 174
第7章 使用正确的图表理解数据 177
7.1 简介 177
7.2 理解对数图 178
7.2.1 准备工作 178
7.2.2 操作步骤 179
7.2.3 工作原理 180
7.3 理解频谱图 181
7.3.1 准备工作 181
7.3.2 操作步骤 182
7.3.3 工作原理 183
7.3.4 补充说明 184
7.4 创建火柴杆图 185
7.4.1 准备工作 186
7.4.2 操作步骤 186
7.4.3 工作原理 188
7.5 绘制矢量场流线图 189
7.5.1 准备工作 189
7.5.2 操作步骤 189
7.5.3 工作原理 191
7.5.4 补充说明 192
7.6 使用颜色表 192
7.6.1 准备工作 192
7.6.2 操作步骤 194
7.6.3 工作原理 196
7.6.4 补充说明 196
7.7 使用散点图和直方图 197
7.7.1 准备工作 197
7.7.2 操作步骤 198
7.7.3 工作原理 201
7.7.4 补充说明 201
7.8 绘制两个变量间的互相关图形 204
7.8.1 准备工作 204
7.8.2 操作步骤 205
7.8.3 工作原理 206
7.9 自相关的重要性 207
7.9.1 准备工作 207
7.9.2 操作步骤 207
7.9.3 工作原理 209
7.9.4 补充说明 209
第8章 更多的matplotlib知识 211
8.1 简介 211
8.2 绘制风杆(barbs) 211
8.2.1 准备工作 212
8.2.2 操作步骤 213
8.2.3 工作原理 214
8.2.4 补充说明 215
8.3 绘制箱线图 215
8.3.1 准备工作 215
8.3.2 操作步骤 216
8.3.3 工作原理 217
8.4 绘制甘特图 218
8.4.1 准备工作 218
8.4.2 操作步骤 219
8.4.3 工作原理 222
8.5 绘制误差条 223
8.5.1 准备工作 223
8.5.2 操作步骤 224
8.5.3 工作原理 225
8.5.4 补充说明 225
8.6 使用文本和字体属性 226
8.6.1 准备工作 226
8.6.2 操作步骤 229
8.6.3 工作原理 232
8.7 用LaTeX渲染文本 232
8.7.1 准备工作 233
8.7.2 操作步骤 234
8.7.3 工作原理 236
8.7.4 补充说明 236
8.8 理解pyplot和OO API的不同 237
8.8.1 准备工作 237
8.8.2 操作步骤 239
8.8.3 工作原理 241
8.8.4 补充说明 242