什么是数据可视化?
数据可视化其实是将抽象概念进行形象性表达,将抽象语言进行具象图形可视的过程。数据可视化,不仅仅是统计图表。本质上,任何能够借助于图形的方式展示事物原理、规律、逻辑的方法都叫数据可视化。
可视化的目的是传播数据,因此需要花时间了解什么才是图表的基础,否则就是堆砌数字。
在python中有很多可视化工具,这里我们主要讲的是matplotlib。matplotlib是Python最著名的绘图库,它提供了一整套和Matlab相似的命令API,十分适合进行交互式制图;也可以方便地将它作为绘图控件,嵌入GUI应用程序中。
matplotlib的最好的学习资源:matplotlib的示例库和官方文档,官网地址:https://matplotlib.org/
matplotlib
引入:
import matplotlib.pyplot as plt
【思考】为什么要引入pyplot模块?
matplotlib中许多我们用到的函数如plot,close等都位于matplotlib.pyplot模块中。
创建绘图对象:
plt.figure()
通过figsize参数可以指定绘图对象的宽度和高度,单位为英寸。
创建subplot对象:
fig.add_subplot(2,2,1)
#图像是2*2的,且当前选中的是四个subplot中的第一个。
plt.subplots()方法
#创建figure并返回一个含有已创建的subplot对象的numpy数组
plt.subplots()
参数 | 说明 |
---|---|
nrows | 行数 |
ncols | 列数 |
sharex | 所有subplot应该使用相同的x轴刻度 |
sharey | 所有subplot应该使用相同的y轴刻度 |
subplot_kw | 用于创建各subplot的关键字字典 |
**fig_kw | 创建figure时的其他关键字 |
subplots_adjust()方法
subplots_adjust(left=None,right=None,top=None,wspace=None,hspace=None)
#wspace和hpace控制宽度和高度的百分比,用于制作subplot之间的间距
颜色和线型
ax.plot(x,y,linestyle="--",color='g',marker='0')
刻度
修改刻度可以使用set_xticks和set_xticklabels.前者告诉matplotlib要将刻度放在数据范围的哪些位置,后者可以用来对其他任何的值用作标签。
ticks=ax.set_xticks([0,250,500,750,1000])
labels=ax.set_xticklabels['one','two','three','four','five'],
rotation=30,fontsize='small')
ax.set_xlabel('Stages') #为X轴摄制一个名称
ax.set_title('plot') #为图设置标题。
修改y轴的方法类似,不再赘述。
添加坐标轴
ax = plt.twinx() #twinx()可以为图增加纵坐标轴
ax2.set_ylabel("y2")
ax.set_ylabel("y2")
创建图例
ax.legend(loc='best')
添加注解
注解可以通过text,arrow,annotate等函数添加。
在这里插入代码片
图表的保存
plt.savefig('figpath.svg')
该方法相当于Figure对象的实例方法savefig。
文件类型是通过文件拓展名推断出来的。
参数 | 说明 |
---|---|
frame | 含有文件路 |