当前位置: 首页 > news >正文

霍兰德人格分析雷达图

雷达图 Radar Chart

雷达图是多特性直观展示的重要方式

问题分析

霍兰德认为:人格兴趣与职业之间应有一种内在的对应关系

人格分类:研究型、艺术型、社会型、企业型、传统型、现实性

职业:工程师、实验员、艺术家、推销员、记事员、社会工作者

需求:雷达图方式验证霍兰德人格分析 - 输入:各职业人群结合兴趣的调研数据 - 输出:雷达图

分析:

这段代码的作用是绘制一个极坐标系下的雷达图,其中包含了职业类型和对应的6个特质分数的数据。具体步骤如下:

  1. 导入所需的库:numpy和matplotlib.pyplot。

  2. 设置中文标签显示:将默认字体设置为中文黑体。

  3. 定义数据:一个6行6列的矩阵,表示6个职业的6个特质分数。

  4. 定义角度:使用numpy的linspace函数生成6个角度,作为雷达图的x轴坐标。

  5. 重复第一个角度:为了让图像闭合,将第一个角度再添加到数组的最后。

  6. 定义职业标签:一个包含7个字符串元素的列表。

  7. 绘制雷达图:通过循环绘制每个职业的特质分数图形。在循环中,使用ax.plot函数绘制特质分数的折线图,并使用ax.fill函数填充颜色。

  8. 添加坐标轴标签:使用ax.set_thetagrids函数添加角度轴的标签。

  9. 添加标题:使用plt.title函数添加图表标题。

  10. 添加图例:使用plt.legend函数添加图例。

  11. 显示图形:使用plt.show函数显示图形。

代码: 

# -- coding: utf-8 --
import numpy as np
import matplotlib.pyplot as plt
# 如果需要使用中文标签,还需添加以下代码
plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体为中文黑体
# 数据
data = [[0.40, 0.32, 0.35, 0.30, 0.30, 0.88],[0.85, 0.75, 0.30, 0.25, 0.20, 0.40],[0.43, 0.89, 0.30, 0.28, 0.22, 0.30],[0.20, 0.30, 0.85, 0.45, 0.32, 0.25],[0.19, 0.22, 0.40, 0.90, 0.92, 0.28],[0.62, 0.55, 0.27, 0.25, 0.35, 0.30]]# 角度(弧度)
angles = np.linspace(0, 2*np.pi, 6, endpoint=False)# 重复第一个角度以使图像闭合
angles = np.concatenate((angles, [angles[0]]))# 职业
occupations = ['工程师', '实验员', '艺术家', '推销员', '记事员', '社会工作者', '技术员']# 绘图
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
for i in range(len(data)):# 绘制折线图ax.plot(angles, data[i]+data[i][:1], 'o-', linewidth=2, label=occupations[i])# 填充颜色ax.fill(angles, data[i]+data[i][:1], alpha=0.25)
# 添加坐标轴标签
ax.set_thetagrids(angles*180/np.pi, occupations)
# 添加标题
plt.title('Holland Personality Analysis', fontsize=20)
# 添加图例
plt.legend(loc='best')
# 显示图形
plt.show()

效果:

 

http://www.lryc.cn/news/63370.html

相关文章:

  • 《Odoo开发者模式必知必会》—— 缘起
  • Java8的Options介绍
  • SpringBoot 多数据源及事务解决方案
  • tcpdump使用教程
  • Zynq-7000、FMQL45T900的GPIO控制(五)---linux应用层配置GPIO输出控制
  • 带你搞懂人工智能、机器学习和深度学习!
  • Android 11.0 framework中Launcher的启动流程分析
  • 2023年第十五届华中杯赛题C 题 空气质量预测与预警
  • Go官方指南(一)包、变量、函数
  • liunx笔记
  • vue3 封装ECharts组件
  • Spring Security 6.0系列【30】授权服务器篇之JOSE规范
  • 维度表设计原则
  • 【requests模块上】——02爬虫基础——如桃花来
  • Springboot +Flowable,详细解释啥叫流程实例(一)
  • 信息安全复习十:Web与电子商务安全
  • flutter 启动其他app server或者页面失败
  • 【linux-进程2】进程控制
  • 【五一创作】多域名环境和Office 365混合部署方案
  • Vue:路由route
  • Windows系统被faust勒索病毒攻击勒索病毒解密服务器与数据库解密恢复
  • Java面试题总结 | Java面试题总结7- Redis模块(持续更新)
  • 虹科案例 | 如何通过智能、非接触式测量解决方案,提高起重机的安全和效率?
  • 流程图拖拽视觉编程-流程编辑器
  • 6.hashcode与equals区别与联系
  • 智能家居“落地者”:三翼鸟用场景方案持续链接大众消费
  • 【MATLAB图像处理实用案例详解(12)】——利用BP神经网络实现图像压缩
  • java学习之枚举
  • IPsec中IKE与ISAKMP过程分析(主模式-消息2)
  • KDZR-10A三相直流电阻测试仪