python⽤matplotlib画雷达图_matplotlib的基本使⽤、绘制雷达
图及绘。。。
⼀、matplotlib的介绍
1、matplotlib是提供数据绘图功能的第三⽅库,其pyplot⼦库主要⽤于实现各种数据展⽰图形的绘制。
2、pyplot⼦库的引⽤⽅式如下:
import matplotlib.pyplot as plt
3、为了正确显⽰中⽂字体,请⽤⼀下代码更改默认设置,其中“SimHei”表⽰⿊体字
>>>import matplotlib
>>&Params['font.family']='SimHei'
>>&Params['font.sans-serif']=['SimHei']
⼆、matplotlib.pyplot库解析
1、plt⼦库提供了⼀批操作和绘图函数,每个函数代表对图像进⾏的⼀个操作,⽐如创建绘图区域、添加标注或者修改坐标轴等。
是具体函数名称
2、这些函数采⽤plt.()形式调⽤,其中
()形式调⽤,其中是具体函数名称
3、plt库的绘图区域函数
函数
说明
plt.figure(figsize=None,facecolor=None)
创建⼀个全局绘图区域,figsize参数可以指定绘图区域的宽度和⾼度
plt.axes(rect,axisbg='w')
创建⼀个坐标系风格的⼦绘图区域,参数表⽰将全局绘图区域分成nrows⾏和ncols列,并根据先⾏后列的计数⽅式在plot_number位置上⽣成⼀个坐标系
plt.subplot(nrows,ncols,plot_number)
在全局绘图区域中创建⼀个⼦绘图区域
plt.subplots_adjust()
调整⼦图区域的布局
注意:axes()默认创建⼀个subplot(111)坐标系,参数rec=[left,bottom,width,height]中四个变量的范围都为[0,1],表⽰坐标系与全局绘图区域的关系;axisbg指背景⾊,默认为white
4、plt库的读取和显⽰函数
函数
说明
plt.legend()
在绘图区域中⽅式绘图标签(也称图注)
matplotlib中subplotplt.show()
显⽰创建的绘图对象
plt.matshow()
在窗⼝显⽰数组矩阵
plt.imshow()
在axes上显⽰图像
plt.imsave()
保存数组为图像⽂件
plt.imread()
从图像⽂件中读取数组
5、plt库的基础表函数
操作
说明
plt.plot(x,y,lable,color,width)
根据x,y数组绘制直/曲线,x和y可以是numpy计算出的数组,label表⽰设置标签并在图例中显⽰,color表⽰曲线的颜⾊,width表⽰曲线的宽度
plt.boxplot(data,notch,position)
绘制⼀个箱型图(Box-plot)
plt.bar(left,height,width,bottom)
绘制⼀个条形图
plt.barh(bottom,width,height,left)
绘制⼀个横向条形图
plt.polar(theta,r)
绘制极坐标图
plt.pie(data,explode)
绘制饼图
plt.psd(x,NFFT=256,pad_to,Fs)
绘制功率谱密度图
plt.specgram(x,NFFT=256,pad_to,F)
绘制谱图
绘制X-Y的相关性函数
plt.scatter()
绘制散点图(x,y是长度相同的序列)
plt.step(x,y,where)
绘制步阶图
plt.hist(x,bins,normed)
绘制直⽅图
绘制等值线
plt.vlines()
绘制垂直线
plt.stem(x,y,linefmt,markerfmt,basefmt)
绘制曲线每个点到⽔平轴线的垂线
plt.plot_data()
绘制数据⽇期
plt.plotfile()
绘制数据后写⼊⽂件
例如:绘制⼀个简单图形
a、当plt.plot()中输⼊参数只有⼀个列表或数组时,此参数会被当做y轴处理,x轴是此列表的索引(⾃动⽣成)
b、当plt.plot()有两个以上参数时,分别对应x轴和y轴绘制图像,可使⽤axis()函数设置横纵坐标尺度的函数(设置X,Y坐标的起点和终点)
三、绘制雷达图
代码
1 importnumpy as np
2 importmatplotlib
3 importmatplotlib.pyplot as plt
Params['font.family']='SimHei'
Params['font.sans-serif']=['SimHei']
6 labels=np.array(['第⼀周','第⼆周','第三周','第四周','第五周','第六周'])
7 nAttr=6
8 Python=np.array([60.4,57.9,100,100,92.4,87.5])9 angles=np.linspace(0,2*np.pi,nAttr,endpoint=False)10
atenate((Python,[Python[0]]))11 atenate((angles,[angles[0]]))12
fig=plt.figure(facecolor="white")13 plt.subplot(111,polar=True)14 plt.plot(angles,Python,'bo-',color='g',linewidth=2)15
plt.fill(angles,Python,facecolor='g',alpha=0.2)16 plt.thetagrids(angles*180/np.pi,labels)17 plt.figtext(0.52,0.95,'Rachel的python成绩分析图',ha='left')18 plt.figtext(0.52,0.95,'2019310143011',ha='right')id(True)20
plt.savefig('acculate.JPG')21 plt.show()
结果
四、绘制数学函数
r=3*(1+cos(a))
代码如下
1 importnumpy as np
2 importmatplotlib.pyplot as plt
3 plt.axis([-1,9,-4,4])
4 a=np.linspace(0,2*np.pi,1000)
5 r=3*
(s(a))6 x=s(a)7 y=r*np.sin(a)8 plt.plot(x,y,'x',linewidth=2)
结果如下

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。