智能文章系统实战-统计数据展示Pyhton版本(17)

admin 发布于:2018-7-16 18:32  有 1679 人浏览,获得评论 0 条  

1. 查看数据

企业微信截图_20180716161719.png

 

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.显示图形

stat (2).png