python可视化Task01
我学绘图是从R语言起步的,R语言在绘图方面有很成熟的ggplot2包和衍生出的成熟生态,市面上也有很多不错的书籍资料,对ggplot2图层叠加的绘图思想讲解也比较透彻。但后面感觉到R在数据处理方面的效率比不上python(数据只能在经过一系列清洗转换成data.frame或者tibble格式后才能绘图,而这一系列的清洗转换我觉得python的支持更完美,因此不同编程语言间数据对象的切换使用只能依赖文本文件之间的转换,个人希望一种编程语言就完成数据的清洗和展示,因而转向python绘图的学习)。
学python绘图避免不了对matplotlib的学习和延伸,但我目前在市面上看到的有关matplotlib书籍资料,并不能把matplotlib的绘图思想讲解清楚,三分画图七分修图,要对一幅图片做更精细的修改,面向对象风格才是更好的选择,但我没有看到有哪部分资料对这种绘图风格有很好的解释,而官方文档的讲解又比较散乱而且有语言方面的理解困难,导致入门困难,经常是遇到问题才翻文档和google,知乎上一篇文章引起我的共鸣 (https://zhuanlan.zhihu.com/p/93423829)。当然,如果有复杂的图片,我还是偏向用R,因为有更成熟的资源和支持。
matplotlib提供了两种最常用的绘图接口:
- 显式创建figure和axes,在上面调用绘图方法,也被称为OO模式(object-oriented style),可以适应更复杂的场景,更好地控制图形
- 依赖pyplot自动创建figure和axes,并绘图
后续学习主要使用第一种接口绘制图形