Python 雷达图 函数封装 与 使用

RadarMap雷达图

Background


雷达图是以从同一点开始的轴上表示的三个或更多个定量变量的二维图表的形式显示多变量数据的图形方法。轴的相对位置和角度通常是无信息的。 雷达图也称为网络图,蜘蛛图,星图,蜘蛛网图,不规则多边形,极坐标图或Kiviat图。它相当于平行坐标图,轴径向排列。
如:
在这里插入图片描述

Usage


函数封装

def radarMap(values, feature, labels, title):
"""
input:
	- values: n x m的矩阵,n代表有n组数据,m代表数据的维度
	- feature: 长度为m的标签,用以标识m个维度
	- labels: 长度为n的标签,用以标识n组数据,进而用以标识图例
	- title: 标题
output:
	none
"""
    # 中文和负号的正常显示
    plt.rcParams['font.sans-serif'] = 'Microsoft YaHei'
    plt.rcParams['axes.unicode_minus'] = False

    #使用ggplot的风格绘图
    plt.style.use('ggplot')

    N = len(feature)

    #设置雷达图的角度,用于平分切开一个平面
    angles = np.linspace(0,2*np.pi,N,endpoint=False)
    
     #绘图
    fig = plt.figure()

    values = np.array(values)
    for i in range(values.shape[0]): 
        value = values[i, :]    
        #设置为极坐标格式
        ax = fig.add_subplot(111, polar=True)
        #绘制折线图
        ax.plot(angles,value,'o-',linewidth=2, label = labels[i])
        ax.fill(angles,value,alpha=0.5)

        #添加每个特质的标签
        ax.set_thetagrids(angles*180/np.pi,feature)
        #设置极轴范围
        ax.set_ylim(0,5)

    #添加标题
    plt.title(title)
    plt.legend(loc= 'best')
    #增加网格纸
    ax.grid(True)
    plt.show()

函数使用

# 参数准备
values = [[3.2,2.1,3.5,2.8,3,4],
        [2.4,3.1,4.1,1.9,3.5,2.3]]
feature = ['个人能力','QC知识',"解决问题能力","服务质量意识","团队精神","IQ"]
labels=['before', 'after']
title='综合素质评价表'
# 函数调用
radarMap(values, feature, labels, title)

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值