程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【Python數據可視化】超星學習通助手後台數據的可視化處理

編輯:Python

大家好,又見面了,我是你們的朋友全棧君。

Author:AXYZdong 自動化專業 工科男 有一點思考,有一點想法,有一點理性! [email protected],CSDN首發,

環境:Python 3.7 用到的庫:matplotlib 和 csv

文章目錄

  • 一、前期准備
  • 二、獲取數據
  • 三、可視化處理
  • 四、運行結果
    • 一、折線圖
    • 二、條形圖
  • 五、數據說明
  • 六、某助手停止維護後
    • 1、可視化處理
    • 2、效果
  • 總結

一、前期准備

安裝 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,遇到了各種問題,慢慢地一個個解決,到達自己滿意的效果。

歡迎大佬批評指正

發布者:全棧程序員棧長,轉載請注明出處:https://javaforall.cn/151755.html原文鏈接:https://javaforall.cn


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved