Matplotlib加載csv數據文件進行可視化

一,從本地加載csv文件

from matplotlib import pyplot as plt
import numpy as np
import csv
#用來正常顯示中文標籤
plt.rcParams['font.sans-serif']=['SimHei'] 
#用來正常顯示負號 
plt.rcParams['axes.unicode_minus']=False

#定義兩個空列表存放x,y軸數據點
x=[]
y=[]
with open("csv//matplotlib-demo.csv",'r') as csvfile:
    plots = csv.reader(csvfile, delimiter=',') 
    for row in plots: 
        x.append(int(row[0]))  #從csv讀取的數據是str類型
#         print("x:",x)
        y.append(int(row[1])) 
#         print("y:",y)
#畫折線圖
plt.plot(x,y,label='模擬數據')
plt.xlabel('x') 
plt.ylabel('y')
plt.title('演示從文件加載數據') 
plt.legend() 
plt.show()

結果顯示:
這裏寫圖片描述

二,加載網絡接口數據

import json #解析json數據
import urllib  # 利用urllib.request網絡存取數據 

#利用urllib加載接口數據
url = 'https://api.douban.com/v2/book/1220562'
source_code = urllib.request.urlopen(url).read().decode()
source_code
#通過json.loads()方式將json格式的字符串轉換爲python中的字典數據類型
data = json.loads(source_code)
# type(data)  #dict

#通過data[‘tags’]獲取該鍵所對應的值 
tags = data['tags']
tags
打印結果:
[{'count': 144, 'name': '片山恭一', 'title': '片山恭一'},
 {'count': 70, 'name': '日本', 'title': '日本'},
 {'count': 65, 'name': '日本文學', 'title': '日本文學'},
 {'count': 40, 'name': '小說', 'title': '小說'},
 {'count': 33, 'name': '滿月之夜白鯨現', 'title': '滿月之夜白鯨現'},
 {'count': 17, 'name': '愛情', 'title': '愛情'},
 {'count': 10, 'name': '純愛', 'title': '純愛'},
 {'count': 9, 'name': '外國文學', 'title': '外國文學'}]

plt.figure(figsize=(10,6))

x = []  #存放x軸數據
y = []
#遍歷tags,取到count作爲y軸,name作爲x軸
for tag in tags:
    x.append(tag["name"])
    y.append(tag["count"])
plt.bar(x,y,label="圖書搜索熱詞")
plt.title("圖書熱詞搜索排名")
plt.legend()
plt.xlabel('x軸-搜索熱詞')
plt.ylabel('y軸-搜索熱詞排名')
plt.show()

結果顯示:
這裏寫圖片描述

三,用numpy加載csv數據

x,y = np.loadtxt("csv//matplotlib-demo.csv",delimiter=',',unpack=True)
print("x值:",x,"y值:",y)
打印結果:
x值: [ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10.] 
y值: [5. 3. 4. 7. 4. 3. 5. 7. 4. 4.]

#畫折線圖
plt.plot(x,y,label='模擬數據')
plt.xlabel('x軸') 
plt.ylabel('y軸')
plt.title('Numpy簡化數據加載過程') 
plt.legend() 
plt.show()

結果顯示:
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章