1. 程式人生 > >python Matplotlib 系列教程(七)——從檔案載入資料並繪製

python Matplotlib 系列教程(七)——從檔案載入資料並繪製

本章節我們將要學習如何讀取一個檔案的內容,並根據檔案的內容進行繪製。比如從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()

執行上述程式碼,我們將得到之前同樣的結果。