提示:数据展现用来直观高效地向他人展示数据分析结果,也称数据可视化。本文介绍通过python如何快速调用第三方库实现数据可视化。本文内容为日常学习记录,提供了最基础的Python数据可视化实现方式,有兴趣可通过Python自主实现,并逐渐深入。
一、数据可视化实现方式
Python 作为一种编程语言,通过调用第三方可视化库作图,覆盖的图表种类很多,定制化非常强,并且免费。再加上 Python 基本涵盖了数据分析的整个流程:从数据处理到数据分析,再到数据展现。可以说是行云流水,一气呵成。所以我们选择使用Python 来做数据展现。在 Python 中有几个常用的第三方可视化库:pandas、matplotlib 以及 seaborn。
本文通过matplotlib库实现数据可视化,matplotlib库相较于 pandas 绘图以及 seaborn 绘图工具更为底层,因此,matplotlib库中的绘图函数、参数相对更多,我们可以根据自己的风格自由选择。从应用范围上来看,在 Python 数据分析领域,matplotlib 库是与 numpy 库、pandas 库并驾齐驱的三库之一,被称作 Python 数据分析的“三剑客”,由此可见其应用范围之广。
二、使用matplotlib库绘图
1.生成画布
一个完整的图形除了图表,还包括一系列的图表元素:图表标题、坐标轴刻度、坐标轴标题、图例以及数据标签。
生成画布用到的是pyplot模块下的figure函数,即plt.figure()。其中的参数 figsize 可以控制画布的长和宽,一般用元组的形式进行赋值。
2.设置x/y坐标值
绘制图表时,先确定好坐标点,再经由绘图函数就能生成我们熟知的折线图、柱状图等图表。
x是指坐标点的横坐标(简称x坐标值),y是指坐标点的纵坐标(简称y坐标值),它们均为可迭代对象,你可以理解为有序的元素序列,比如 x = (x1, x2, x3, ……, xn),y = (y1, y2, y3, ……, yn)。
3.绘制折线图和柱状图
绘制柱状图也需要设置 x/y 坐标值,不同的是柱状图绘图函数 plt.bar()的参数是 x 和height,height 表示柱子的高,对应 y 坐标值。
4.设置图表标题
设置图表标题用的是plt.title()函数
plt.title(label, fontsize = None)
label 表示标题名,常见为字符串类型
fontsize 表示标题的字体大小,常见为数值类型
5.设置坐标轴
设置x、y轴刻度的函数分别是plt.xticks()和plt.yticks()
plt.xlabel(xlabel, fontsize = None) xlabel 表示x轴标题名,常见为字符串类型
plt.ylabel(ylabel, fontsize = None) ylabel 表示y轴标题名,常见为字符串类型
fontsize 表示标题字体大小,常见为数值类型
6.设置图例
plt.legend(labels) label表示图例名称 plt.legend([‘变化’, ‘分布’])
7.设置数据标签
添加数据标签plt.test()函数,参数:x,y,s,ha,va以及fontsize
plt.text(x,y,s,ha=None,va=None,fontsize=None)
x,y表示数据标签位置,数值或字符串类型
s表示数据标签文本内容,数值或字符串类型
ha表示水平对齐方式,选择left,right,center
va表示垂直对齐方式,center,top,bottom
fontsize表示数据标签字体大小,数值类型
for a,b in zip(x, y):
plt.text(a,b,b,ha=‘center’,va=‘bottom,fontsize=12’)
8.zip()函数
zip()函数理解为拉链,x=(x1, x2, x3,……, xn)为拉链的左边,y=(y1, y2, y3,……, yn)为拉链的右边,经过 zip()函数,就合并为(x1, y1), (x2, y2), (x3, y3),……,(xn, yn)
三、代码实现
# 生成画布,并设置画布的大小