Trong bài viết này mình sẽ giới thiệu tới các bạn mẹo nhỏ để tạo những biểu đồ để hiển thị dât của mình trực quan hơn với python. Code python đơn giản vẽ biểu đồ trong python sử dụng thư viện matplotlib.
Cài đặt thư viện vẽ bểu đồ trong python
Matplotlib là thư viện mình dùng để vẽ vậy nên mình sẽ chạy lệnh dưới đây để tự động cài bản mới nhất.
pip install matplotlib
Tiếp theo các bạn tạo file .py và Import thư viện Matplotlib vào bằng lệnh.
import matplotlib.pyplot as plt
Mẫu biểu đồ 1

import matplotlib.pyplot as plt
plt.plot([3000,10000,30000,100000,300000], [10,20,30,40,50], color='blue', label='Selection Sort')
plt.plot([3000,10000,30000,100000,300000], [15,25,35,45,55],color='green', label='Merge Sort')
plt.plot([3000,10000,30000,100000,300000], [20,30,40,50,60],color='red', label='Heap Sort')
plt.plot([3000,10000,30000,100000,300000], [25,35,45,55,65],color='black', label='Quick Sort')
# [3000,10000,30000,100000,300000], [10,20,30,40,50] là các mảng tọa độ x,y
# color hiển thị màu đường đồ thị
# label Chú thích đồ thi
plt.title('Chạy với dữ liệu sắp xếp giảm dần')
# plt.title đặt tên cho biểu đồ
plt.xlabel('Số dữ liệu đầu vào')
plt.ylabel('Thời gian')
# plt.xlabel và plt.ylabel đặt tên trục x,y cho biểu đồ
plt.legend(loc='best') #thêm chú thích
plt.show() # hiển thị biểu đồ
Mẫu biểu đồ 2

import matplotlib.pyplot as plt
plt.plot([5,10,15,20,25], [10,20,30,40,50], 'go', label='GreenDot')
plt.plot([5,10,15,20,25], [15,25,35,45,55], 'b*', label='Bluestart')
plt.plot([5,10,15,20,25], [20,30,40,50,60], 'y*', label='Yellowstart')
# [5,10,15,20,25], [10,20,30,40,50] là các mảng tọa độ x,y
# label Chú thích đồ thi
plt.title('Mẫu biểu đồ 2')
# plt.title đặt tên cho biểu đồ
plt.xlabel('Số dữ liệu đầu vào')
plt.ylabel('Thời gian')
# plt.xlabel và plt.ylabel đặt tên trục x,y cho biểu đồ
plt.legend(loc='best') #thêm chú thích
plt.show() # hiển thị biểu đồ
Để thay đổi kích thức biểu đồ bạn thêm lệnh sau ở trên cùng :
plt.figure(figsize=(8,5)) # 8 là chiều rộng, 5 là chiều cao
Mẫu biểu đồ 3

import matplotlib.pyplot as plt
fig, (ax1,ax2) = plt.subplots( 1, 2, figsize=(6,4), sharey=True, dpi=120)
# subplots() tạo ra 2 biểu đồ
# dpi là độ phân giải
# sharey = True cho phép chia sẻ thuộc tính giữa 2 trục x và y.
ax1.plot([1,2,3,4,5], [1,2,3,4,8], 'go')
ax2.plot([1,2,3,4,5], [3,5,7,9,11], 'b*')
ax1.set(title='GreenDot', xlabel='X', ylabel='Y', xlim=(0,6), ylim=(0,12))
ax1.set(title='Bluestart', xlabel='X', ylabel='Y', xlim=(0,6), ylim=(0,12))
plt.show() # hiển thị biểu đồ