python夹角余弦雷达图_matplotlib的基本使用、绘制雷达图及绘制数学函数

本文介绍了matplotlib库的使用,包括创建绘图区域、坐标系、读取和显示图像的功能,以及如何绘制雷达图和数学函数。示例中详细展示了绘制雷达图的代码过程,用于展示Rachel的python成绩,并绘制了数学函数3*(1+cos(a))的图形。
摘要由CSDN通过智能技术生成

一、matplotlib的介绍

1、matplotlib是提供数据绘图功能的第三方库,其pyplot子库主要用于实现各种数据展示图形的绘制。

2、pyplot子库的引用方式如下:

import matplotlib.pyplot as plt

3、为了正确显示中文字体,请用一下代码更改默认设置,其中“SimHei”表示黑体字

>>>import matplotlib

>>>matplotlib.rcParams['font.family']='SimHei'

>>>matplotlib.rcParams['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()

在绘图区域中方式绘图标签(也称图注)

plt.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)

绘制谱图

plt.cohere(x,y,NEET=256,Fs)

绘制X-Y的相关性函数

plt.scatter()

绘制散点图(x,y是长度相同的序列)

plt.step(x,y,where)

绘制步阶图

plt.hist(x,bins,normed)

绘制直方图

plt.contour(X,Y,Z,N)

绘制等值线

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 np2 importmatplotlib3 importmatplotlib.pyplot as plt4 matplotlib.rcParams['font.family']='SimHei'

5 matplotlib.rcParams['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 Python=np.concatenate((Python,[Python[0]]))11 angles=np.concatenate((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')19 plt.grid(True)20 plt.savefig('acculate.JPG')21 plt.show()

结果

四、绘制数学函数

r=3*(1+cos(a))

代码如下

1 importnumpy as np2 importmatplotlib.pyplot as plt3 plt.axis([-1,9,-4,4])4 a=np.linspace(0,2*np.pi,1000)5 r=3*(1+np.cos(a))6 x=r*np.cos(a)7 y=r*np.sin(a)8 plt.plot(x,y,'x',linewidth=2)

结果如下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值