今天是学习python的第二天。
根据自己的需要,将前段时间的扇形图稍微升华一下,从而可以从mysql数据库中查询数据,并作图形的展示。
以下为图形展示:
#导入库--注意本段代码不适用于python2
import pymysql
import matplotlib.pyplot as pyt#处理中文乱码
pyt.rcParams['font.sans-serif'] = ['SimHei']
pyt.rcParams['axes.unicode_minus'] = False#定义数据库连接
host='localhost'
user= 'root'
passwd='1234'
db='test001'#定义要查询的城市
city_name='合肥市'#定义县区查询sql
sql_name="SELECT country FROM `hefei_test` where city = %s GROUP BY country;"
sql_sizes="SELECT count(*) FROM `hefei_test` where city = %s GROUP BY country;"
#定义标题
title=city_name+"区县村级单位个数扇形图"
#定义扇形图各模块之间间距
exp=0.01#打开数据库连接
conn = pymysql.connect(host = host,user = user,passwd = passwd,db = db)
#定义游标
cur=conn.cursor()
#执行县区查询sql
cur.execute(sql_name,(city_name,))
#返回所有查询结果(二维元组)
res=cur.fetchall()
#定义空列表(pie()方法需要将其转为列表类型)
labels_list=[]
#遍历查询结果元组
for y in res:print((y[0]))labels_list.append(y[0])
labels=labels_list
#打印结果测试
print(labels)
print(type(labels))#执行区县下辖村民委员会个数查询
cur.execute(sql_sizes,(city_name,))
#返回所有查询结果(二维元组)
res=cur.fetchall()
#定义空列表(pie()方法需要将其转为列表类型)
sizes_list=[]
#遍历查询结果元组
for x in res:#print(x[0])sizes_list.append(x[0])
sizes=sizes_list
#处理结果测试
print(sizes)
print(type(sizes))#游标关闭
cur.close()
#连接提交
conn.commit()
#连接关闭
conn.close()#进行扇形各要素的引用
#获取查询区县个数
len=len(sizes_list)
#打印查看
print(len)
#定义空链表
explode=[]
#建立新链表内容,定义扇形图各模块之间间距
leng=0
while leng < len:explode.append(exp)leng=leng+1
explode=explode##进行扇形各要素的引用
pyt.pie(sizes,labels=labels,explode=explode,shadow = True,autopct='%1.1f%%',startangle=0)
pyt.axis('equal')
#定义标题
pyt.title(title)
#扇形展示
pyt.show()
如果需要使用,记得安装PyMySQL,将数据库连接修改为自己的mysql数据库。如果调用的数据库表有变动,记得将查询语句进行修改。
数据库表内容如下:
town | country | city |
撮镇镇 | 肥东县 | 合肥市 |
庄墓镇 | 长丰县 | 合肥市 |
泥河镇 | 庐江县 | 合肥市 |
万山镇 | 庐江县 | 合肥市 |
安徽省水家湖农场 | 长丰县 | 合肥市 |
夏阁镇 | 巢湖市 | 合肥市 |
肥东新城开发区 | 肥东县 | 合肥市 |
乐桥镇 | 庐江县 | 合肥市 |
大兴镇 | 瑶海区 | 合肥市 |
汤池镇 | 庐江县 | 合肥市 |
庙岗乡 | 巢湖市 | 合肥市 |
大杨镇 | 庐阳区 | 合肥市 |
官亭镇 | 肥西县 | 合肥市 |
银屏镇 | 巢湖市 | 合肥市 |
半汤街道办事处 | 巢湖市 | 合肥市 |
合肥循环经济示范园 | 肥东县 | 合肥市 |
梁园镇 | 肥东县 | 合肥市 |
水湖镇 | 长丰县 | 合肥市 |
三里街街道 | 瑶海区 | 合肥市 |
方兴社区 | 包河区 | 合肥市 |
柯坦镇 | 庐江县 | 合肥市 |
郭河镇 | 庐江县 | 合肥市 |
杨庙镇 | 长丰县 | 合肥市 |
铜陵路街道 | 瑶海区 | 合肥市 |
柘皋镇 | 巢湖市 | 合肥市 |
紫蓬山管委会 | 肥西县 | 合肥市 |
天河街道办事处 | 巢湖市 | 合肥市 |
滨湖世纪社区 | 包河区 | 合肥市 |
吴山镇 | 长丰县 | 合肥市 |
蜀山新产业园区 | 蜀山区 | 合肥市 |
苏湾镇 | 巢湖市 | 合肥市 |
桃花工业园管委会 | 肥西县 | 合肥市 |
店埠镇 | 肥东县 | 合肥市 |
烟墩街道 | 包河区 | 合肥市 |
明光路街道 | 瑶海区 | 合肥市 |
矾山镇 | 庐江县 | 合肥市 |
庐城镇 | 庐江县 | 合肥市 |
岗集镇 | 长丰县 | 合肥市 |
众兴乡 | 肥东县 | 合肥市 |
长临河镇 | 肥东县 | 合肥市 |
罗塘乡 | 长丰县 | 合肥市 |
上派镇 | 肥西县 | 合肥市 |
散兵镇 | 巢湖市 | 合肥市 |
张集乡 | 肥东县 | 合肥市 |
铭传乡 | 肥西县 | 合肥市 |
义井乡 | 长丰县 | 合肥市 |
高店乡 | 肥西县 | 合肥市 |
中垾镇 | 巢湖市 | 合肥市 |
龙桥镇 | 庐江县 | 合肥市 |
石塘镇 | 肥东县 | 合肥市 |
望湖街道 | 包河区 | 合肥市 |
桥头集镇 | 肥东县 | 合肥市 |
大圩镇 | 包河区 | 合肥市 |
三河镇 | 肥西县 | 合肥市 |
陶楼乡 | 长丰县 | 合肥市 |
嘉山路街道 | 瑶海区 | 合肥市 |
义城街道 | 包河区 | 合肥市 |
冶父山镇 | 庐江县 | 合肥市 |
罗河镇 | 庐江县 | 合肥市 |
庐阳工业区(林店街道) | 庐阳区 | 合肥市 |
双墩镇 | 长丰县 | 合肥市 |
胜利路街道 | 瑶海区 | 合肥市 |
合肥龙岗综合经济开发区 | 瑶海区 | 合肥市 |
下塘镇 | 长丰县 | 合肥市 |
淝河镇 | 包河区 | 合肥市 |
坝镇镇 | 巢湖市 | 合肥市 |
槐林镇 | 巢湖市 | 合肥市 |
亚父街道办事处 | 巢湖市 | 合肥市 |
白山镇 | 庐江县 | 合肥市 |
响导乡 | 肥东县 | 合肥市 |
城东街道 | 瑶海区 | 合肥市 |
八斗镇 | 肥东县 | 合肥市 |
造甲乡 | 长丰县 | 合肥市 |
严店乡 | 肥西县 | 合肥市 |
中庙街道办事处 | 巢湖市 | 合肥市 |
朱巷镇 | 长丰县 | 合肥市 |
长淮街道办事处 | 瑶海区 | 合肥市 |
元疃镇 | 肥东县 | 合肥市 |
桃花镇 | 肥西县 | 合肥市 |
包公街道 | 包河区 | 合肥市 |
黄麓镇 | 巢湖市 | 合肥市 |
丰乐镇 | 肥西县 | 合肥市 |
盛桥镇 | 庐江县 | 合肥市 |
白湖镇 | 庐江县 | 合肥市 |
左店乡 | 长丰县 | 合肥市 |
柿树岗乡 | 肥西县 | 合肥市 |
烔炀镇 | 巢湖市 | 合肥市 |
马湖乡 | 肥东县 | 合肥市 |
常青街道 | 包河区 | 合肥市 |
古城镇 | 肥东县 | 合肥市 |
杜集乡 | 长丰县 | 合肥市 |
方庙街道办事处 | 瑶海区 | 合肥市 |
安徽庐江经济开发区 | 庐江县 | 合肥市 |
芜湖路街道 | 包河区 | 合肥市 |
山南镇 | 肥西县 | 合肥市 |
凤凰山街道办事处 | 巢湖市 | 合肥市 |
白龙镇 | 肥东县 | 合肥市 |
牌坊回族满族乡 | 肥东县 | 合肥市 |
包公镇 | 肥东县 | 合肥市 |
骆岗街道 | 包河区 | 合肥市 |
七里站街道 | 瑶海区 | 合肥市 |
金牛镇 | 庐江县 | 合肥市 |
三十岗乡 | 庐阳区 | 合肥市 |
陈集镇 | 肥东县 | 合肥市 |
红光街道 | 瑶海区 | 合肥市 |
花岗镇 | 肥西县 | 合肥市 |
栏杆集镇 | 巢湖市 | 合肥市 |
卧牛山街道办事处 | 巢湖市 | 合肥市 |
杨店乡 | 肥东县 | 合肥市 |
石头镇 | 庐江县 | 合肥市 |
同大镇 | 庐江县 | 合肥市 |
紫蓬镇 | 肥西县 | 合肥市 |
和平路街道 | 瑶海区 | 合肥市 |
双凤开发区 | 长丰县 | 合肥市 |
笔架山街道 | 蜀山区 | 合肥市 |
三里庵街道 | 蜀山区 | 合肥市 |
琥珀街道 | 蜀山区 | 合肥市 |
五里墩街道 | 蜀山区 | 合肥市 |
逍遥津街道 | 庐阳区 | 合肥市 |
西园街道 | 蜀山区 | 合肥市 |
四里河街道 | 庐阳区 | 合肥市 |
海棠街道 | 庐阳区 | 合肥市 |
三孝口街道 | 庐阳区 | 合肥市 |
稻香村街道 | 蜀山区 | 合肥市 |
南七街道 | 蜀山区 | 合肥市 |
小庙镇 | 蜀山区 | 合肥市 |
杏花村街道 | 庐阳区 | 合肥市 |
杏林街道 | 庐阳区 | 合肥市 |
荷叶地街道 | 蜀山区 | 合肥市 |
亳州路街道 | 庐阳区 | 合肥市 |
井岗镇 | 蜀山区 | 合肥市 |
双岗街道 | 庐阳区 | 合肥市 |
南岗镇 | 蜀山区 | 合肥市 |
如需使用,复制成excel,并用excel导入数据库即可。