最适合小白学的花色玩Python折线图|画个天气预报
这是菜鸟学Python的第102篇原创文章
阅读本文大概需要3分钟
前面写一篇关于数据可视化的入门开篇,简单的介绍了一下Matplotlib的使用(小白开始学Python最著名的绘图库),今天我们进一步来探索一下Matplotlib到底能画哪些图,怎么画呢,其实常见的图形大概6-7种,数据可视化其实除了工具之外,还要思考如何展现,就像画画一下.形固然重要,神更重要.后面我们会详细一一介绍,今天我们先从折线图学起,最后画一个天气预报图
要点:
简单折线图
带刻度和标注的折线图
最全的花色折线图
带阴影面积的折线图
天气预报实战例子
1.简单折线图
折线图应该算是使用最最频繁的一种图形类型,是用matplotlib.pyplot.plot()函数画的,上一篇其实我们多少提到了一些,下面我们来看看怎么画
1). 先来一个最简单的:
- 先创建一个[1,10]的序列作为x轴坐标
- 再创建一个[1,10]的序列的平方为y轴坐标
- 然后plt.figure()算是创建画布
-
最好把x,y轴的序列填入plt.plot()函数中
是不是很简单啊,上面的图有几个问题:
- y轴的坐标太粗了,我们希望刻度更精细一点
- 图形曲线上的点能不能标数字
好我们慢慢来进化的
2.刻度和标注的折线图
加y轴坐标和图形数字
- plt模块里面有一个yticks函数可以自定义y轴的颗粒度
- 然后我plt.gca()获取ax对象
-
循环找到曲线上的坐标点,然后ax.text写入注释
是不是很简单啊,有没有更花色的玩法呢:
- 不急我把常见的色彩和样式都总结好了,接着看
3.花色折线图
下面是我总结的常见的折线图的色彩和样式,然后我们用一个字典来综合秀一把,花色大全折线图
- x坐标:我们用[0,50]序列为x轴的值
- y坐标:这次我们用numpy里面的随机函数,随机产生50个的正态分布的样本值
- 然后构造一个字典把常见的类型和描述全部录入,plt.plot()画出曲线
- 最后plt.legend()在左上角显示图例说明
- 这么复杂的图形和曲线,如果我们有几条曲线在图上,想知道曲线之间的面积如何做呢,我们接着看
4.带阴影区的折线图
阴影区其实就是获取axes对象,然后巧妙的用fill_between()这个函数进行填充,比如我们有3条曲线:x的平方,x的立方和x的4次方,用填充区可以看的更直观
综合练习,画个天气预报
上面讲了这么多,我们用一个综合的小例子来把上面学的东西融合一下。画一个天气预报的图,我们希望能看到温度的变化,风力的变化,横坐标我们用日期,纵坐标有数字表示温度和风力
- 先初始化x轴和y轴的参数(y轴有两个参数曲线)
- 把风力和温度的曲线画出来
- 把x轴的坐标用日期表示
- 获得xaxis的对象,循环把风力和温度的数值标出来
-
最后调整一下画布的布局和加上x,y轴的label和图例
结论:
好,数据可视化神器matplotlib之折线图篇,就讲到这里,是不是觉得还蛮简单的,不要光说不练,小伙伴们动起手来,若有什么问题,欢迎大家留言,一起讨论,后面还有很多好玩的图,敬请期待
若需要更多源码,请去微信公众号:“菜鸟学python”留言