我的施工之路
1我的施工计划2数字专题3字符串专题4列表专题5流程控制专题6编程风格专题7函数使用8面向对象编程(上篇)9面向对象编程(下篇)10十大数据结构11包和模块使用总结12Python正则专题总结13设计模式14Python时间模块总结15 Python 装饰器16 Python 迭代器17 Python 生成器
Python 绘图入门
这是施工系列第18篇,同时也进入到一个新的阶段:Python绘图篇。作为绘图模块的第一篇,与大家一起过过最基本的Python绘图原理。
掌握基本的绘图原理很有必要,各个常用绘图库的原理基本都是相通的。所以了解它们后,使用库里的API函数将会更加得心应手,并且熟练其中一个库后,便能迅速上手其他的绘图库。
1 绘图组成要素
一般绘图要素的基本组成部分包括:画布(Canvas),坐标系(Axes),轴(Axis),标题(Title),标签(Label),刻度(Tick),图例(Legend),网格(Grid),数据域(Data),如下图所示:
2 画布
画布 Canvas 是绘制图像的地方,一个画布可以包括多个坐标系,如下图所示,一个Canvas上包括2个坐标系(Axes):
对应在实际绘图中,如下所示,画布上共包括3个坐标系,每个坐标系分别绘制了柱状图、折线图、饼图,布局样式如下:
这种坐标系布局还能做出更加复杂多样美观的样式,即看板,英文 dashboard,实际工作常用在商业智能分析(BI)中,如下就是一个dashboard的范例:
3 坐标系
一个坐标系常见的组成部分如下所示:
在实际坐标系中,各个元素的对应关系如下所示:
4 轴
常见的轴划分为: x 轴和 y 轴,当然也有某些类图只有一个轴,如饼图。
另外,一个坐标系中,还可以包括双轴。如下所示,左侧轴表示降水量,右侧轴表示温度,这是双轴图:
很多时候,习惯使用 x 轴表示非数值型,y 轴表示数值,但是现在也常常颠倒过来,让 y 轴表示非数值, x 轴表示数值。如下图所示:
5 其他元素
其他元素如:标题(Title),标签(Label),刻度(Tick),图例(Legend),网格(Grid),这些都比较好理解。
有的绘图库里,一个轴对象,通常包括着标签、刻度、以及网格对象。
图例和数据域是紧密相关的,一个系列对应图例的一个部分,如3个系列在图例中就有3个不同取值,并使用不同颜色加以区分。如下图所示,图例包括3个不同取值,每个取值对应一个颜色,每个颜色代表一个系列:
6 注意事项
绘图的终极目的是想让数据展现更加更效、美观,方便观众迅速捕捉到数据的大概分布和走势。
注意事项,最重要的一条 1):首先做到准确高效的传达信息,以此为前提下再力求美观。
2)折线图、柱状图等的基线最好要从零开始。
3)尽量使用常见的、可读性强的字体,最好不要使用艺术字。
4)通常来讲,柱状图的间隔应为柱状图宽度的1/2,间距不能过小或过大。
5)饼图的分类要适中,分类数不宜过多,过多分类无法聚焦。
6)一副图中,不同颜色种类不宜过多。
还有一些其他重要细节,大家不妨留言补充或感兴趣的自己去查询。
以上就是Python绘图的基本入门篇,希望对大家有所帮助,欢迎大家点赞支持。你还可以关注我的视频号,我正在陆续打造更多的可视化作品: