Python 使用 numpy 讀取 csv 資料再畫圖

本篇要介紹如何是用 python 搭配 numpy 模組讀取 csv 的資料,之後再用 matplotlib 把資料 plot 畫圖呈現出來。

使用範例

這是 data.csv 的內容如下,

data.csv
1
2
3
4
1,0.1,0.2,0.3,1,2,3,4
2,0.4,0.5,0.6,5,6,7,8
3,0.7,0.8,0.9,9,10,11,12
4,1,1.1,1.2,13,14,15,16

numpy 有提供從檔案取資料的函式叫 genfromtxt(),不用自己寫很方便吧!立馬就拿它來讀取 csv 檔吧!

numpy_plot_example.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt

np1 = np.genfromtxt('data.csv', delimiter=',')
print(np1)

time = np1[:, 0]
data = np1[:, 4]
plt.plot(time, data, label='data')
plt.xlabel('time')
plt.legend()
plt.show()

輸出:

1
2
3
4
[[ 1.   0.1  0.2  0.3  1.   2.   3.   4. ]
[ 2. 0.4 0.5 0.6 5. 6. 7. 8. ]
[ 3. 0.7 0.8 0.9 9. 10. 11. 12. ]
[ 4. 1. 1.1 1.2 13. 14. 15. 16. ]]

畫出來的結果如下圖:

相關主題
Python 使用 matplotlib 畫圖