Tag Archives: matplotlib

Vẽ biểu đồ với thư viện Matplotlib

Đây là một thư viện khá là mạnh mẽ trong việc tạo biểu đồ với Python. Để bắt đầu với nó chúng ta cần install nó. Nếu cài Anaconda thì nó đã có sẵn rồi! Ở đây tôi xài Jupyter notebook của Anoconda để code! (Nếu trên máy đã có Anaconda thì ta chỉ việc Run->powershell và cd đến thư mục muốn làm việc rồi gõ jupyter notebook và tạo một file để code!).
Nếu bạn muốn xài IDE khác để code thì có thể tham khảo link sau:
https://heoublog.wordpress.com/2016/09/27/cong-cu-de-lap-trinh-python/

Let’s start!

import matplotlib.pyplot as plt

# Từ điển chứa danh sách các món ăn và số người thích
Food_counts = {'Fish': 10, 'Meat': 20, 'Egg': 50, 'Milk': 30, 'Crab': 40}

# Chuẩn bị dữ liệu:
# Sort Số lượng người thích (giảm dần)
Counts = sorted(Food_counts.values(), reverse=True)
# Sort các món ăn dựa vào số lượng người thích (giảm dần)
Foods = sorted(Food_counts, key=Food_counts.__getitem__, reverse=True)

# Chỉ số các món ăn
ind_Foods= range(len(Food_counts))

# Vẽ biểu đồ cột
plt.bar(ind_Foods, Counts, align='center')
plt.xticks(ind_Foods, Foods)

# Label x, y axit
plt.xlabel('Foods')
plt.ylabel('Count (like)')
# Label title of bar char
plt.title('FOOD WHICH PEOPLE LIKE')

# Thêm các giá trị trên mỗi cột
for x, y in zip(ind_Foods, Counts):
    plt.text(x+0.02, y+0.05, '%d' % y, ha='center', va= 'bottom')

# Tăng trục y thêm 20 đơn vị
plt.ylim(0, Counts[0] + 20)

# Cuối cùng là show kết quả!!!
plt.show()

Kêt quả:

Đây chỉ là một ví dụ nho nhỏ nhưng khá hữu ích nếu bạn muốn thống kê một điều gì đó trong cuộc sống!!! Ngoài biểu đồ cột ra còn có khá là nhiều biểu đồ khác thú vị hơn.

Sau đây là một số link hướng dẫn, tham khảo nếu bạn có ý định tìm hiểu về thư viện này:
Matplotlib gallery:
http://www.labri.fr/perso/nrougier/coding/gallery/
Một thư viện ví dụ đồ sộ về matplotlib:
http://matplotlib.org/gallery.html
https://plot.ly/matplotlib/
——— Have fun! ——–

Advertisements