大家好,又见面了,我是你们的朋友全栈君。
Author:AXYZdong
自动化专业 工科男
有一点思考,有一点想法,有一点理性!
CSDN@AXYZdong,CSDN首发,更多精彩内容请前往 AXYZdong的博客
环境:Python 3.7
用到的库:matplotlib 和 csv
一、前期准备
安装 matplotlib 库,命令提示符栏输入
pip install matplotlib
安装的时候可能有点慢,耐心等待。
关于matplotlib 库的使用方法,可以参考:Matplotlib.pyplot 常用方法
二、获取数据
脚本网站:https://greasyfork.org/zh-CN/scripts
到超星助手统计数据下载 .csv文件,并保存在与python文件相同的目录下。
提醒:拿到数据后,把第一行的英文删掉,不然 datetime.strptime() 函数转换数据时会出现错误
三、可视化处理
# =============================================
# --*-- coding: utf-8 --*--
# @Time : 2020-04-28
# @Author : AXYZdong
# @CSDN : https://blog.csdn.net/qq_43328313
# @FileName: demo_1.py
# @Software: Python3.7
# =============================================
import matplotlib.pyplot as plt #导入库
from datetime import datetime #导入模块datetime中的datetime类
import csv
date=[] #创建列表
installs=[]
update_checks=[]
with open('stats.csv', 'r') as f: #提取stats.csv中的数据并保存在对应列表中
reader = csv.reader(f)
dates,installs = [],[]
for row in reader:
current_date = datetime.strptime(row[0],"%Y-%m-%d") #包含日期信息的数据row[0]转为datetime对象
dates.append(current_date)
install = int(row[1])
installs.append(install)
update_checks.append(row[2])
plt.plot(dates,installs,color= 'red') #采用条形图,颜色设置为红色
plt.title('the picture about xuexitong help installs', fontsize = 16) #设置图片名称
plt.xticks(rotation=300) #x轴标号旋转
plt.ylabel("", fontsize = 16)
plt.ylabel("Number", fontsize = 16)
plt.show()
四、运行结果
一、折线图
二、条形图
仅修改一处代码即可
plt.bar(date,installs,color= 'red')
五、数据说明
统计的数据为 2018-06-19 ~ 2020-04-13 的安装数。
可见:2020-03~2020-04 这段时间数据爆棚,具体什么原因嘛,你懂得(手动滑稽)
六、某助手停止维护后
又一大佬开始接手,另一个脚本
1、可视化处理
# =============================================
# --*-- coding: utf-8 --*--
# @Time : 2020-04-28
# @Author : AXYZdong
# @CSDN : https://blog.csdn.net/qq_43328313
# @FileName: demo_2.py
# @Software: Python3.7
# =============================================
import matplotlib.pyplot as plt #导入库
from datetime import datetime #导入模块datetime中的datetime类
import csv
date=[] #创建列表
installs=[]
update_checks=[]
with open('stats1.csv', 'r') as f: #提取stats1.csv中的数据并保存在对应列表中
reader = csv.reader(f)
dates,installs = [],[]
for row in reader:
current_date = datetime.strptime(row[0],"%Y-%m-%d") #包含日期信息的数据row[0]转为datetime对象
dates.append(current_date)
install = int(row[1])
installs.append(install)
update_checks.append(row[2])
plt.plot(dates,installs,color= 'blue') #采用条形图,颜色设置为蓝色
plt.title('the picture about xuexitong help installs', fontsize = 16) #设置图片名称
plt.xticks(rotation=300) #x轴标号旋转
plt.ylabel("", fontsize = 16)
plt.ylabel("Number", fontsize = 16)
plt.show()
2、效果
总结
为了达到自己满意的效果,搞了好长时间
刚开始是 x 轴标号的问题,图片出来总是黑乎乎的一片,我以为是数据太多的问题,就没有考虑了
上传到博客后,发现坐标数值不对劲啊,和我预想的结果不一样。就开始查找各种资料,最后还是在《Python 编程 从入门到实践》中找到了解决办法。
小白的我学习 Python,遇到了各种问题,慢慢地一个个解决,到达自己满意的效果。
欢迎大佬批评指正 ? ? ?
看完就赞,养成习惯!!!^ _ ^ ❤️ ❤️ ❤️
码字不易,大家的支持就是我坚持下去的动力。点赞后不要忘了关注我哦!
「你可能还想看」系列文章:
小白如何入门Python?记我的Python初体验
揭开「pip不是内部或外部命令,也不是可运行的程序或批处理文件」的神秘面纱
【Python制作词云】分析QQ群聊信息,记录词频并制作词云
【Python制作词云】改变词云字体颜色
【Python】给PDF添加水印
520快到了,我用代码画了一幅画「可以送给自己喜欢的人」
「情人节快到了」“码”出礼物,一片“芯”意
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151755.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...