python Matplotlib 系列教程(七)——從檔案載入資料並繪製
阿新 • • 發佈:2019-01-04
本章節我們將要學習如何讀取一個檔案的內容,並根據檔案的內容進行繪製。比如從csv檔案讀取資料,從txt檔案讀取資料等。
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import csv
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"C:\Windows\Fonts\simhei.ttf", size=14)
x = []
y = []
# 開啟example.txt 並且以讀的方式開啟
with open ('example.txt' ,'r') as file:
#用csv去讀檔案 有關csv檔案的格式請自行科譜
#csv去讀取檔案並不只是讀取以.csv結尾的檔案,它只要滿足是分隔資料格式就可以了,以逗號進行分隔的資料
plots = csv.reader(file, delimiter=',')
for row in plots:
x.append(int(row[0]))
y.append(int(row[1]))
plt.plot(x,y,label = 'Loaded from example.txt')
plt.xlabel('x')
plt.ylabel('y' )
plt.title(u'測試從檔案載入資料',FontProperties=font)
plt.legend()
plt.show()
# example.txt文字內容
1,5
2,3
3,4
4,7
5,4
6,3
7,5
8,7
9,4
10,4
我們還可以使用Numpy庫進行處理,它將幫助我們處理更多型別的資料:
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import csv
import numpy as np
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"C:\Windows\Fonts\simhei.ttf" , size=14)
# 我們使用np.loadtxt方法開啟example.txt 同理這個方式可以開啟.csv檔案 .txt檔案 還可以開啟一個python列表物件。
# np.loadtxt()用於從文字載入資料。文字檔案中的每一行必須含有相同的資料格式。
# loadtxt
# (
# fname, 要讀取的檔名、python生成的列表等資料
# dtype=<class 'float'>, 資料型別,預設float。還可以控制每一列的資料型別和精度等資訊。
# comments='#', 註釋
# delimiter=None, 分隔符,資料之間的分隔符,預設是空格 這裡我們用逗號分隔資料
# converters=None,
# skiprows=0, 跳過前幾行讀取,預設是0,必須是int整型
# usecols=None, 要讀取哪些列,0是第一列。例如,usecols = (1,4,5)將提取第2,第5和第6列。預設讀取所有列。
# unpack=False, 如果為True,將分列讀取。
# ndmin=0
# )
np.loadtxt('example.txt', delimiter=',', unpack=True)
plt.plot(x,y,label = 'Loaded from example.txt')
plt.xlabel('x')
plt.ylabel('y')
plt.title(u'測試從檔案載入資料',FontProperties=font)
plt.legend()
plt.show()
執行上述程式碼,我們將得到之前同樣的結果。