python 繪製百度實時統計柱狀圖
阿新 • • 發佈:2019-08-08
import csv
import matplotlib.pyplot as plt
import jieba.analyse
def autolabel(rects):
for rect in rects:
height = rect.get_height()
plt.text(rect.get_x()+rect.get_width()/2, height, height, ha='center', va='bottom')
filename = 'm.csv'
seacherWord=""
num=20
# 開啟檔案
with open(filename,'r',encoding='UTF-8') as f:
reader = csv.reader(f)
# 讀取表頭資料。
header_row = next(reader)
for row in reader:
seacherWord=seacherWord+row[5]
#結巴分詞
tags = jieba.analyse.extract_tags(seacherWord, topK=num, withWeight=False)
with open(filename,'r',encoding='UTF-8') as f:
reader = csv.reader(f)
# 讀取表頭資料。
header_row = next(reader)
visitTime=list(range(num))
visitNum=list(range(num))
for row in reader:
for i in range(len(tags)):
if tags[i] in row[5]:
if (row[10] !="未知") and (row[10] !="正在訪問s") and (row[10] !=" "):
visitNum[i] += 1
visitTime[i] += int(row[10].rstrip('s'))
print(tags)
print(visitNum)
print(visitTime)
plt.rc('font', family='SimHei', size=8)#設定中文顯示,否則出現亂碼!
a=plt.bar(range(len(visitTime)), visitTime, color='rgby', tick_label=tags)
autolabel(a)
plt.title('PC搜尋最多關鍵字的瀏覽時間/秒')
plt.legend()
plt.show()