Làm thế nào để bạn vẽ dữ liệu trong danh sách python?

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
7 là tập hợp các hàm giúp matplotlib hoạt độ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.

Trong

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
7, các trạng thái khác nhau được giữ nguyên qua các lần gọi hàm, để nó theo dõi những thứ như hình và vùng vẽ hiện tại, đồ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à trong . part of a figure and not the strict mathematical term for more than one axis).

Ghi chú

API pyplot ngầm thường ít dài dòng hơn nhưng cũng không linh hoạt bằng 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 Giao diện ứng dụng Matplotlib (API) để biết 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()

Làm thế nào để bạn vẽ dữ liệu trong danh sách python?

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

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
1, 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

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
1 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])

Làm thế nào để bạn vẽ dữ liệu trong danh sách python?

Định dạng kiểu 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()

Làm thế nào để bạn vẽ dữ liệu trong danh sách python?

Xem tài liệu

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
1 để biết danh sách đầy đủ các kiểu đường kẻ và chuỗi định dạng. Hàm
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
5 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

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
3

Làm thế nào để bạn vẽ dữ liệu trong danh sách python?

Vẽ đồ thị với chuỗi từ khóa#

Có 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

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
7 hoặc
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
8

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

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
7

Làm thế nào để bạn vẽ dữ liệu trong danh sách python?

Vẽ đồ thị với các biến phân loại#

Cũ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])
8

Làm thế nào để bạn vẽ dữ liệu trong danh sách python?

Kiểm soát thuộc tính dòng #

Cá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

  • Sử dụng đối số từ khóa

    plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
    
    0

  • Sử dụng các phương thức setter của phiên bản

    plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
    
    31.
    plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
    plt.axis([0, 6, 0, 20])
    plt.show()
    
    1 trả về danh sách các đối tượng
    plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
    
    31; . g. ,
    plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
    
    34. Trong đoạn mã dưới đây, chúng tôi sẽ giả sử rằng chúng tôi chỉ có một dòng để danh sách được trả về có độ dài 1. Chúng tôi sử dụng giải nén tuple với
    plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
    
    35 để lấy phần tử đầu tiên của danh sách đó

    plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
    
    6

  • Sử dụng

    plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
    
    36. Ví dụ dưới đây sử dụng hàm kiểu MATLAB để đặt nhiều thuộc tính trên danh sách các dòng.
    plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
    
    36 hoạt động minh bạch với một danh sách các đối tượng hoặc một đối tượng. Bạn có thể sử dụng các đối số từ khóa python hoặc các cặp giá trị/chuỗi kiểu MATLAB

    plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
    
    9

Dưới đây là các tài sản

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
31 có sẵn

Tài sản

Loại giá trị

chữ cái

trôi nổi

hoạt hình

[ĐÚNG VẬY. Sai]

khử răng cưa hoặc aa

[ĐÚNG VẬY. Sai]

clip_box

một matplotlib. biến đổi. Ví dụ Bbox

clip_on

[ĐÚNG VẬY. 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

[

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
39.
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
70.
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
71]

dash_joinstyle

[

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
72.
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
70.
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
74]

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

[

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
75.
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
76.
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
77.
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
78.
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
79. . ]

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])
80.
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
81.
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
82.
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
83.
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
84.
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
85.
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
86 ]

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

[

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
39.
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
70.
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
71]

solid_joinstyle

[

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
72.
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
70.
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
74]

biến đổi

một matplotlib. biến đổi. Ví dụ chuyển đổi

có thể nhìn thấy

[ĐÚNG VẬY. 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 đường có thể thiết lập, hãy gọi hàm

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
36 với một hoặc nhiều đường làm đối số

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
6

Làm việc với nhiều hình và trục#

MATLAB, và

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
8, 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
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
05 trả về các trục hiện tại (đối tượng
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
06) và hàm
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
07 trả về hình hiện tại (đối tượng
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
08). 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àm thế nào để bạn vẽ dữ liệu trong danh sách python?

Lệnh gọi

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
09 ở đâ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])
60 rõ ràng) nếu không tồn tại. Cuộc gọi
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
61 chỉ định
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
62 trong đó
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
63 nằm trong khoảng từ 1 đến
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
64. Dấu phẩy trong cuộc gọi
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
61 là tùy chọn nếu
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
66. Vì vậy,
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
67 giống hệt với
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
68

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

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
69, cho phép bạn chỉ định vị trí là
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
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

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
09 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

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
92 và các trục hiện tại bằng
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
93. 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 bao 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

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
94. 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
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
94 được gọi

Làm việc với văn bản#

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
96 có thể được sử dụng để thêm văn bản vào một vị trí tùy ý và
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
97,
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
98 và
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
99 đượ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 Ô Matplotlib for a more detailed example)

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
2

Làm thế nào để bạn vẽ dữ liệu trong danh sách python?

Tất cả các hàm

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
96 đều trả về một thể hiện
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
61. 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])
36

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ản#

matplotlib 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

_______563 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ản#

Việc sử dụng hàm

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
96 cơ bản ở trên đặt văn bản ở 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 pháp
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
65 cung cấp chức năng 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], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
66 và vị trí của văn bản
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
67. Cả hai đối số này đều là bộ dữ liệu
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
68

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
5

Làm thế nào để bạn vẽ dữ liệu trong danh sách python?

Trong ví dụ cơ bản này, cả vị trí

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
66 (đầu mũi tên) và
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
67 (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 Chú thích cơ bảnChú thích nâng cao for details. More examples can be found in Chú thích ô .

Các trục logarit và phi tuyến tính khác#

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
7 không chỉ hỗ trợ thang đo trục tuyến tính mà còn 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

Bạn có thể vẽ đồ thị bằng Python không?

Có thể vẽ đồ thị trong Python bằng cách sử dụng thư viện Matplotlib . Thư viện Matplotlib chủ yếu được sử dụng để vẽ biểu đồ. Bạn cần cài đặt matplotlib trước khi sử dụng nó để vẽ đồ thị. Matplotlib được sử dụng để vẽ một đường đơn giản, biểu đồ thanh, biểu đồ và biểu đồ hình tròn.

Bạn có thể vẽ đồ thị với NumPy không?

Để vẽ đồ thị bằng Python, chúng ta sẽ sử dụng thư viện Matplotlib. Matplotlib được sử dụng cùng với dữ liệu NumPy để vẽ bất kỳ loại biểu đồ nào . Từ matplotlib, chúng tôi sử dụng chức năng cụ thể i. e. pyplot(), được sử dụng để vẽ dữ liệu hai chiều.