m0_53051656 2021-06-17 09:13 采纳率: 100%
浏览 52
已采纳

用python作答 雷达图的绘制

 

  • 写回答

1条回答 默认 最新

  • CSDN专家-kaily 2021-06-17 09:54
    关注
    import numpy as np
    import matplotlib.pyplot as plt
    # 用于正常显示中文
    plt.rcParams['font.sans-serif'] = 'SimHei'
    #用于正常显示符号
    plt.rcParams['axes.unicode_minus'] = False
    plt.style.use('ggplot')
     
    # 构造数据
    values = [2.6,2.1,3.4,3,4.1,3.5]
    feature = ['现实型','研究型','艺术型','社会型','企业型','常规型']
     
    # 设置每个数据点的显示位置,在雷达图上用角度表示
    angles=np.linspace(0, 2*np.pi,len(feature), endpoint=False)
     
    # 拼接数据首尾,使图形中线条封闭
    values=np.concatenate((values,[values[0]]))
    angles=np.concatenate((angles,[angles[0]]))
    feature=np.concatenate((feature,[feature[0]]))   #对labels进行封闭
     
    # 绘图
    fig=plt.figure()
    # 设置为极坐标格式
    ax = fig.add_subplot(111, polar=True)
    # 绘制折线图
    ax.plot(angles, values, 'o-', linewidth=2)
    # 填充颜色
    ax.fill(angles, values, alpha=0.25)
     
    # 设置图标上的角度划分刻度,为每个数据点处添加标签
    ax.set_thetagrids(angles * 180/np.pi, feature)
     
    # 设置雷达图的范围
    ax.set_ylim(0,5)
    # 添加标题
    plt.title('中国乒乓球选手的雷达图')
    # 添加网格线
    ax.grid(True)

    运行结果:

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看