欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-02 23:28:43
python版本:python3 环境:jupyter notebook python中的matplotlib包提供了对数据可视化的功能,是由Juhn Hunter大神制作的。...

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会对数组的每一列做一个箱线图,而不是每一行。