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会对数组的每一列做一个箱线图,而不是每一行。
推荐阅读
-
通过python的matplotlib包将Tensorflow数据进行可视化的方法
-
python中用matplotlib包进行简单的可视化
-
Python每天定时爬取中国天气网,并对数据进行简单的可视化处理,并部署在服务器上
-
【Python】梯度下降法可视化学习过程记录(matplotlib绘制三维图形、ipywidgets包的使用等)
-
JAVA三维可视化组件:Matplot 3D for JAVA(V3.0) 一个纯JAVA开发的科学数据可视化组件包 类似 Python 的matplotlib
-
浅谈Python中用datetime包进行对时间的一些操作
-
浅谈Python中用datetime包进行对时间的一些操作
-
python中用matplotlib包进行简单的可视化
-
JAVA三维可视化组件:Matplot 3D for JAVA(V3.0) 一个纯JAVA开发的科学数据可视化组件包 类似 Python 的matplotlib