Python matplotlib可视化绘图详解

编辑: admin 分类: python 发布时间: 2021-12-03 来源:互联网
目录
  • 一、绘制线性图形
  • 二、绘制柱状图形
  • 三、绘制直方图
  • 四、绘制散点图
  • 五、绘制极坐标
  • 六、绘制饼图
  • 总结

一、绘制线性图形

执行如下代码

import matplotlib.pyplot as plt
dataX=[1,2,3,4]
dataY=[2,4,4,2]
plt.plot(dataX,dataY)
plt.title("Draw  straight line")
plt.xlabel("x")
plt.ylabel("y")
plt.show()

上述语句绘制了一条直线,形状由x和y坐标值决定,运行该程序得到如下结果

在这里插入图片描述

二、绘制柱状图形

执行如下代码

import matplotlib.pyplot as plt
dataX=[0,1,2,3,4,5]
dataY=[1,2,3,2,4,3]
plt.bar(dataX,dataY)
plt.title("Draw Histogram")
plt.xlabel("x")
plt.ylabel("y")
plt.show()

上述语句绘制了6个柱状图,用函数plt.bar实现,运行该程序得到如下结果

在这里插入图片描述

柱状图也可以用numpy绘制,执行如下代码

import matplotlib.pyplot as plt
import numpy as np
x=np.arange(10)
y=np.random.randint(0,20,10)
plt.bar(x,y)
plt.show()

使用函数random()绘制了区域中随机出现的柱状图,y=np.random.randint(0,20,10)中,参数20表示柱状图高度,10表示柱状图个数,运行结果如下图

在这里插入图片描述

三、绘制直方图

执行如下代码

import matplotlib.pyplot as plt
import numpy as np
mean,sigma=0,1
x=mean + sigma *np.random.randn(10000)
plt.hist(x,50,histtype='bar',facecolor='red',alpha=0.75)
plt.show()

上述语句绘制了概率分布直方图,参数mean=0代表均值是0,sigma=1代表标准差是1,运行该程序得到如下结果

在这里插入图片描述

四、绘制散点图

执行如下代码

import matplotlib.pyplot as plt
import numpy as np
x=np.random.rand(100)
y=np.random.rand(100)
plt.scatter(x,y)
plt.show()

上述语句绘制了散点图,np.random.rand(100)代表随机出现的点数,一共有100个点,运行该程序得到如下结果

在这里插入图片描述

五、绘制极坐标

执行如下代码

import matplotlib.pyplot as plt
import numpy as np
theta=np.arange(0,2*np.pi,0.02)
ax1=plt.subplot(121,projection='polar')
ax1.plot(theta,theta/6,'--',lw=2)
plt.show()

上述语句绘制极坐标图,这种图多用在企业的可视化数据模型的比较上,使用polar函数实现,theta代表数学上的平面角度,运行该程序得到如下结果

在这里插入图片描述

六、绘制饼图

执行如下代码

import matplotlib.pyplot as plt
import numpy as np
plt.title("Pie")
labels='Math','Computer','Music','Art'
sizes=[45,30,15,10]
explode=(0,0.0,0,0)
counterclock=False
plt.pie(sizes,explode=explode,labels=labels,autopct='%1.1f%%',shadow=False,startangle=90)
plt.show()

上述语句绘制饼图,运行该程序得到如下结果

在这里插入图片描述

如果想将某一部分突显出来,可以使用语句 explode=(0,0.0,0,0)中的0改成1,比如explode=(0,0.1,0,0)得到下图

在这里插入图片描述

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注hwidc的更多内容!

【转自:荷兰服务器