tôi khuyên bạn nên sử dụng 'loadtxt' thực tế trong thư viện NumPy. Có các hàm liên quan trong Matplotlib (csv2rec) nhưng Matplotlib thực sự là chuẩn hóa trên loadtxt.
Dưới đây là cách hoạt động:
from matplotlib import pyplot as PLT
with open('name_of_your_file.csv') as f:
v = NP.loadtxt(f, delimiter=",", dtype='float', comments="#", skiprows=1, usecols=None)
'v', đối tượng trở về từ 'loadtxt', là một n x m NumPy mảng.
'loadtxt' chấp nhận tệp hoặc bộ mô tả tệp. Ví dụ trên có hầu hết chữ ký phương thức. 'skiprows' là số nguyên chỉ định số hàng đếm từ đầu bạn muốn bỏ qua; thông thường đặt nó là "1" để bỏ qua hàng tiêu đề; 'usecols' bắt đầu tại '0' và là danh sách đọc các cột bạn muốn đưa vào ('Không' là mặc định và có nghĩa là 'bao gồm tất cả'). Các tham số khác hoạt động như mong đợi.
Để vẽ một biểu đồ từ dữ liệu này:
from matplotlib import pyplot as PLT
v_hist = NP.ravel(v) # 'flatten' v
fig = PLT.figure()
ax1 = fig.add_subplot(111)
n, bins, patches = ax1.hist(v_hist, bins=50, normed=1, facecolor='green')
PLT.show()
@doug: Rất cám ơn – Arkapravo
bạn nên luôn sử dụng 'genfromtxt' thay vì loadtxt, đặc biệt khi xử lý các tệp lớn, vì nó có cùng hành vi mặc định nhưng có thể nhanh gấp 20 lần. –