利用Python读取MySQL数据(信息消费表)根据归属地计算流量使用支出平均值并绘制饼图

MySQL数据表结构如下

 

 

MySQL数据表部分数据如下

Python代码如下

import pymysql
from matplotlib import pyplot as plt
#添加图形对象
fig = plt.figure()
x = fig.add_axes([0,0,1,1])
#连接数据库
conn=pymysql.connect(host = '127.0.0.1' # 连接名称,默认127.0.0.1
,user = 'root' # 用户名
,passwd='123456' # 密码
,port= 3306 # 端口,默认为3306
,db='kettle' # 数据库名称
,charset='utf8' # 字符编码
)
a = []
b = []
try:
 cur = conn.cursor()  # 生成游标对象
 sql = "select 归属地, avg(流量收入) from qimo group by 归属地"  # SQL语句
 cur.execute(sql)  # 执行SQL语句
 data = cur.fetchall()  # 通过fetchall方法获得数据
 for i in data: # 打印输出前2条数据
  a.append(i[0])
  b.append(int(i[1]))

except Exception as e:
 print(e)
finally:
 cur.close() # 关闭游标
 conn.close() # 关闭连接
print(a)
print(b)
#使得X/Y轴的间距相等
x.axis('equal')
#设置字体不然不会中文显示错误
plt.rcParams['font.sans-serif']=['SimHei'] #显示中文标签
plt.rcParams['axes.unicode_minus']=False
#绘制饼状图
plt.title("各地使用流量平均支出表")
x.pie(b,labels=a,autopct='%1.2f%%')
#显示图像
plt.show()

运行结果如下

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值