Python có khả năng tạo đồ thị bằng cách sử dụng thư viện matplotlib. Nó có nhiều gói và chức năng tạo ra nhiều loại đồ thị và đồ thị. Nó cũng rất đơn giản để sử dụng. Nó cùng với numpy và các chức năng tích hợp sẵn khác của python đạt được mục tiêu. Trong bài viết này, chúng ta sẽ thấy một số loại biểu đồ khác nhau mà nó có thể tạo ra.
Đồ thị đơn giản
Ở đây chúng ta sử dụng một hàm toán học để tạo ra các tọa độ x và Y của đồ thị. Sau đó, chúng tôi sử dụng matplotlib để vẽ đồ thị cho hàm đó. Tại đây chúng ta có thể dán nhãn và hiển thị tiêu đề của đồ thị như hình dưới đây. Chúng tôi đang vẽ đồ thị cho hàm số lượng giác - tan.
Ví dụ
from matplotlib import pyplot as plt import numpy as np import math #needed for definition of pi x = np.arange(0, math.pi*2, 0.05) y = np.tan(x) plt.plot(x,y) plt.xlabel("angle") plt.ylabel("Tan value") plt.title('Tan wave') plt.show()
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Nhiều ô
Chúng ta có thể có hai hoặc nhiều ô trên một khung vẽ bằng cách tạo nhiều trục và sử dụng chúng trong chương trình.
Ví dụ
import matplotlib.pyplot as plt import numpy as np import math x = np.arange(0, math.pi*2, 0.05) fig=plt.figure() axes1 = fig.add_axes([0.1, 0.1, 0.8, 0.8]) # main axes axes2 = fig.add_axes([0.55, 0.55, 0.3, 0.3]) # inset axes axes3 = fig.add_axes([0.2, 0.3, 0.2, 0.3]) # inset axes axes1.plot(x, np.sin(x), 'b') axes2.plot(x,np.cos(x),'r') axes3.plot(x,np.tan(x),'g') axes1.set_title('sine') axes2.set_title("cosine") axes3.set_title("tangent") plt.show()
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Lưới các ô con
Chúng ta cũng có thể tạo một lưới chứa các biểu đồ khác nhau, mỗi biểu đồ là một ô con. Đối với điều này, chúng tôi sử dụng hàm subplot2grid. Ở đây chúng ta phải chọn các trục một cách cẩn thận để tất cả các ô phụ có thể vừa với lưới. Có thể cần một chút đánh một chút.
Ví dụ
import matplotlib.pyplot as plt a1 = plt.subplot2grid((3,3),(0,0),colspan = 2) a2 = plt.subplot2grid((3,3),(0,2), rowspan = 3) a3 = plt.subplot2grid((3,3),(1,0),rowspan = 2, colspan = 2) import numpy as np x = np.arange(1,10) a2.plot(x, x*x,'r') a2.set_title('square') a1.plot(x, np.exp(x),'b') a1.set_title('exp') a3.plot(x, np.log(x),'g') a3.set_title('log') plt.tight_layout() plt.show()
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau:
Ô đường viền
Đồ thị đường bao (đôi khi được gọi là Đồ thị mức) là một cách để thể hiện một bề mặt ba chiều trên một mặt phẳng hai chiều. Nó vẽ biểu đồ hai biến dự báo X Y trên trục y và một biến phản ứng Z dưới dạng đường viền.Matplotlib chứa các hàm contour () và contourf () lần lượt vẽ các đường đồng mức và các đường bao đầy.
Ví dụ
import numpy as np import matplotlib.pyplot as plt xlist = np.linspace(-3.0, 3.0, 100) ylist = np.linspace(-3.0, 3.0, 100) X, Y = np.meshgrid(xlist, ylist) Z = np.sqrt(X**2 + Y**2) fig,ax=plt.subplots(1,1) cp = ax.contourf(X, Y, Z) fig.colorbar(cp) # Add a colorbar to a plot ax.set_title('Filled Contours Plot') #ax.set_xlabel('x (cm)') ax.set_ylabel('y (cm)') plt.show()
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau: