天天看点

python用matplotlib画雷达图_matplotlib雷达图

用matplotlib画雷达图,网上流传的版本其实都是官网的一个例子。但是那个例子太复杂,而且它封装了几个类,让人难以一眼看出其本质。

我给出一个简单的解决方法,没有任何封装。作本文的原因,是为了回答百度网友的提问。 好吧,图很丑~~~。

原问题见:http://zhidao.baidu.com/question/1048071753829017339.html?fr=qlquick&entry=qb_browse_word

【效果图】

python用matplotlib画雷达图_matplotlib雷达图

增加一个数据,并且使用了填充

python用matplotlib画雷达图_matplotlib雷达图

【源代码】

'''matplotlib雷达图'''

importnumpy as npimportmatplotlib.pyplot as plt#=======自己设置开始============#标签

labels = np.array(['艺术A','调研I','实际R','常规C','企业E','社会S'])#数据个数

dataLenth = 6

#数据

data = np.array([1,4,3,6,4,8])#========自己设置结束============

angles= np.linspace(0, 2*np.pi, dataLenth, endpoint=False)

data= np.concatenate((data, [data[0]])) #闭合

angles = np.concatenate((angles, [angles[0]])) #闭合

fig=plt.figure()

ax= fig.add_subplot(111, polar=True)#polar参数!!

ax.plot(angles, data,'bo-', linewidth=2)#画线

ax.fill(angles, data, facecolor='r', alpha=0.25)#填充

ax.set_thetagrids(angles* 180/np.pi, labels, fontproperties="SimHei")

ax.set_title("matplotlib雷达图", va='bottom', fontproperties="SimHei")

ax.set_rlim(0,10)

ax.grid(True)

plt.show()