智能文章系统实战-统计数据展示Pyhton版本(17)
admin 发布于:2018-7-16 18:32 有 3053 人浏览,获得评论 0 条
1. 查看数据
2. 图形代码
#!/usr/bin/python3
# -*- coding: utf-8 -*-
#引入库
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import pymysql
from matplotlib.font_manager import *
#定义自定义字体,文件名从1.b查看系统中文字体中来
myfont = FontProperties(fname='/usr/share/fonts/stix/simsun.ttc')
#解决负号'-'显示为方块的问题
matplotlib.rcParams['axes.unicode_minus']=False
#初始化变量
x=[]
y1=[]
y2=[]
# 打开数据库连接
db = pymysql.connect("localhost","root","","article" )
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 查询语句
sql = "SELECT stat_date,pv,ip FROM stat ORDER BY id DESC LIMIT 0,10"
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
x.append(row[0])
y1.append(row[1])
y2.append(row[2])
# 打印结果
#print(x)
#print(y1)
#print(y2)
except:
print ("Error!")
# 关闭数据库连接
db.close()
#绘制图形
plt.figure(figsize=(12,8))
plt.plot(x,y1,label='PV',color='r',marker='o')
plt.plot(x,y2,label='PV',color='b',marker='s')
plt.xlabel(u'日期',fontproperties=myfont)
plt.ylabel(u'统计数量',fontproperties=myfont)
plt.title(u'数据统计',fontproperties=myfont)
plt.xticks(rotation=0)
# 设置数字标签
for a, b in zip(x, y1):
plt.text(a, b, b, ha='center', va='bottom', fontsize=20)
for a, b in zip(x, y2):
plt.text(a, b, b, ha='center', va='bottom', fontsize=20)
plt.legend()
#plt.show()
plt.savefig("stat.png")
3.显示图形
