1.分析思路
以贵族价格表为例
a.使用Python连接MySQL数据库
b.从noble_right表查询贵族名称,开通价格
c.将这两组值作为XY轴绘制直方图
2.编写代码:
# -*- coding: utf-8 -*-
import pymysql
import matplotlib.pyplot as plt
import matplotlib as mpl
# 创建数据库连接
db = pymysql.connect(user="***", password="***", port=***, db="***", host="***",
charset="utf8")
# 获取游标
cur = db.cursor()
# 使用xchat2数据库
cur.execute('use xchat2')
# 查询并打印数据
sql = "SELECT `name`,open_gold FROM noble_right;"
cur.execute(sql)
# result为元组
result = cur.fetchall()
# 将元组数据存进列表中
name = []
open_gold = []
for x in result:
name.append(x[0])
open_gold.append(x[1])
# 直方图
plt.bar(range(len(open_gold)), open_gold, color='steelblue', tick_label=name)
# 设置默认字体
mpl.rcParams['font.sans-serif'] = ['SimHei']
# 设置标签和标题
plt.xlabel("贵族等级", fontsize=14)
plt.ylabel("开通价格", fontsize=14)
plt.title("贵族-价格表", fontsize=14)
plt.show()
# 关闭游标
cur.close()
# 关闭数据库
db.close()
注:***地方需要修改成自己的数据库连接