Excel+Python科研绘图
  • 推荐0
  • 收藏0
  • 浏览10

Excel+Python科研绘图

  • 书  号:9787121503498
  • 出版日期:2025-07-01
  • 页  数:
  • 开  本:
  • 出版状态:上市销售
  • 维护人:博文小编
《Excel+Python科研绘图》主要介绍和发掘Excel软件自身绘制科研图表的能力。相对于其他类似软件,Excel的缺点是大部分科研图表类型缺失,完全没有;优点是它有的基本图表类型被它做到了极致,可以轻松实现很多其他软件不太容易实现的效果。
《Excel+Python科研绘图》基于图形学原理,利用Excel自有图形引擎,开发出了大量科研图表,如二元直方图、一元和二元核密度估计曲线图、抖动散点图、规则散点图、多种样式的热力图、箱形图、散点柱状图、散点箱形图、误差柱状图、小提琴图、云雨图、配对图等等。MATLAB和Python有的科研图表类型Excel现在基本上都有了。
由于Excel最近集成了Python,本书下篇也介绍了使用Python的Matplotlib,Seaborn和Pandas等包绘制科研图表。
童大谦
曾在高校任教。2001年至今,出版MATLAB, Python, .NET和SPSS类图书20余本,部分图书被数十所大学用于教学。近年著有《代替VBA! 用Python轻松实现Excel编程》和《MATLAB科技绘图与学术图表绘制从理论到实践》等图书。

李伟坚
资深数据全栈专家,拥有15年以上的数据相关工作经验。Excel催化剂公众号主理人,EasyShu图表插件、Excel催化剂插件、FreeScript插件等主创。
本书的出发点
“一图胜千言”,数据可视化是科学计算和数据分析的一部分。作为微软比较成功的产品之一,Excel 不仅提供了强大的数据处理能力,还提供了强大的图形引擎。用Excel 可以实现各种常见的科研图表的绘制。
本书结合若干示例,用Excel 和Python xlwings 对照的方式,试图手把手地教会读者如何用Excel 绘图。通过阅读本书,读者不仅可以学会用Excel 绘图,还可以学会各种渲染方法,对已有图表进行美化,以及用不同的方式创建Excel 中没有的科研图表。
本书还同步提供了VBA 代码。因此,本书介绍了如何使用Excel(不用懂编程)、VBA 和Python 这3 种方式绘制科研图表。
相信通过阅读本书,读者不仅能获得“鱼”,还能掌握“渔”的方法和技巧,真正学到知识。
本书的内容
Excel 经常被用于科研绘图。其缺点是缺少多种类型的科研图表,需要用户自行创建;优点是在数十种基本图表类型上做到了极致,对于用Python 和MATLAB 等工具难以实现的效果,用Excel 可以轻松实现。
本书第2~9 章主要介绍基于Excel 图形引擎绘图的方法;第10 章主要介绍基于Matplotlib 图形引擎绘图的方法。综上所示,本书对Excel 的科研绘图功能进行了系统的介绍。
其中,第2 章和第3 章介绍用Excel 和Python xlwings 绘图所需的语言、数据和图表的基础知识。
第4 章介绍用Excel 和Python xlwings 美化Excel 图表的方法。因为默认绘制的图表的样式偏向商业图表和工作型图表,所以在绘图时需要改变图表样式和重新配色。
在Excel 中,可以对绘制的图表进行整体渲染,也可以通过对象索引获取图表局部的点、线、面或文本等后修改它们的属性。
第5 章介绍创建新图表的方法。在Excel 中,可以用点、线、面和文本等创建新图表,也可以在已有图表的基础上修改或替换部分图形元素创建新图表,还可以通过组合多种已有图表来创建新图表。本章给出了若干示例。
第6 章、第7 章介绍绘制分类型图表和数值型图表的方法。分类型图表的坐标轴中至少有一个是分类轴,常见的分类型图表包括点图、线形图、柱状图、条形图、面积图、饼图和环状图等。数值型图表的所有坐标轴都是数值轴,常见的数值型图表包括直方图、核密度估计图、散点图、气泡图、热力图和曲面图等。
第8 章介绍绘制统计图表的方法。统计图表在学术期刊上经常可以看到。本章不仅介绍了绘制统计图表的方法,还梳理了相关的统计与分析知识。本书中的大部分数值型图表和几乎所有统计图表都是笔者自行创建的。
第9 章介绍用VBA 和C#绘制Excel 图表的方法。本质上,Python xlwings 和VBA调用的Excel 对象模型是同一个,它们甚至使用相同的语法进行编程。
第10 章介绍基于Python In Excel 功能在Excel 中用Matplotlib 图形引擎绘制Excel图表的方法。现在Python 也成了Excel 的内置语言。
本书的特点
 Excel 高级绘图
