Lệnh nào được sử dụng để hiển thị biểu đồ trong python?
là tập hợp các hàm giúp matplotlib hoạt động giống như MATLAB. Mỗi hàm plt.plot([1, 2, 3, 4], [1, 4, 9, 16])8 thực hiện một số thay đổi đối với một hình. e. g. , tạo hình, tạo vùng vẽ trong hình, vẽ một số đường trong vùng vẽ, trang trí ô bằng nhãn, v.v. Show
Ở các trạng thái khác nhau được giữ nguyên qua các lệnh gọi hàm, để nó theo dõi những thứ như hình hiện tại và khu vực vẽ đồ thị, đồng thời các hàm vẽ đồ thị được hướng đến các trục hiện tại (xin lưu ý rằng "các trục" ở đây và ở hầu hết các vị trí trong tài liệu đề cập đến Ghi chú API pyplot ẩn thường ít dài dòng hơn nhưng cũng không linh hoạt như API rõ ràng. Hầu hết các lệnh gọi hàm mà bạn thấy ở đây cũng có thể được gọi là các phương thức từ một đối tượng plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()0. Chúng tôi khuyên bạn nên duyệt các hướng dẫn và ví dụ để xem cách thức hoạt động của nó. Xem giải thích về sự đánh đổi của các API người dùng được hỗ trợ Tạo trực quan hóa với pyplot rất nhanh import matplotlib.pyplot as plt plt.plot([1, 2, 3, 4]) plt.ylabel('some numbers') plt.show() Bạn có thể thắc mắc tại sao trục x nằm trong khoảng từ 0-3 và trục y từ 1-4. Nếu bạn cung cấp một danh sách hoặc mảng cho , matplotlib sẽ giả định rằng đó là một chuỗi các giá trị y và tự động tạo các giá trị x cho bạn. Vì phạm vi python bắt đầu bằng 0, nên vectơ x mặc định có cùng độ dài với y nhưng bắt đầu bằng 0. Do đó dữ liệu x là plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()2 là một hàm linh hoạt và sẽ nhận một số đối số tùy ý. Ví dụ, để vẽ đồ thị x so với y, bạn có thể viết plt.plot([1, 2, 3, 4], [1, 4, 9, 16]) Định dạng phong cách cốt truyện của bạnĐối với mỗi cặp đối số x, y, có một đối số thứ ba tùy chọn là chuỗi định dạng cho biết màu và loại đường của biểu đồ. Các chữ cái và ký hiệu của chuỗi định dạng là từ MATLAB và bạn nối một chuỗi màu với một chuỗi kiểu đường kẻ. Chuỗi định dạng mặc định là 'b-', là một đường liền màu xanh lam. Ví dụ: để vẽ biểu đồ ở trên bằng các vòng tròn màu đỏ, bạn sẽ đưa ra plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show() Xem tài liệu để biết danh sách đầy đủ các kiểu đường kẻ và chuỗi định dạng. Hàm trong ví dụ trên lấy danh sách plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()6 và chỉ định chế độ xem của các trục Nếu matplotlib bị giới hạn làm việc với các danh sách, thì nó sẽ khá vô dụng đối với việc xử lý số. Nói chung, bạn sẽ sử dụng mảng có nhiều mảng. Trên thực tế, tất cả các chuỗi được chuyển đổi thành mảng có nhiều mảng bên trong. Ví dụ dưới đây minh họa việc vẽ một số dòng với các kiểu định dạng khác nhau trong một lệnh gọi hàm sử dụng mảng import numpy as np # evenly sampled time at 200ms intervals t = np.arange(0., 5., 0.2) # red dashes, blue squares and green triangles plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^') plt.show() Vẽ sơ đồ với chuỗi từ khóaCó một số trường hợp bạn có dữ liệu ở định dạng cho phép bạn truy cập các biến cụ thể bằng chuỗi. Ví dụ, với hoặc Matplotlib cho phép bạn cung cấp một đối tượng như vậy với đối số từ khóa plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()9. Nếu được cung cấp, thì bạn có thể tạo các ô có chuỗi tương ứng với các biến này data = {'a': np.arange(50), 'c': np.random.randint(0, 50, 50), 'd': np.random.randn(50)} data['b'] = data['a'] + 10 * np.random.randn(50) data['d'] = np.abs(data['d']) * 100 plt.scatter('a', 'b', c='c', s='d', data=data) plt.xlabel('entry a') plt.ylabel('entry b') plt.show() Vẽ đồ thị với các biến phân loạiCũng có thể tạo một biểu đồ bằng cách sử dụng các biến phân loại. Matplotlib cho phép bạn chuyển trực tiếp các biến phân loại tới nhiều hàm vẽ đồ thị. Ví dụ plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()0 Kiểm soát thuộc tính dòngCác dòng có nhiều thuộc tính mà bạn có thể đặt. băng thông, kiểu gạch ngang, khử răng cưa, v.v.; . Có một số cách để đặt thuộc tính dòng
Dưới đây là các thuộc tính có sẵn Tài sản Loại giá trị chữ cái trôi nổi hoạt hình [Thật. Sai] khử răng cưa hoặc aa [Thật. Sai] clip_box một matplotlib. biến đổi. Ví dụ Bbox clip_on [Thật. Sai] clip_path một phiên bản Đường dẫn và một phiên bản Chuyển đổi, một Bản vá màu hoặc c bất kỳ màu matplotlib nào chứa chức năng kiểm tra lượt truy cập dash_capstyle [ import numpy as np # evenly sampled time at 200ms intervals t = np.arange(0., 5., 0.2) # red dashes, blue squares and green triangles plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^') plt.show()9. data = {'a': np.arange(50), 'c': np.random.randint(0, 50, 50), 'd': np.random.randn(50)} data['b'] = data['a'] + 10 * np.random.randn(50) data['d'] = np.abs(data['d']) * 100 plt.scatter('a', 'b', c='c', s='d', data=data) plt.xlabel('entry a') plt.ylabel('entry b') plt.show()0. data = {'a': np.arange(50), 'c': np.random.randint(0, 50, 50), 'd': np.random.randn(50)} data['b'] = data['a'] + 10 * np.random.randn(50) data['d'] = np.abs(data['d']) * 100 plt.scatter('a', 'b', c='c', s='d', data=data) plt.xlabel('entry a') plt.ylabel('entry b') plt.show()1] dash_joinstyle [ data = {'a': np.arange(50), 'c': np.random.randint(0, 50, 50), 'd': np.random.randn(50)} data['b'] = data['a'] + 10 * np.random.randn(50) data['d'] = np.abs(data['d']) * 100 plt.scatter('a', 'b', c='c', s='d', data=data) plt.xlabel('entry a') plt.ylabel('entry b') plt.show()2. data = {'a': np.arange(50), 'c': np.random.randint(0, 50, 50), 'd': np.random.randn(50)} data['b'] = data['a'] + 10 * np.random.randn(50) data['d'] = np.abs(data['d']) * 100 plt.scatter('a', 'b', c='c', s='d', data=data) plt.xlabel('entry a') plt.ylabel('entry b') plt.show()0. data = {'a': np.arange(50), 'c': np.random.randint(0, 50, 50), 'd': np.random.randn(50)} data['b'] = data['a'] + 10 * np.random.randn(50) data['d'] = np.abs(data['d']) * 100 plt.scatter('a', 'b', c='c', s='d', data=data) plt.xlabel('entry a') plt.ylabel('entry b') plt.show()4] dấu gạch ngang trình tự bật/tắt mực theo điểm dữ liệu (np. mảng xdata, np. mảng ydata) nhân vật một matplotlib. nhân vật. ví dụ hình nhãn mác bất kỳ chuỗi nào kiểu dáng hoặc ls [ data = {'a': np.arange(50), 'c': np.random.randint(0, 50, 50), 'd': np.random.randn(50)} data['b'] = data['a'] + 10 * np.random.randn(50) data['d'] = np.abs(data['d']) * 100 plt.scatter('a', 'b', c='c', s='d', data=data) plt.xlabel('entry a') plt.ylabel('entry b') plt.show()5. data = {'a': np.arange(50), 'c': np.random.randint(0, 50, 50), 'd': np.random.randn(50)} data['b'] = data['a'] + 10 * np.random.randn(50) data['d'] = np.abs(data['d']) * 100 plt.scatter('a', 'b', c='c', s='d', data=data) plt.xlabel('entry a') plt.ylabel('entry b') plt.show()6. data = {'a': np.arange(50), 'c': np.random.randint(0, 50, 50), 'd': np.random.randn(50)} data['b'] = data['a'] + 10 * np.random.randn(50) data['d'] = np.abs(data['d']) * 100 plt.scatter('a', 'b', c='c', s='d', data=data) plt.xlabel('entry a') plt.ylabel('entry b') plt.show()7. data = {'a': np.arange(50), 'c': np.random.randint(0, 50, 50), 'd': np.random.randn(50)} data['b'] = data['a'] + 10 * np.random.randn(50) data['d'] = np.abs(data['d']) * 100 plt.scatter('a', 'b', c='c', s='d', data=data) plt.xlabel('entry a') plt.ylabel('entry b') plt.show()8. data = {'a': np.arange(50), 'c': np.random.randint(0, 50, 50), 'd': np.random.randn(50)} data['b'] = data['a'] + 10 * np.random.randn(50) data['d'] = np.abs(data['d']) * 100 plt.scatter('a', 'b', c='c', s='d', data=data) plt.xlabel('entry a') plt.ylabel('entry b') plt.show()9. . ] băng thông hoặc lw giá trị float tính bằng điểm đánh dấu [ plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()00. plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()01. plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()02. plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()03. plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()04. plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()05. plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()06 ] markeredgecolor hoặc mec bất kỳ màu matplotlib nào markeredgewidth hoặc mew giá trị float tính bằng điểm đánh dấufacecolor hoặc mfc bất kỳ màu matplotlib nào kích thước điểm đánh dấu hoặc ms trôi nổi đánh dấu [ Không có. số nguyên. (khởi động, sải chân) ] người hái được sử dụng trong lựa chọn dòng tương tác bán kính hái bán kính lựa chọn chọn dòng solid_capstyle [ import numpy as np # evenly sampled time at 200ms intervals t = np.arange(0., 5., 0.2) # red dashes, blue squares and green triangles plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^') plt.show()9. data = {'a': np.arange(50), 'c': np.random.randint(0, 50, 50), 'd': np.random.randn(50)} data['b'] = data['a'] + 10 * np.random.randn(50) data['d'] = np.abs(data['d']) * 100 plt.scatter('a', 'b', c='c', s='d', data=data) plt.xlabel('entry a') plt.ylabel('entry b') plt.show()0. data = {'a': np.arange(50), 'c': np.random.randint(0, 50, 50), 'd': np.random.randn(50)} data['b'] = data['a'] + 10 * np.random.randn(50) data['d'] = np.abs(data['d']) * 100 plt.scatter('a', 'b', c='c', s='d', data=data) plt.xlabel('entry a') plt.ylabel('entry b') plt.show()1] solid_joinstyle [ data = {'a': np.arange(50), 'c': np.random.randint(0, 50, 50), 'd': np.random.randn(50)} data['b'] = data['a'] + 10 * np.random.randn(50) data['d'] = np.abs(data['d']) * 100 plt.scatter('a', 'b', c='c', s='d', data=data) plt.xlabel('entry a') plt.ylabel('entry b') plt.show()2. data = {'a': np.arange(50), 'c': np.random.randint(0, 50, 50), 'd': np.random.randn(50)} data['b'] = data['a'] + 10 * np.random.randn(50) data['d'] = np.abs(data['d']) * 100 plt.scatter('a', 'b', c='c', s='d', data=data) plt.xlabel('entry a') plt.ylabel('entry b') plt.show()0. data = {'a': np.arange(50), 'c': np.random.randint(0, 50, 50), 'd': np.random.randn(50)} data['b'] = data['a'] + 10 * np.random.randn(50) data['d'] = np.abs(data['d']) * 100 plt.scatter('a', 'b', c='c', s='d', data=data) plt.xlabel('entry a') plt.ylabel('entry b') plt.show()4] biến đổi một matplotlib. biến đổi. Ví dụ chuyển đổi dễ thấy [Thật. Sai] xdữ liệu np. mảng ydata np. mảng thứ tự bất kỳ số nào Để có danh sách các thuộc tính dòng có thể thiết lập, hãy gọi hàm với một hoặc nhiều dòng làm đối số plt.plot([1, 2, 3, 4], [1, 4, 9, 16])4 Làm việc với nhiều hình và trụcMATLAB, và , có khái niệm về hình hiện tại và các trục hiện tại. Tất cả các chức năng vẽ đồ thị áp dụng cho các trục hiện tại. Hàm trả về các trục hiện tại (một thể hiện) và trả về hình hiện tại (một thể hiện). Thông thường, bạn không phải lo lắng về điều này, vì tất cả đã được lo liệu ở hậu trường. Dưới đây là một tập lệnh để tạo hai ô con plt.plot([1, 2, 3, 4], [1, 4, 9, 16])0 Lệnh gọi ở đây là tùy chọn vì một hình sẽ được tạo nếu không tồn tại, giống như một Trục sẽ được tạo (tương đương với lệnh gọi plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()70 rõ ràng) nếu không tồn tại. Cuộc gọi chỉ định plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()72 trong đó plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()73 nằm trong khoảng từ 1 đến plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()74. Dấu phẩy trong cuộc gọi plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()71 là tùy chọn nếu plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()76. Vì vậy, plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()77 giống hệt với plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()78 Bạn có thể tạo số lượng ô con và trục tùy ý. Nếu bạn muốn đặt Trục theo cách thủ công, tôi. e. , không phải trên lưới hình chữ nhật, hãy sử dụng , cho phép bạn chỉ định vị trí là plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()90 trong đó tất cả các giá trị nằm trong tọa độ phân số (0 đến 1). Xem Trình diễn trục để biết ví dụ về cách đặt trục theo cách thủ công và Nhiều ô con để biết . Bạn có thể tạo nhiều hình bằng cách sử dụng nhiều cuộc gọi với số hình tăng dần. Tất nhiên, mỗi hình có thể chứa bao nhiêu trục và ô phụ tùy ý bạn muốn plt.plot([1, 2, 3, 4], [1, 4, 9, 16])1 Bạn có thể xóa hình hiện tại bằng và các trục hiện tại bằng. Nếu bạn cảm thấy khó chịu khi các trạng thái (cụ thể là hình ảnh, hình và trục hiện tại) đang được duy trì ở hậu trường cho bạn, đừng tuyệt vọng. đây chỉ là một trình bao bọc trạng thái mỏng xung quanh một API hướng đối tượng mà bạn có thể sử dụng thay thế (xem Hướng dẫn dành cho nghệ sĩ ) Nếu bạn đang tạo ra nhiều số liệu, bạn cần lưu ý một điều nữa. bộ nhớ cần thiết cho một hình không được giải phóng hoàn toàn cho đến khi hình được đóng rõ ràng bằng. Xóa tất cả các tham chiếu đến hình và/hoặc sử dụng trình quản lý cửa sổ để tắt cửa sổ mà hình xuất hiện trên màn hình là không đủ, vì pyplot duy trì các tham chiếu bên trong cho đến khi được gọi Làm việc với văn bảncó thể được sử dụng để thêm văn bản vào một vị trí tùy ý và , và được sử dụng để thêm văn bản vào các vị trí được chỉ định (xem Văn bản trong Lô Matplotlib for a more detailed example) plt.plot([1, 2, 3, 4], [1, 4, 9, 16])2 Tất cả các chức năng trả về một thể hiện. Cũng giống như các dòng trên, bạn có thể tùy chỉnh các thuộc tính bằng cách chuyển các đối số từ khóa vào các hàm văn bản hoặc sử dụng plt.plot([1, 2, 3, 4], [1, 4, 9, 16])3 Các thuộc tính này được trình bày chi tiết hơn trong Các thuộc tính và bố cục văn bản . Sử dụng biểu thức toán học trong văn bảnmatplotlib chấp nhận các biểu thức phương trình TeX trong bất kỳ biểu thức văn bản nào. Ví dụ: để viết biểu thức \(\sigma_i=15\) trong tiêu đề, bạn có thể viết biểu thức TeX được bao quanh bởi các ký hiệu đô la. plt.plot([1, 2, 3, 4], [1, 4, 9, 16])4 _______443 trước chuỗi tiêu đề rất quan trọng -- nó biểu thị rằng chuỗi đó là một chuỗi thô và không coi các dấu gạch chéo ngược là dấu gạch chéo ngược khi trăn thoát. matplotlib có một trình phân tích cú pháp biểu thức TeX tích hợp sẵn và công cụ bố cục, đồng thời cung cấp các phông chữ toán học của riêng nó -- để biết chi tiết, hãy xem Viết biểu thức toán học . Do đó, bạn có thể sử dụng văn bản toán học trên nhiều nền tảng mà không cần cài đặt TeX. Đối với những người đã cài đặt LaTeX và dvipng, bạn cũng có thể sử dụng LaTeX để định dạng văn bản của mình và kết hợp đầu ra trực tiếp vào số liệu hiển thị hoặc phần tái bút đã lưu -- xem Kết xuất văn bản bằng LaTeX. Chú thích văn bảnViệc sử dụng chức năng cơ bản ở trên đặt văn bản ở một vị trí tùy ý trên Trục. Một cách sử dụng phổ biến cho văn bản là chú thích một số tính năng của cốt truyện và phương thức này cung cấp chức năng của trình trợ giúp để tạo chú thích dễ dàng. Trong một chú thích, có hai điểm cần xem xét. vị trí được chú thích được đại diện bởi đối số plt.plot([1, 2, 3, 4], [1, 4, 9, 16])46 và vị trí của văn bản plt.plot([1, 2, 3, 4], [1, 4, 9, 16])47. Cả hai đối số này đều là bộ dữ liệu plt.plot([1, 2, 3, 4], [1, 4, 9, 16])48 plt.plot([1, 2, 3, 4], [1, 4, 9, 16])5 Trong ví dụ cơ bản này, cả vị trí plt.plot([1, 2, 3, 4], [1, 4, 9, 16])46 (đầu mũi tên) và plt.plot([1, 2, 3, 4], [1, 4, 9, 16])47 (vị trí văn bản) đều nằm trong tọa độ dữ liệu. Có nhiều hệ tọa độ khác mà người ta có thể chọn -- xem và để biết chi tiết. Bạn có thể tìm thấy nhiều ví dụ hơn trong Các ô chú thích . Logarit và các trục phi tuyến tính kháchỗ trợ không chỉ thang đo trục tuyến tính, mà cả thang đo logarit và logit. Điều này thường được sử dụng nếu dữ liệu kéo dài nhiều bậc độ lớn. Thay đổi tỷ lệ của một trục là dễ dàng Cái gì được sử dụng để vẽ đồ thị trong Python?Matplotlib cung cấp gói pyplot được sử dụng để vẽ đồ thị của dữ liệu đã cho. matplotlib. pyplot là một tập hợp các hàm kiểu lệnh giúp matplotlib hoạt động giống như MATLAB
Có thể sử dụng hàm Matplotlib nào để hiển thị biểu đồ ra màn hình?Nếu bạn đang sử dụng Matplotlib từ bên trong tập lệnh, chức năng plt. show() là bạn của bạn. |