绘制霍兰德人格分析
一、绘制霍兰德人格分析
import matplotlib.pyplot as plt import matplotlib.pyplot import numpy as np matplotlib.rcParams['font.family'] = 'SimHei' matplotlib.rcParams['font.sans-serif'] = ['SimHei'] radar_labels = np.array(['研究型','艺术型','社会型','企业型','常规型','现实型']) Attr = 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= ('工程师','实验员','艺术家','推销员','社会工作者','记事员') angels = np.linspace(0,2*np.pi,Attr,endpoint = False) data = np.concatenate((data,[data[0]])) angels = np.concatenate((angels,[angels[0]])) fig = plt.figure(facecolor='white') plt.subplot(111,polar = True) plt.plot(angels,data,'bo-',color = 'gray',linewidth = 0.2) plt.plot(angels,data,'o-',linewidth = 1.5,alpha=0.2) plt.fill(angels,data,alpha =0.25) plt.thetagrids(angels*180/np.pi,radar_labels) print(angels*180/np.pi) plt.figtext(0.55,0.95,'霍兰德人格分析',ha='center',size =10) legend=plt.legend(data_labels,loc= (0.94,0.80),labelspacing=0.1) plt.setp(legend.get_texts(),fontsize='small') plt.grid(True) plt.savefig('holland_radar.JPG') plt.show()
运行结果
二、代码详解
1、matplotlib.pyplot.
legend
(*args, **kwargs)[source]
作用:在图上放上图例
参数解释:
loc:int or string or pair of floats, default:
图例所有在figure位置
prop: None or matplotlib.font_manager.FontProperties
or dict
the font property字体参数
fontsize: int or float or {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}
设置字体大小
markerscale:None or int or float
图例标记的相对大小与最初绘制的标记相比较。默认值是None
,它将从中获取值 rcParams["legend.markerscale"]
。
markerfirst:bool
如果为True,则图例标记位于图例标签的左侧
numpoints:None or int
为线条图图例条目创建的标记点数
scatterpoints:None或int
the number of points in the legend for scatter plot
为散点图图例条目创建的标记点数
scatteryoffsets: None or int
为散点图图例条目创建的标记的垂直偏移量
frameon:None or bool
控制是否应在图例周围绘制框架
fancybox:None or bool
控制是否应在构成图例背景的FancyBboxPatch周围启用圆边
shadow:None or bool
控制是否在图例后面画一个阴影
framealpha:None or bool
控制图例框架的 Alpha 透明度
edgecolor
控制图例的背景色块边缘颜色。默认是None
,这将需要从价值rcParams["legend.edgecolor"]
如果"inherit"
,这将需要rcParams["axes.edgecolor"]
。
facecolor
控制图例的背景颜色。默认值是None
,它将从中获取值rcParams["legend.facecolor"]
。如果"inherit"
,它将需要rcParams["axes.facecolor"]
。
Frame facecolor.
ncol:int or None
number of columns 设置图例分为n列展示
borderpad:int or None
图例边框的内边距
labelspacing:int or None
图例条目之间的垂直间距
handlelength:int or None
图例句柄的长度
handleheight:int or None
图例句柄的高度
handletextpad:int or None
图例句柄和文本之间的间距
columnspacing: float或None
the spacing between columns 列间距
title:str或None
图例标题