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

效果图

在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值