一、Matplotlib 简介
Matplotlib 是一个可视化工具包,可以让我们使用Python 来可视化数据。
很多更高级的绘图库,也都是基于Matplotlib,比如seaborn,HoloViews,ggplot 等。
在使用 Matplotlib 时,经常需要用到 pyplot 模块,用下面代码引入:
import matplotlib.pyplot as plt
二、常用画图函数
2.1 散点图
plt.scatter 函数用于绘制散点图。函数原型:
scatter(x, y, s = None, c = None, marker = None)
#plt.scatter([2, 3, 3], [5, 6, 5], marker='o')
#plt.show()
参数含义:
x, y:分别表示点的横纵坐标。x, y 可以是单个点坐标,也可以是一组点坐标。
s:表示点的大小。
c:表示点的颜色。
marker:表示点的形状,比如 marker 的值为 x, o, s 等。
2.2 折线图
plt.plot 函数用于绘制折线图。函数原型:
plt.plot(x, y)
plt.show()
参数 x,y 分别表示点的横纵坐标,一般是一组点坐标。
2.3 直方图
直方图用于描述数据的分布情况。plt.hist 函数用于绘制直方图。函数原型:
plt.hist(x, bins=None)
#plt.hist(scores)plt.show()
参数 x 是一个一维数组,bins 可以理解为矩形的个数,默认是 10。
2.4 条形图
plt.bar 函数用于绘制条形图。函数原型:
plt.bar(x, y, width = 0.8)
#plt.bar(subjects, scores)plt.show()
参数 x, y 均是一个数组,x 是横坐标,表示数据类别;y 是纵坐标,表示每个类别的频度。参数 width 表示长条的宽度。
2.4 histic和bincount区别
histic是指定N个灰度级,统计某一矩阵在灰度级中出现的频次;
bincount只能处理一维的矢量,统计矢量中各个元素出现的频次。
三、其他常用可视化工具包
Pytorch中有专门开发的一款可视化工具visdom,可以不用转化为numpy直接进行可视化。
另外还有tensorboardX等不同的可视化展示方法,有兴趣可以都尝试。目前我使用较多的,画图用plt,图像多用tensorboardX下的image