使用python简单绘制雷达图

该博客介绍了如何使用Python的matplotlib库绘制雷达图,包括设置字体、生成角度序列、闭合图形以及填充颜色等步骤,展示了数据在多个维度的表现。代码示例详细解释了各个函数的作用,如numpy的linspace和concatenate,以及matplotlib的极坐标图和thetagrids等。
摘要由CSDN通过智能技术生成

完整代码如下:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib

matplotlib.rcParams['font.family']='SimHei'     #将字体设置为黑体'SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']

labels = np.array(["语文", "数学", "英语", "化学", "物理","生物","信息"])
dataLenth  = 7       # 数据长度
data = np.array([83, 61, 95, 67, 76, 88, 40])
angles = np.linspace(0,2*np.pi,dataLenth,endpoint=False)   #根据数据长度平均分割圆周长

#闭合
data = np.concatenate((data,[data[0]])) 
angles = np.concatenate((angles,[angles[0]]))
labels=np.concatenate((labels,[labels[0]]))  #对labels进行封闭

fig = plt.figure(facecolor="white")       #facecolor 设置框体的颜色
plt.subplot(111,polar=True)     #将图分成1行1列,画出位置1的图;设置图形为极坐标图
plt.plot(angles,data,'bo-',color ='g',linewidth=2)
plt.fill(angles,data,facecolor='g',alpha=0.25)    #填充两条线之间的色彩,alpha为透明度
plt.thetagrids(angles*180/np.pi,labels)          #做标签
#plt.figtext(0.52,0.95,'雷达图',ha='center')   #添加雷达图标题
plt.grid(True)
plt.show()

补充:

  • numpy.linspace() 函数作为序列生成器,用于在线性空间中以均匀步长生成数字序列。这里使用序列生成器,均匀生成雷达图中每个点相对于极轴的角度(弧度制)。 
  • numpy.concatenate() 函数用于完成数组的拼接。这里是指使雷达图的点数据首尾相连,形成封闭图形​​​​​​。

运行结果如下:

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值