1
Làm thế nào để vẽ biểu đồ sử dụng matplotlib trong Jupyter Notebook?
0
Anh Ba Tía0 đã đăng:

Giả sử mình có tập dữ liệu được tạo ra ngẫu nhiên từ hàm random của thư viện numpy, bây giờ mình muốn dùng biểu đồ để thể hiện dữ liệu đó dưới dạng đồ họa với mục đích đánh giá dữ liệu dễ dàng hơn bằng thư viện matplotlib, mình newbie nên chưa biết nhiều cú pháp của matplotlib, bạn nào sử dụng qua rồi có thể ví dụ vài trường hợp không ạ?

thêm bình luận...
3
Minh Thắng60 đã đăng:

Rất đơn giản, bạn có thể sử dụng mô-đun vẽ đồ thị pylot của matplotlib để biểu diễn bất cứ dữ liệu nào bạn muốn, tất cả tài liệu ví dụ đều có đầy đủ trên trang chủ matplotlib bạn nên tham khảo,

Cơ bản khi sử dụng pylot là bạn cần cung cấp tọa độ các điểm x và y tương tự như trong đồ thị Oxy, ví dụ dữ liệu bạn random từ thư viện numpy thì xem đó là dữ liệu của trục Oy, muốn vẽ được trên pylot bạn sẽ phải tạo thêm cột dữ liệu của trục Ox nữa, sử dụng hàm range() trong Python rất dễ dàng,

import numpy as np
import matplotlib.pyplot as plt

# Tạo ngẫu nhiên dữ liệu theo phân phối chuẩn
data_random = np.random.randn(100)

# Tạo trục Ox,
# Dữ liệu trên trục Ox = dữ liệu trên trục Oy
ox = range(len(data_random))
oy = data_random

# Vẽ đồ thị
plt.plot(ox, oy)
plt.title(u"Dữ liệu được tạo ngẫu nhiên theo phân phối chuẩn")
plt.show()

Kết quả hiển thị,

Đồ thị sử dụng pylot

Một số đồ thị khác bạn có thể tham khảo,

Đồ thị hàm Sin

import numpy as np
import matplotlib.pyplot as plt

ox = np.arange(0, 10, 0.2);
oy = np.sin(ox)
plt.plot(ox, oy)
plt.title(u'Đồ thị hàm Sin')
plt.show()

Kết quả hiển thị,

Đồ thị hàm Sin

Đồ thị hình Sin dạng điểm

Tương tự như trên, thay đoạn mã nguồn plt.plot(ox, oy) thành plt.plot(ox, oy, 'o'),

Đồ thị hàm Sin dạng điểm

Đồ thị 3D của hàm số $x^2 + y^2$

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D

ox = np.arange(-5, 5, 0.25)
oy = np.arange(-5, 5, 0.25)
ox, oy = np.meshgrid(ox, oy)
oz = ox**2 + oy**2 # Hàm số z = x^2 + y^2

fig = plt.figure()
graph = Axes3D(fig)
graph.plot_surface(ox, oy, oz, cmap=cm.magma)

plt.show()

Kết quả hiển thị,

Đồ thị 3D của hàm số x^2 + y^2

Hope it help :))

Chính xác thứ mình cần, cảm ơn bạn rất nhiều.

Anh Ba Tía 08.06.2018
thêm bình luận...
Bạn đang thắc mắc? Ghi câu hỏi của bạn và đăng ở chế độ cộng đồng (?)