本书在Excel 中引入了MATLAB 和Python 中常见的颜色查找表。通过反复测试,整理出了用Excel 图形引擎、基于计算机图形学的一整套绘图方法。掌握此法,可以极大地扩展Excel 的高级绘图功能。
 在Python 中用Excel 图形引擎绘图
本书详细介绍了基于Python xlwings 用Excel 图形引擎绘图的方法,也介绍了用VBA 和C#绘图的方法。
 对照学习
本书用Excel 和Python xlwings 对照的方式,详细介绍了Excel 的绘图功能,并开发了与绘图相关的多种图表,极大地扩展了Excel 的科研绘图功能。
 内容真诚
本书不仅“授之以鱼”,还“授之以渔”。不仅向读者展示了大量的成品图表和代码,还结合示例向读者介绍了美化Excel 图表和创建新图表的方法。
 内容新颖
本书有很多创造性的内容,即使是熟悉Excel 绘图功能的人读起来也会惊喜连连。本书还介绍了基于Python In Excel 功能在Excel 中用Matplotlib 图形引擎绘制Excel 图表的方法。
 内容专业
编写本书之前,笔者参考了数千个科研图表,系统分析了科研图表的特点,并在写作中以此为要求。此外,笔者也有较大型图形系统开发的经验。
 内容精练
本书原稿有700 多页,为了使内容更精练,书中省略了大量重复的代码,包括几乎所有VBA 代码。
本书的适用对象
本书适合大学生、研究生、科研人员、数据分析人员、工程师、程序员,以及所有对科研绘图感兴趣的人使用。
联系笔者
本书经过反复修改。尽管如此,因为笔者水平有限,书中难免存在不足之处,恳请广大读者批评指正。本书9.2 节由李伟坚编写,其余内容由童大谦编写。为了方便读者学习,本书的示例数据和代码均可下载。

目录

第1 章 概述 / 1
1.1 科研绘图概述 2
1.1.1 科研绘图的相关概念 2
1.1.2 科研绘图的常见要求 2
1.1.3 常见的科研绘图软件 3
1.2 用Excel 图形引擎绘图 3
1.2.1 用Excel 图形引擎绘图的优点和缺点 3
1.2.2 用Excel GUI 绘图 4
1.2.3 以编程方式创建和编辑科研图表 4
1.2.4 用Excel 创建新图表 4
1.3 用Matplotlib 图形引擎绘图 5
1.3.1 用Matplotlib 图形引擎绘图的优点和缺点 5
1.3.2 在Excel 中用Matplotlib图形引擎绘图 5
1.4 本书使用说明 6
1.4.1 代码使用说明 6
1.4.2 学习资源使用说明 6
1.4.3 软件版本使用说明 6

第2章 语言和数据基础 / 7
2.1 在Python 中用Excel图形引擎绘图 8
2.1.1 Python xlwings 的安装 8
2.1.2 Python xlwings 的两种编程方式 8
2.1.3 使用Python xlwings 的一般过程 9

2.2 数据分类 10
2.2.1 标量、向量和矩阵 10
2.2.2 数值型数据 11
2.2.3 分类型数据 12
2.2.4 时间系列型数据 12

2.3 数据导入和导出 12

2.4 数据整理 13
2.4.1 列数据的获取 13
2.4.2 列数据的筛选 15

2.5 数据预处理 16
2.5.1 重复值的处理 16
2.5.2 缺失值的处理 17
2.5.3 异常值的处理 18

第3 章 图表基础 / 21
3.1 用Excel 创建图表 22
3.2 用Python xlwings 创建图表 22
3.2.1 用ChartObjects 对象创建图表 22
3.2.2 用Shapes 对象创建图表 24
3.2.3 通过逐个添加系列创建图表 26
3.2.4 用API 方式创建图表工作表 27
3.2.5 绑定数据 28

3.3 图表类型与常用属性 29
3.3.1 设置图表类型 29
3.3.2 设置和修改图表属性 34

