从 (2003-2008) 到 (2008-2015) Python可视化让初学者沮丧的两面进入Python可视化领域的新手多数人都因为Python可视化生态的两面性有过非常沮丧的时候:
前面已有那么多python可视化工具了,但2018年,有个德国学者还是借鉴R语言 ggplot2 包的语法开发了 plotnine 包,几乎实现了对 R 语言 ggplot2 语法的直接移植,正是Python可视化生态上述两面性的证明。 matplotlib 是python的标准绘图库,实现了对绘图各方面的自由定义,大家几乎都从这里开始过。但matplotlib学习的曲线非常陡峭。而其它包又各有侧重,因些或多或少存在功能不全、不同缺陷的问题。 我也是从matplotlib开始Python的可视化,但一段时间后,因为相同的原因转向其它工具。 在尝试了各种工具,走过一些弯路后,又回到 matplotlib,才找到学习 matplotlib的正确姿势,才明白matplotlib仍是Python可视化的终极武器,只是太多初学者一开始就跌落到了学习 matplolib那个最大的坑里。 最近与一些网友在群里交流讨论后,深有感触。就想把自己学习matplotlib的笔记和心得整理出来,希望能帮助大家绕过一些坑,更快地进入matplotlib世界的自由境界! 本系列会是一个长期写作计划,到底会有多少篇,我现在也不知道。但我知道,matplotlib最新版是3.1.1,它的官方文档长达近3000页! 为什么还是matplotlibmatplotlib的历史John D. Hunter(1968 - 2012年),是美国神经生物学家,他是 matplotlib的原作者。 John D. Hunter 1968年出生于美国田纳西州的戴尔斯堡,毕业于麦卡利高中。他最初在普林斯顿大学学习,后来于2004年在芝加哥大学获得神经生物学博士学位。 在攻读神经生物学博士期间,Jonh D. Hunter 经常使用MATLAB进行数据分析和可视化。当他开始使用EEG(脑电图)数据时,他就在MATLAB中开发了一个EEG分析应用程序来与数据交互。 随着分析的深入,需要与数据库、http服务器交互,需要操纵复杂的数据结构,应用程序的复杂性不断增加,MATLAB作为编程语言的局限性日益突显。 John D. Hunter决定转向Python,当 Jonh D. Hunter 搜索Python绘图包时,有几个要求: 绘制的图形要达到出版的质量,一个重要的要求是文本显示不能有锯齿;包含Postscript输出可嵌入Tex排版的eps格式图像的功能;可嵌入到图形用户界面中开发应用程序;代码应该足够简单,容易理解并扩展它;绘制图形很简易。 找不到适合符合上述要求的Python 绘图软件包,Jonh D. Hunter 做了很多Python程序员会做的事情:卷起袖子自己干! 因为长期使用Matlab的经验,他决定模仿MATLAB的绘图功能,理由如下:
非常不幸,John D. Hunter 2012年因癌症的治疗并发症去世! John D. Hunter 走了,但他给开放的互联网社区留下了伟大的 Matplotlib。 Matplotlib目前的首席开发人员是Thomas A. Caswell。很多人为matplotlib的维护做出了贡献,应该向他们致敬! Matplotlib有什么优点?虽然Matplotlib源于模仿MATLAB,但是它却不同于MATLAB,与MATLAB相比它的优势在于:
但也正是追求这些优点,导致了matplotlib库中的模块、类、类的方法和属性、各种对象的设置参数错综复杂,学习它的路径陡峭,常让初学者一头雾水。 尤其是各种书籍、教程都从 pyplot函数绘图开始,并以函数绘图为重点,让初学者照猫画虎,在学习matplotlib的路径上挖了一个最大的坑。 原创文章! |
|
来自: 星光闪亮图书馆 > 《Python学习》