人物性格有关数据
此次展示的雷达图共有6*6个数据,每组数据分别代表:家务能力,工作能力,社会交际能力,厨艺等级,身体素质,赚钱能力
生成的六个人格分别为:爱自己型,爱父母型,爱朋友型,爱工作型,爱享乐型,爱宝宝型。
如图:
雷达图代码
代码:
#HollandRadarDraw
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family']='SimHei'
radar_labels = np.array(['家务能力','工作能力','社会交际能力',\
'厨艺等级','身体素质','赚钱能力']) #雷达标签
print("六个指标分别为家务能力,工作能力,社会交际能力,厨艺等级,身体素质,赚钱能力")
nAttr = 6
lists=[]
l=["爱宝宝型","爱自己型","爱父母型","爱朋友型","爱工作型","爱享乐型"]
for i in range(6):
print("请输入{}人格的六个指标(0-1之间的小数,以英文逗号分隔:)".format(l[i]))
ls=input()
ls=list(eval(ls))
lists.append(ls)
data = np.array(lists) #数据值
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(angles*180/np.pi, radar_labels)#这一句之前有问题
plt.figtext(0.52, 0.95, 'XX潜力分析', ha='center', size=20)
legend = plt.legend(data_labels, loc=(0.94, 0.80), labelspacing=0.1)
plt.setp(legend.get_texts(), fontsize='large')
plt.grid(True)
plt.savefig('XX.jpg')
plt.show()