3.4 坐标系 36
3.4.1 Axes 对象和Axis 对象 36
3.4.2 坐标轴标题 38
3.4.3 数值轴的取值范围 40
3.4.4 坐标轴反向 41
3.4.5 坐标轴交点位置 42
3.4.6 刻度线 43
3.4.7 刻度线间隔 44
3.4.8 刻度标签 46
3.4.9 刻度标签间隔 47
3.4.10 刻度标签的输出格式 49
3.4.11 网格线 50
3.4.12 外框 51
3.4.13 双轴图 52
3.4.14 对数坐标图 54

3.5 图表元素 55
3.5.1 设置图表元素 55
3.5.2 图表标题 57
3.5.3 数据标签 58
3.5.4 绘图区 59
3.5.5 图表区 61
3.5.6 图例 62

第4 章 美化Excel 图表 / 66
4.1 获取图表中的基本图形元素 67
4.1.1 获取图表中的系列 67
4.1.2 获取系列中的单个点 68
4.2 修改基本图形元素的属性 70
4.2.1 修改点的属性 70
4.2.2 修改线的属性 73
4.2.3 修改面的属性 75
4.2.4 修改文本的属性 83
4.3 着色与配色 84
4.3.1 颜色的表示 84
4.3.2 配色理论 88
4.3.3 配色工具和资源 92
4.3.4 给一组对象着色 92
4.3.5 使用颜色查找表 93

4.4 更多渲染 100
4.4.1 透明度 100
4.4.2 纹理映射 101
4.4.3 光照和材质 101
4.4.4 特效:阴影 102
4.4.5 特效:发光 103
4.4.6 特效:边缘柔化 105
4.4.7 特效:三维效果 106

4.5 样式和布局 107
4.5.1 内置图表样式 107
4.5.2 自定义图表样式 110
4.5.3 布局章法:留白 112
4.5.4 布局章法:主次 112
4.5.5 布局章法:疏密 112
4.5.6 布局章法:取舍 112

4.6 高质量图表输出 112
4.6.1 设置图表大小 112
4.6.2 设置字体 113
4.6.3 将图表保存为图片 114
4.6.4 输出矢量格式 114

第5 章 创建新图表 / 116
5.1 在绘图区自定义图表的坐标 117
5.1.1 图表区与绘图区的位置和大小 117
5.1.2 图表区与绘图区的坐标系 120
5.1.3 创建空坐标系 121
5.1.4 在绘图区添加图形元素 122
5.1.5 坐标转换 125

5.2 在图表中绘制基本图形元素 127
5.2.1 绘制点 127
5.2.2 绘制直线 130
5.2.3 绘制矩形、圆角矩形、椭圆和圆 132
5.2.4 绘制多义线与多边形 135
5.2.5 绘制贝塞尔曲线 142
5.2.6 绘制标签 143
5.2.7 绘制文本框 144
5.2.8 添加标注 145
5.2.9 绘制自选图形 148
5.2.10 绘制艺术字 149

5.3 用基本图形元素搭建新图表 151
5.3.1 自定义堆叠柱状图 151
5.3.2 自定义冲击图 154
5.3.3 自定义散点柱状图 155
5.3.4 自定义三角形柱状图 158
5.3.5 自定义倒三角形柱状图 160

5.4 修改已有图表创建新图表 161

5.5 组合已有图表创建新图表 164

5.6 图形的几何变换 167
5.6.1 几何变换的基本原理 167
5.6.2 平移变换 168
5.6.3 旋转变换 169
5.6.4 缩放变换 170
5.6.5 翻转变换 171

5.7 图片操作 173
5.7.1 在图表中添加图片 173
5.7.2 图片的几何变换 174
5.7.3 在图表中添加图片示例 175

5.8 在绘图区自定义图表时可能遇到的几个问题 176
5.8.1 图表覆盖问题 176
5.8.2 图表变形问题 177
5.8.3 提高绘图的速度 178

第6 章 分类型图表 / 179
6.1 点图 180
6.1.1 简单点图 180
6.1.2 复合点图 181
6.1.3 简单滑珠图 182
6.1.4 复合滑珠图 183
6.1.5 分区滑珠图 185
6.1.6 哑铃图 186
6.1.7 火柴杆图 189
6.1.8 棒棒糖图 191

6.2 线形图 194
6.2.1 简单线形图 194
6.2.2 复合线形图 195
6.2.3 平滑线形图 197
6.2.4 纵向线形图 198
6.2.5 线形图+渐变色背景 199
6.2.6 带形图 200

