Hướng dẫn dùng plt.show python
Bạn có thể coi
7đối tượng như một thùng chứa giống như hộp chứa một hoặc nhiều 8(ô thực tế). Bên dưới 8trong hệ thống phân cấp là các đối tượng nhỏ hơn như dấu tích, dòng riêng lẻ, chú giải và hộp văn bản. Hầu hết mọi “phần tử” của biểu đồ đều là đối tượng Python có thể thao tác của riêng nó, tất cả các dấu tích và nhãn: Python được sử dụng nhiều nhất trong lĩnh vực phân tích dữ liệu, mà trong khoa học dữ liệu, công việc trực tiếp hóa thông tin qua các thị đồ, biểu đồ giúp chúng tôi hiểu được các mối quan hệ trong dữ liệu dễ dàng hơn rất nhiều. Matplotlib là một thư viện được sử dụng để vẽ các thị đồ trong Python Matplotlib là thư viện trực quan hóa dữ liệu kết hợp trong Python. Nó được tạo ra bởi John Hunter. Đây là một thư viện đồ họa 2D và 3D tuyệt vời để tạo ra các số liệu khoa học. Bạn có thể tìm hiểu thêm tại đây: http://matplotlib.org/ Nào! Giờ chúng ta sẵn sàng để học nó rồi chứ, trước khi bắt đầu, bạn hãy mở google colab và import thư viện này vào nhé! import matplotlib.pyplot as plt Trong google colab mặc định thư viện này đã được cài sẵn, nếu bạn sử dụng trên VS Code hay trên pycharm nhớ cài đặt bằng nhé pip install matplotlib Nếu bạn đang sử dụng Jupiter notebook hãy thêm dòng lệnh này vào để hiển thị trong các ô output %matplotlib inline Nếu bạn đang sử dụng trình soạn thảo khác, bạn sẽ sử dụng: plt.show () ở cuối tất cả các lệnh vẽ biểu đồ của mình để hình hiển thị Rồi, bây giờ chúng ta tìm hiểu về nó. Đầu tiên để vẽ biểu đồ, ta cần dữ liệu, ta tạo 2 mảng numpy để lấy dữ liệu thực hành nhé! import numpy as np x = np.linspace(0, 5, 11) y = x ** 2 Vẽ biểu đồ đơn giản bằng Matplotlib Chúng ta có thể tạo một biểu đồ line rất đơn giản bằng cách sử dụng cách sau plt.plot(x, y, 'r') # 'r' là màu đỏ plt.xlabel('X Axis Title Here') plt.ylabel('Y Axis Title Here') plt.title('String Title Here') Output: Tạo nhiều đồ thị trên cùng một biểu đồ Để tạo như vậy ta dùng hàm subplot(), với đối số đầu tiên là số dòng, đối số thứ 2 là số cột, và đối số thứ 3 là vị trí biểu đồ, bắt đầu từ vị trí 1 plt.subplot(1,2,1) plt.plot(x, y, 'r--') # More on color options later plt.subplot(1,2,2) plt.plot(y, x, 'g*-'); Output: Vẽ theo phương pháp hướng đối tượng Matplotlib Điều này có nghĩa là chúng ta sẽ khởi tạo các đối tượng biểu đồ và sau đó gọi các phương thức hoặc thuộc tính từ đối tượng đó. Cách tiếp cận này sẽ đẹp hơn khi xử lý một biểu đồ có nhiều đồ thị trên đó. Để bắt đầu, chúng ta tạo một ví dụ biểu đồ. Sau đó, chúng ta có thể thêm các trục vào biểu đồ đó: # Tạo một đối tượng figure(biểu đồ trống) fig = plt.figure() axes = fig.add_axes([0.1, 0.1, 0.8, 0.8])# left, bottom, width, height (khoảng từ 0 đến 1) print(axes) Output: ta có một khung cho biểu đồ trống Sau đó ta vẽ biểu đồ vào đối tượng vừa tạo axes.plot(x, y, 'b') axes.set_xlabel('Set X Label') # Notice the use of set_ to begin methods axes.set_ylabel('Set y Label') axes.set_title('Set Title') Output: Giờ phức tạp hơn một chút nhé, nhưng ưu điểm là giờ đây chúng ta có toàn quyền kiểm soát vị trí đặt các trục của khung biểu đồ và chúng ta có thể dễ dàng thêm nhiều trục vào fig = plt.figure()# Khai báo một đối tượng cho biểu đồ axes1 = fig.add_axes([0.1, 0.1, 0.8, 0.8]) #khai báo Trục chính axes2 = fig.add_axes([0.2, 0.5, 0.4, 0.3]) # Khai báo trục thêm vào # đối tượng Figure chính Axes 1 axes1.plot(x, y, 'b') axes1.set_xlabel('X_label_axes2') axes1.set_ylabel('Y_label_axes2') axes1.set_title('Axes 2 Title') # đối tượng Figure thêm vào Axes 2 axes2.plot(y, x, 'r') axes2.set_xlabel('X_label_axes2') axes2.set_ylabel('Y_label_axes2') axes2.set_title('Axes 2 Title'); Output: Đối tượng subplot() Đối tượng plt.subplots () sẽ hoạt động như một trình quản lý trục tự động hơn. Ta có thể khai báo luôn đối tượng axes ngay trong subplot fig, axes = plt.subplots()# Khai báo một đối tượng subplot # Bây giờ ta có thể sử dụng đối tượng axes để vẽ đồ thị axes.plot(x, y, 'r') axes.set_xlabel('x') axes.set_ylabel('y') axes.set_title('title'); Output: Ta có thể chỉ định số hàng và cột khi tạo đối tượng subplots (): pip install matplotlib0 Output: Ta có thể lặp qua mảng axes để vẽ pip install matplotlib1 Output: Một vấn đề phổ biến với matplotlib là các ô hoặc số liệu con chồng chéo lên nhau. Chúng ta có thể sử dụng phương thức fig.tight_layout () hoặc plt.tight_layout (), tự động điều chỉnh vị trí của các trục trên canvas hình để không có nội dung chồng chéo: pip install matplotlib2 Output: Bạn thấy biểu đồ bên dưới đã được tự động nới ra, không bị chồng chéo chữ “y” lên biểu đồ đầu tiên Kích thước biểu đồ và độ nét ảnh biểu đồ (DPI) Matplotlib cho phép xác định kích thước hình ảnh, DPI khi đối tượng biểu đồ được tạo. Bạn có thể sử dụng các đối số từ khóa figsize và dpi. DPI càng cao, hình ảnh càng nét và dung lượng cũng tăng theo, thông thường ta nên để dpi mặc định, hoặc trong khoảng từ 100 đến 200 dpi Chiều rộng và chiều cao figsize được tính bằng inch pip install matplotlib3 Output: Ta thấy kích thước biểu đồ lớn ra. Lưu biểu đồ ta dùng lệnh savefig để lưu lại biểu đồ đã vẽ, với đường dẫn và tên file ảnh pip install matplotlib4 Tại đây, chúng ta cũng có thể tùy chọn chỉ định DPI và chọn giữa các định dạng đầu ra khác nhau: pip install matplotlib5 Nhãn và tiêu đề biểu đồ Một tiêu đề có thể được thêm vào mỗi trường hợp trục trong một hình. Để đặt tiêu đề, hãy sử dụng phương thức set_title pip install matplotlib6 Tương tự, với các phương thức set_xlabel và set_ylabel, chúng ta có thể đặt nhãn của trục X và Y: pip install matplotlib7 Hàm Legend Phương thức này sẽ hiển thị chú giải trong biểu đồ pip install matplotlib8 Output: Màu sắc, kiểu đường vẽ và chiều rộng đường vẽMàu sắc Với matplotlib, chúng ta có thể xác định màu sắc của đường thẳng và các yếu tố đồ họa khác theo một số cách. Trước hết, chúng ta có thể sử dụng cú pháp giống MATLAB trong đó ‘b’ có nghĩa là màu xanh lam, ‘g’ có nghĩa là màu xanh lá cây, v.v. API MATLAB để chọn kiểu dòng cũng được hỗ trợ: ví dụ: trong đó, ‘b.-‘ có nghĩa là a đường màu xanh lam với các dấu chấm pip install matplotlib9 Output: Chúng ta có thể thêm màu sắc theo các cách sau %matplotlib inline0 Độ rộng và kiểu line Để thay đổi độ rộng dòng, chúng ta có thể sử dụng đối số từ khóa line width hoặc lw. Kiểu dòng có thể được chọn bằng cách sử dụng các đối số từ khóa linestyle hoặc ls: Chúng ta sẽ tham khảo các lệnh vẽ dưới đây để tiện khi sử dụng %matplotlib inline1 Output: Phóng to biểu đồ Chúng ta có thể cấu hình phạm vi của các trục bằng cách sử dụng phương thức set_ylim và set_xlim trong đối tượng trục. Xem qua ví dụ ba đồ thị bên dưới đây bạn sẽ dễ hiểu hơn. %matplotlib inline2 Output: Các dạng biểu đồ trong matplotlibNgoài biểu đồ line mà ta đã học phía trên, ta còn có các dạng biểu đồ như barplots, histograms, scatter plots… những biểu đồ dạng này ta nên vẽ trong seaborn, nhưng ta cũng xem qua cho biết |