matplotlib绘制雷达图(调用MySQL数据)
matplotlib绘制雷达图(调用MySQL数据)
con = pymysql.connect(host='localhost',user='root',passwd='cbj123',port=3306,db='bigdata')
cur = con.cursor()
sql = 'select * from phone'
sql1 = 'select num from hero order by num desc limit 0,11'
cur.execute(sql)
see = cur.fetchall()
cur.execute(sql1)
see1 = cur.fetchall()
...
...
...
cur.close()
con.close()
data1 = []
data2 = []
data3 = []
for data in see:
data1.append(data[0])
data2.append(data[1])
for data in see1:
data3.append(data[0])
lables = np.array(data1)
dataLenth= len(data1)
radardata1 = np.array(data2)
radardata2 = np.array(data3)
angles = np.linspace(0, 2*np.pi, dataLenth, endpoint=False) # 分割圆周长
radardata1 = np.concatenate((radardata1, [radardata1[0]])) # 闭合
radardata2 = np.concatenate((radardata2,[radardata2[0]])) # 闭合
angles = np.concatenate((angles, [angles[0]])) # 闭合
plt.polar(angles, radardata1, 'bo-', linewidth=1) # 做极坐标系
plt.polar(angles,radardata2,'bo-',linewidth=1 )
plt.thetagrids(angles * 180/np.pi,lables) # 做标签
plt.fill(angles, radardata1, facecolor='r', alpha=0.25)
plt.fill(angles,radardata2, facecolor='b',alpha=0.25)# 填充
plt.ylim(0, 9999)
plt.title(u'phone')
plt.show()
matplotlib绘制雷达图(调用MySQL数据)相关教程