6.3 柱状图 201
6.3.1 简单柱状图 201
6.3.2 不同色简单柱状图 202
6.3.3 渐变色填充简单柱状图 204
6.3.4 图案填充简单柱状图 205
6.3.5 图片填充简单柱状图 206
6.3.6 复合柱状图 207
6.3.7 堆叠柱状图 208
6.3.8 百分比堆叠柱状图 209
6.3.9 重叠柱状图 210
6.3.10 水平向渐变色填充复合柱状图 211
6.3.11 三维柱状图 212
6.3.12 三维圆锥柱状图 214
6.3.13 三维圆柱柱状图 215
6.3.14 三维棱锥柱状图 217

6.4 条形图 218
6.4.1 二维条形图与三维条形图 218
6.4.2 堆叠条形图 221
6.4.3 百分比堆叠条形图 222

6.5 面积图 223
6.5.1 简单面积图 223
6.5.2 复合面积图 224
6.5.3 堆叠面积图 225
6.5.4 百分比堆叠面积图 226
6.5.5 渐变色堆叠面积图 227
6.5.6 三维面积图 228

6.6 饼图 230
6.6.1 二维饼图 230
6.6.2 饼图扇区明细图 232
6.6.3 三维饼图 234

6.7 环状图 235

第7 章 数值型图表 / 238
7.1 直方图 239
7.1.1 一元直方图的绘制方法 239
7.1.2 绘制一元直方图 241
7.1.3 二元直方图的绘制方法 244
7.1.4 绘制二元直方图 246
7.1.5 分箱散点图 248

7.2 核密度估计图 256
7.2.1 一元核密度估计曲线图 256
7.2.2 单色填充核密度估计曲线图 259
7.2.3 渐变色填充核密度估计曲线图 260
7.2.4 多色渐变色填充核密度估计曲线图 262
7.2.5 复合一元核密度估计曲线图 263
7.2.6 单色填充山脊图 266
7.2.7 渐变色填充山脊图 269
7.2.8 二元核密度估计曲面图 271
7.2.9 二元核密度估计等值线图 274

7.3 散点图 275
7.3.1 二维散点图 275
7.3.2 抖动散点图 277
7.3.3 规则散点图 281

7.4 气泡图 287
7.4.1 二维气泡图 287
7.4.2 三维气泡图 289

7.5 热力图 290
7.5.1 普通热力图 290
7.5.2 圆圈热力图 297
7.5.3 方块热力图 303
7.5.4 三角形方块热力图 304

7.6 曲面图 306
7.6.1 曲面+三维填充等值线图 307
7.6.2 曲面模型 308
7.6.3 曲面的颜色、透明度和光照 309
7.6.4 等值线图和填充等值线图 310

第8 章 统计图表 / 313
8.1 数据探查 314
8.1.1 描述性统计 314
8.1.2 频数分析和直方图 316
8.1.3 核密度估计 317

8.2 箱形图 319
8.2.1 箱形图简介 319
8.2.2 简单箱形图 320
8.2.3 多色简单箱形图 325
8.2.4 水平多色简单箱形图 326
8.2.5 单色渐变简单箱形图 329
8.2.6 多色渐变简单箱形图 331
8.2.7 简单箱形图叠加均值连线 332
8.2.8 复合箱形图 334

8.3 小提琴图 334
8.3.1 小提琴图样式1 335
8.3.2 小提琴图样式2 338

8.4 组合图 340
8.4.1 云雨图 340
8.4.2 误差柱状图 346
8.4.3 散点柱状图 349
8.4.4 散点箱形图 351

8.5 与概率分布相关的图表 354
8.5.1 QQ 图 355
8.5.2 PP 图 357
8.6 均值比较 360
8.6.1 配对图 360
8.6.2 箱形图叠加配对图 363
8.6.3 误差柱状图叠加配对图 365
8.6.4 误差柱状图标注检验显著性 367

第9 章 用VBA 和C#绘制Excel 图表 / 370
9.1 用VBA 绘制Excel 图表 371
9.1.1 用VBA 创建Excel图表 371
9.1.2 用VBA 美化Excel图表 371
9.1.3 用VBA 创建新图表 372

9.2 用C#绘制Excel 图表 374
9.2.1 用C#绘制Excel 和WPS 表格图表 374
9.2.2 用C#调用COM 接口实现Excel 图表的自动化 375
9.2.3 用EPPlus 库绘制Excel图表 383

读者评论