Python数据可视化,超星学习通助手后台数据的可视化处理
Author:AXYZdong
自动化专业 工科男
有一点思考,有一点想法,有一点理性!
环境:Python 3.7
用到的库:matplotlib 和 csv
文章目录
一、前期准备
二、获取数据
三、可视化处理
四、运行结果
一、折线图
二、条形图
五、数据说明
六、某助手停止维护后
1、可视化处理
2、效果
总结
一、前期准备
安装 matplotlib 库,命令提示符栏输入
pip install matplotlib
1
安装的时候可能有点慢,耐心等待。
关于matplotlib 库的使用方法,可以参考:Matplotlib.pyplot 常用方法
二、获取数据
脚本网站:https://greasyfork.org/zh-CN/scripts
到超星助手统计数据下载 .csv文件,并保存在与python文件相同的目录下。
提醒:拿到数据后,把第一行的英文删掉,不然 datetime.strptime() 函数转换数据时会出现错误
三、可视化处理
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()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
四、运行结果
一、折线图
二、条形图
仅修改一处代码即可
plt.bar(date,installs,color= ‘red‘)
1
五、数据说明
统计的数据为 2018-06-19 ~ 2020-04-13 的安装数。
可见:2020-03~2020-04 这段时间数据爆棚,具体什么原因嘛,你懂得(手动滑稽)
六、某助手停止维护后
又一大佬开始接手,另一个脚本
1、可视化处理
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()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2、效果
总结
为了达到自己满意的效果,搞了好长时间
刚开始是 x 轴标号的问题,图片出来总是黑乎乎的一片,我以为是数据太多的问题,就没有考虑了
上传到博客后,发现坐标数值不对劲啊,和我预想的结果不一样。就开始查找各种资料,最后还是在《Python 编程 从入门到实践》中找到了解决办法。
小白的我学习 Python,遇到了各种问题,慢慢地一个个解决,到达自己满意的效果。
欢迎大佬批评指正 ?? ?? ??
————————————————
原文链接:https://blog.csdn.net/qq_43328313/article/details/105714713
https://bcy.net/tag/20509861
https://bcy.net/tag/20509864
https://bcy.net/tag/20509862
https://bcy.net/tag/20509863
https://bcy.net/tag/20509868
https://bcy.net/tag/20509865
https://bcy.net/tag/20509866
https://bcy.net/tag/20509867
https://bcy.net/tag/20509869
https://bcy.net/tag/20509870
https://bcy.net/tag/20509876
https://bcy.net/tag/20509877
https://bcy.net/tag/20509878
https://bcy.net/tag/20509881
https://bcy.net/tag/20509879
https://bcy.net/tag/20509880
https://bcy.net/tag/20509882