Python连接MySQL数据库获取数据绘制柱状图

 一、Python通过pymysql包获取MySQL数据库中的数据(没有对应包的可以通过pip install pymysql 安装对应的包)

import matplotlib.pyplot as plt

from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['STZhongsong']    # 指定默认字体:解决plot不能显示中文问题
mpl.rcParams['axes.unicode_minus'] = False
# 引入pymysql包
import pymysql
# 连接数据库并打开library数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='123456', db='qskh_091')
# 获取游标对象
cur = conn.cursor(cursor=pymysql.cursors.DictCursor)
# 执行SQL语句
cur.execute("SELECT * FROM xiaoliang t1 ORDER BY t1.销售数量+'0';")
# 获取执行结果
rows = cur.fetchall()
print(rows)
print("number of records: ", len(rows))
lists=[[],[]]
for row in rows:
    lists[0].append(row["产品代码"])
    lists[1].append(row["销售数量"])
# 关闭游标对象
print(lists)

x=lists[0]

y=lists[1]

plt.bar(x,y,width=0.5,align="center",label="销售数量",color="coral")

plt.title("各产品销售状况")

for a,b in zip(x,y):
 plt.text(a,b,b,ha='center',va="bottom",fontsize=12)

plt.xlabel('产品名称')

plt.ylabel('销售数量')

plt.legend()

plt.show()

cur.close()
# 关闭数据库连接
conn.close()

二、从数据库中获取的数据的数据结构如下所示

三、最终结果如下所示

原文地址:https://www.cnblogs.com/lcl-cn/p/15352881.html