当前位置: 移动技术网 > IT编程>脚本编程>Python > python中用matplotlib包进行简单的可视化

python中用matplotlib包进行简单的可视化

2018年03月13日  | 移动技术网IT编程  | 我要评论

黑狼出击,喜马拉雅麝,酒钢号列车时刻表

python版本:python3

环境:jupyter notebook

python中的matplotlib包提供了对数据可视化的功能,是由Juhn Hunter大神制作的。使用matplotlib可以绘制条形图,散点图,直方图,箱线图等等。

1.matplotlib的初始化和绘制简单的图

首先需要载入matplotlib包和numpy包(会用到numpy中的一些函数)。再设置自动输出图片。

import matplotlib.pyplot as mp

import numpy as np

%matplotlib inline

就可以开始进行绘制图了,需要注意的是后面mp就是指代matplotlib。

X = np.linspace(0,2*np.pi,10)

Y = np.cos(X)

mp.plot(X,Y,'bo')

2.绘制条形图(bar plot)

条形图是用来描述一组变量的频数分布情况。

x = range(5,50,5)

y = range(len(x))

mp.bar(y,x)

可以用参数width来设置条形的宽窄。mp.bar是用来绘制竖直条形图的,mp.barh则是用来绘制水平条形图。mp.bar还可以绘制分组条形图。

y = np.random.randint(1,10,size=(3,5))

x=np.arange(5)

mp.bar(x+0.0,y[0],width=0.2)

mp.bar(x+0.2,y[1],width=0.2)

mp.bar(x+0.4,y[2],width=0.2)

这里就用到了numpy包中的random.randint函数,它再这里的作用是随机生成0到10以内的随机数。需要注意的是x不能用list(range(5))这个方法生成,因为会导致x无法与浮点数进行运算。这里就用了width参数来设置条形的宽窄,还能用color参数进行颜色的调整。

既然mp.bar能绘制分组条形图,那么就也可以绘制堆叠条形图。

y1 = np.random.randint(10,50,5)

y2 = np.random.randint(10,50,5)

x = list(range(5))

mp.bar(x,y1)

mp.bar(x,y2,bottom = y1)

如果还有y3,则bottom=y1+y2。

3.绘制散点图(scatter plot)

散点图是用来描述两个变量的分布情况。

x = np.random.randn(500)

y = np.random.randn(500)

mp.scatter(x,y)

这里的样本是从标准分布的随机抽取得来的,所以图上的点的分布越接近坐标(0,0)就越多。

4.绘制直方图(Histogram)

x = np.random.randn(500)

mp.hist(x,bins=20)

由np.random.randn随机生成的数列是根据正态分布而来的,所绘制的直方图大体上也与正态分布曲线相似

5.绘制箱线图

data = np.random.randint(0,100,size = (100,2))

mp.boxplot(data)

函数mp.boxplot会对数组的每一列做一个箱线图,而不是每一行。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网