北理网课 - Python语言程序设计 - 9.2 实例15:“霍兰德人格分析” (初学,冰山一角)

版权声明:本文为博主原创文章,转载请留言通知。 https://blog.csdn.net/silent0001/article/details/88991817

一、“霍兰德人格分析”问题解析

雷达图(Redar Chart):多特性直观展示的重要方式

霍兰德人格分析

-霍兰德认为:人格性趣与职业之间用有一种内在的对应联系

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

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

霍兰德人格分析雷达图

-需求:雷达图方式验证霍兰德人格分析

-输入:各职业人群结合兴趣的调研数据

-输出:雷达图

使用的库

扫描二维码关注公众号,回复: 5816655 查看本文章

-通用雷达图绘制:matplotlib库(数据可视化)

-专业的多维数据表示:NumPy库(N维数据表示)

-输出:雷达图

======================================================================= 

二、“霍兰德人格分析雷达图”实例展示

这里只放展示,没有分析,因为分析中涉及的知识面比较广,在这里说不完,老师也没讲。

以下展示代码:

#HollandRadarDraw.py
import numpy as np
import matplotlib.pyplot as plt
import matplotlib#以上代入NumPy、matplotlib库
matplotlib.rcParams['font.family'] = 'SimHei'
radar_labels = np.array(['研究型(I)', '艺术型(A)', '社会型(S)', '企业型(E)', '常规型(C)', '现实型(R)'])#雷达标签这里用array方法将多维数据组织起来
nAttr = 6
data = np.array([[0.40, 0.32, 0.35, 0.30, 0.30, 0.88],
                 [0.85, 0.35, 0.30, 0.40, 0.40, 0.30],
                 [0.43, 0.89, 0.30, 0.28, 0.22, 0.30],
                 [0.30, 0.25, 0.48, 0.85, 0.45, 0.40],
                 [0.20, 0.38, 0.87, 0.45, 0.32, 0.28],
                 [0.34, 0.31, 0.38, 0.40, 0.92, 0.28]])#数据值
data_labels = ('艺术家', '实验员', '工程师', '推销员', '社会工作者','记事员')
angles = np.linspace(0, 2 * np.pi, nAttr, endpoint = False)
data = np.concatenate((data, [data[0]]))
angles = np.concatenate((angles, [angles[0]]))
fig = plt.figure(facecolor = 'white')
plt.subplot(111, polar = True)
plt.plot(angles, data, 'o-', linewidth = 1, alpha = 0.2)
plt.fill(angles, data, alpha = 0.25)
plt.thetagrids(ang les * 180 / np.pi, radar_labels, frac = 1.2)#以上使用matplotlib中绘制图像的方法绘制要使用的雷达图
plt.figtext(0.52, 0.95, '霍兰德人格分析', ha = 'center', size = 20)
legend = plt.legent(data_labels, loc = (0.94, 0.80), labelspacing = 0.1)
plt.setp(legend.get_texts(), fontsize = 'large')
plt.grid(True)
plt.savefig('holland_radar.jpg')
plt.show()#将绘制的雷达图输出形成相关的文件

当然,我用的Python版本是3.7.2,不知道这期间Matplotlib是否更新,运行出来之后显示有些错误,暂时没有解决,以后我发现方法了,我会回来补上的。

老师运行结果:

我忽略frac之后结果同上,没有右边那牌子

 

我的错误:

Traceback (most recent call last):
  File "E:/Python/9.2.2HollandRadarDraw.py", line 22, in <module>
    plt.thetagrids(angles * 180 / np.pi, radar_labels, frac = 1.2)
  File "D:\Program Files\Python\lib\site-packages\matplotlib\pyplot.py", line 1768, in thetagrids
    lines, labels = ax.set_thetagrids(*args, **kwargs)
  File "D:\Program Files\Python\lib\site-packages\matplotlib\projections\polar.py", line 1268, in set_thetagrids
    t.update(kwargs)
  File "D:\Program Files\Python\lib\site-packages\matplotlib\text.py", line 187, in update
    super().update(kwargs)
  File "D:\Program Files\Python\lib\site-packages\matplotlib\artist.py", line 916, in update
    ret = [_update_property(self, k, v) for k, v in props.items()]
  File "D:\Program Files\Python\lib\site-packages\matplotlib\artist.py", line 916, in <listcomp>
    ret = [_update_property(self, k, v) for k, v in props.items()]
  File "D:\Program Files\Python\lib\site-packages\matplotlib\artist.py", line 912, in _update_property
    raise AttributeError('Unknown property %s' % k)
AttributeError: Unknown property frac

======================================================================= 

9.2.3“霍兰德人格分析雷达图”举一反三

目标 + 沉浸 + 熟练

-编程的目标感:寻找感兴趣的目标,寻(wā)觅(jué)之

-编程的沉浸感:寻找可实现的方法,思(zúo)考(mo)之

编程的熟练度:练习,练习,在练习,熟练之

(以上是我个人分析结果,到现在没什么问题,欢迎批评指正!)

猜你喜欢

转载自blog.csdn.net/silent0001/article/details/88991817