365网站建设,芙蓉网站制作,网站建设定制,做网站怎么赚钱 做网站怎么赚钱雷达图 Radar Chart 雷达图是多特性直观展示的重要方式
问题分析
霍兰德认为#xff1a;人格兴趣与职业之间应有一种内在的对应关系
人格分类#xff1a;研究型、艺术型、社会型、企业型、传统型、现实性
职业#xff1a;工程师、实验员、艺术家、推销员、记事员、社会工…雷达图 Radar Chart 雷达图是多特性直观展示的重要方式
问题分析
霍兰德认为人格兴趣与职业之间应有一种内在的对应关系
人格分类研究型、艺术型、社会型、企业型、传统型、现实性
职业工程师、实验员、艺术家、推销员、记事员、社会工作者
需求雷达图方式验证霍兰德人格分析 - 输入各职业人群结合兴趣的调研数据 - 输出雷达图
分析
这段代码的作用是绘制一个极坐标系下的雷达图其中包含了职业类型和对应的6个特质分数的数据。具体步骤如下 导入所需的库numpy和matplotlib.pyplot。 设置中文标签显示将默认字体设置为中文黑体。 定义数据一个6行6列的矩阵表示6个职业的6个特质分数。 定义角度使用numpy的linspace函数生成6个角度作为雷达图的x轴坐标。 重复第一个角度为了让图像闭合将第一个角度再添加到数组的最后。 定义职业标签一个包含7个字符串元素的列表。 绘制雷达图通过循环绘制每个职业的特质分数图形。在循环中使用ax.plot函数绘制特质分数的折线图并使用ax.fill函数填充颜色。 添加坐标轴标签使用ax.set_thetagrids函数添加角度轴的标签。 添加标题使用plt.title函数添加图表标题。 添加图例使用plt.legend函数添加图例。 显示图形使用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, endpointFalse)# 重复第一个角度以使图像闭合
angles np.concatenate((angles, [angles[0]]))# 职业
occupations [工程师, 实验员, 艺术家, 推销员, 记事员, 社会工作者, 技术员]# 绘图
fig plt.figure()
ax fig.add_subplot(111, polarTrue)
for i in range(len(data)):# 绘制折线图ax.plot(angles, data[i]data[i][:1], o-, linewidth2, labeloccupations[i])# 填充颜色ax.fill(angles, data[i]data[i][:1], alpha0.25)
# 添加坐标轴标签
ax.set_thetagrids(angles*180/np.pi, occupations)
# 添加标题
plt.title(Holland Personality Analysis, fontsize20)
# 添加图例
plt.legend(locbest)
# 显示图形
plt.show()效果