python画雷达图

【1】https://github.com/TTyb/Radar/blob/master/radar.pdf

里面提供了代码文件以及详细的说明

【2】http://bbs.pythontab.com/thread-3477-1-1.html

直接可以用的代码

import numpy asnp

importpylabaspl

classRadar(object):

def__init__(self,fig,titles,labels,rect=None):

ifrectisNone:

rect = [0.05,0.05,0.95,0.95]

self.n =len(titles)

self.angles = np.arange(90,90+360,360.0/self.n)

self.axes = [fig.add_axes(rect,projection="polar",label="axes%d"% i)

foriinrange(self.n)]

self.ax =self.axes[0]

self.ax.set_thetagrids(self.angles,labels=titles,fontsize=14)

foraxinself.axes[1:]:

ax.patch.set_visible(False)

ax.grid("off")

ax.xaxis.set_visible(False)

forax,angle,labelinzip(self.axes,self.angles,labels):

ax.set_rgrids(range(1,6),angle=angle,labels=label)

ax.spines["polar"].set_visible(False)

ax.set_ylim(0,5)

defplot(self,values,*args,**kw):

angle = np.deg2rad(np.r_[self.angles,self.angles[0]])

values = np.r_[values,values[0]]

self.ax.plot(angle,values,*args,**kw)

titles =list("ABCDE")

labels = [

list("abcde"),list("12345"),list("uvwxy"),

["one","two","three","four","five"],

list("jklmn")

]

fig = pl.figure(figsize=(6,6))

titles =list("ABCDE")

labels = [

list("abcde"),list("12345"),list("uvwxy"),

["one","two","three","four","five"],

list("jklmn")

]

radar = Radar(fig,titles,labels)

radar.plot([1,3,2,5,4],"-",lw=2,color="b",alpha=0.4,label="first")

radar.ax.legend()

pl.show()

你可能感兴趣的:(python画雷达图)