《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 节由李伟坚编写,其余内容由童大谦编写。为了方便读者学习,本书的示例数据和代码均可下载。