Pandas+Matplotlib+Excel = 欢迎走进数据可视化大门
上篇文章,简单了解了Matplotlib库的用法,接下来主要针对pandas库读入的Excel表格数据,再利用Matplotlib进行可视化展示
在第四课中,已经介绍了利用pandas库进行Excel表格数据的导入,忘记的可以返回头去学习
马什么靖什么秦靖:战疫情,停课不停学(Python学堂-4)zhuanlan.zhihu.com本节课用到的数据集如下图所示
可以看到该数据集由21条样本构成,每个样本共有7个属性(换句话说,该数据集的样本维度是七维)
话不多说,直接上代码讲解
要求:基于上述数据,展示温度随时间变化的走势图
仔细一揣摩,这个可视化图里只包含时间和温度两个属性,把它俩相应的样本数据取出来并展示就完成了!
上代码出图,再分析,比较直观
完整代码如下:
import
开始阅读代码
plt
这两行代码必须有,注释已经写得很清楚了,如果没有会怎样?汉字会显示成一个个方块块
df
数据取得合不合适就看这几行代码了
(1)首先用pd.read_excel()函数读进来,单独print一下,结果如下图
因为数据长短不一,所以看起来似乎噪声标签下面没有数据,其实是有的,按列仔细去对应,只是跑偏了而已,不影响后续操作
(2)以属性名称进行取值(这是pandas库许多闪光点之一,超级方便)
x = df['时间'] y = df['温度'] 分别表示将“时间”属性的那列值取出,存在变量x中。同理,将“温度”属性的那列值取出,存在变量y中。
这样,plt.plot()函数需要的二维数组数据就有了!
(3)再增添一点新知识点,横纵坐标的标签如何标记到图上?
plt
用上述两行代码就能搞定,xlabel代表横轴,ylable代表纵轴。
基于上述操作和描述,相信大家会慢慢理解整个过程的
但是,细心的人会发现一个问题,上图横轴的标度挤在一起看不清了!(没认真看的往上翻)
解决办法很简单:将标度调整个方向就好了,可以利用下述代码
plt
代码中的参数rotation表示旋转多少度,我这里写的-15,表示逆时针旋转15度
将这句代码放在plt.show()之前即可,看一下效果
是旋转了,但是效果还是不尽人意= =|||
不要灰心,可以继续通过调整画布整体的长宽比,让这个图更优美一点
fig
其实在创建画布的这个函数中,有众多参数可供搭配,没有写参数意味着取了默认值
能不能让这个图矮一点,长一点?感觉这样做就能解决问题!
fig
figure()函数中,若不写任何参数,意味着这张画布是一个整张画布并且画布长宽比为1:1
为了让图“矮一点,长一点”,给参数figsize赋值(12, 4),运行结果如下图所示
噹噹噹噹~~~比较完美~~~
优化后的完整代码如下:
import
代码这东西,用到啥添加啥,想到啥尝试啥。其实和背英语单词一样,千万别从A到Z背,你永远只会在A徘徊!还不如去背作文看阅读,遇到不会的单词,再去查询再去记忆!
算不算入门干货,你们说了算~