【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()