Biểu đồ matlib Python
Matplotlib có lẽ là gói Python được sử dụng nhiều nhất cho đồ họa 2D. Nó cung cấp cả một cách nhanh chóng để trực quan hóa dữ liệu từ Python và các số liệu chất lượng xuất bản ở nhiều định dạng. Chúng ta sẽ khám phá matplotlib ở chế độ tương tác bao gồm hầu hết các trường hợp phổ biến Show
1. 5. 1. 1. Các chế độ IPython, Jupyter và matplotlib¶Mẹo Sổ ghi chép Jupyter và Python tương tác nâng cao IPython, được điều chỉnh cho quy trình tính toán khoa học bằng Python, kết hợp với Matplotlib Đối với các phiên matplotlib tương tác, hãy bật chế độ matplotlib Bảng điều khiển IPython.Khi sử dụng bảng điều khiển IPython, hãy sử dụng In [1]: %matplotlibmáy tính xách tay jupyter. Trong cuốn sổ, hãy chèn vào đầu cuốn sổ phép thuật sau %matplotlib inline 1. 5. 1. 2. pyplot¶Mẹo pyplot cung cấp giao diện thủ tục cho thư viện vẽ đồ thị hướng đối tượng matplotlib. Nó được mô phỏng chặt chẽ sau Matlab™. Do đó, phần lớn các lệnh vẽ đồ thị trong pyplot đều có các lệnh tương tự Matlab™ với các đối số tương tự. Các lệnh quan trọng được giải thích bằng các ví dụ tương tác from matplotlib import pyplot as plt 1. 5. 2. Cốt truyện đơn giản¶Mẹo Trong phần này, chúng ta muốn vẽ các hàm cosin và sin trên cùng một đồ thị. Bắt đầu từ cài đặt mặc định, chúng tôi sẽ từng bước làm phong phú thêm hình để làm cho hình đẹp hơn Bước đầu tiên là lấy dữ liệu cho các hàm sin và cosin import numpy as np X = np.linspace(-np.pi, np.pi, 256) C, S = np.cos(X), np.sin(X) import numpy as np X = np.linspace(-np.pi, np.pi, 256) C, S = np.cos(X), np.sin(X)1 hiện là một mảng có nhiều mảng với 256 giá trị nằm trong khoảng từ import numpy as np X = np.linspace(-np.pi, np.pi, 256) C, S = np.cos(X), np.sin(X)2 là cosin (256 giá trị) và import numpy as np X = np.linspace(-np.pi, np.pi, 256) C, S = np.cos(X), np.sin(X)3 là sin (256 giá trị). Để chạy ví dụ, bạn có thể nhập chúng vào phiên tương tác IPython $ ipython --matplotlib Điều này đưa chúng ta đến dấu nhắc IPython ________số 8 Mẹo Bạn cũng có thể tải xuống từng ví dụ và chạy nó bằng python thông thường, nhưng bạn sẽ mất thao tác dữ liệu tương tác $ python plot_exercise_1.py Bạn có thể lấy nguồn cho từng bước bằng cách nhấp vào hình tương ứng 1. 5. 2. 1. Vẽ sơ đồ với cài đặt mặc định¶Gợi ý Tài liệu
Mẹo Matplotlib đi kèm với một bộ cài đặt mặc định cho phép tùy chỉnh tất cả các loại thuộc tính. Bạn có thể kiểm soát giá trị mặc định của hầu hết mọi thuộc tính trong matplotlib. kích thước hình và dpi, độ rộng đường, màu sắc và kiểu dáng, trục, thuộc tính trục và lưới, thuộc tính văn bản và phông chữ, v.v. %matplotlib inline1 1. 5. 2. 2. Khởi tạo giá trị mặc định¶Gợi ý Tài liệu
Trong tập lệnh bên dưới, chúng tôi đã khởi tạo (và nhận xét) tất cả các cài đặt hình ảnh hưởng đến sự xuất hiện của cốt truyện Mẹo Các cài đặt đã được đặt rõ ràng thành giá trị mặc định của chúng, nhưng giờ đây bạn có thể chơi tương tác với các giá trị để khám phá ảnh hưởng của chúng (xem Thuộc tính đường và Kiểu đường bên dưới) %matplotlib inline2 1. 5. 2. 3. Thay đổi màu sắc và độ rộng của đường¶Gợi ý Tài liệu
Mẹo Bước đầu tiên, chúng tôi muốn có cosin màu xanh lam và sin màu đỏ và một đường kẻ dày hơn một chút cho cả hai. Chúng tôi cũng sẽ thay đổi một chút kích thước hình để làm cho nó nằm ngang hơn %matplotlib inline4 1. 5. 2. 4. Đặt giới hạn¶Gợi ý Tài liệu
Mẹo Giới hạn hiện tại của hình hơi chật và chúng tôi muốn tạo một số khoảng trống để có thể nhìn rõ tất cả các điểm dữ liệu %matplotlib inline0 1. 5. 2. 5. Cài đặt dấu tích¶Gợi ý Tài liệu
Mẹo Các dấu tích hiện tại không lý tưởng vì chúng không hiển thị các giá trị thú vị ( %matplotlib inline1 1. 5. 2. 6. Đặt nhãn đánh dấu¶Gợi ý Tài liệu
Mẹo Các dấu tick hiện đã được đặt đúng vị trí nhưng nhãn của chúng không rõ ràng lắm. Chúng ta có thể đoán rằng 3. 142 là %matplotlib inline2 1. 5. 2. 7. Di chuyển gai¶Gợi ý Tài liệu
Mẹo Các gai là các đường nối các dấu tick của trục và ghi chú các ranh giới của vùng dữ liệu. Chúng có thể được đặt ở các vị trí tùy ý và cho đến bây giờ, chúng nằm trên đường viền của trục. Chúng tôi sẽ thay đổi điều đó vì chúng tôi muốn có chúng ở giữa. Vì có bốn trong số chúng (trên/dưới/trái/phải), chúng tôi sẽ loại bỏ phần trên cùng và bên phải bằng cách đặt màu của chúng thành không và chúng tôi sẽ di chuyển phần dưới cùng và bên trái để tọa độ 0 trong tọa độ không gian dữ liệu %matplotlib inline3 1. 5. 2. 8. Thêm một huyền thoại¶Gợi ý Tài liệu
Mẹo Hãy thêm một huyền thoại ở góc trên bên trái. Điều này chỉ yêu cầu thêm nhãn đối số từ khóa (sẽ được sử dụng trong hộp chú thích) vào các lệnh cốt truyện %matplotlib inline4 1. 5. 2. 9. Chú thích một số điểm¶Gợi ý Tài liệu
Mẹo Hãy chú thích một số điểm thú vị bằng cách sử dụng lệnh chú thích. Chúng tôi đã chọn giá trị %matplotlib inline5 1. 5. 2. 10. Ma quỷ ở trong các chi tiết¶Gợi ý Tài liệu
Mẹo Các nhãn đánh dấu hiện hầu như không nhìn thấy được vì các đường màu xanh và đỏ. Chúng tôi có thể làm cho chúng lớn hơn và chúng tôi cũng có thể điều chỉnh các thuộc tính của chúng sao cho chúng sẽ được hiển thị trên nền trắng bán trong suốt. Điều này sẽ cho phép chúng tôi xem cả dữ liệu và nhãn %matplotlib inline6 1. 5. 3. Hình, Ô phụ, Trục và Dấu tích¶Một "hình" trong matplotlib có nghĩa là toàn bộ cửa sổ trong giao diện người dùng. Trong hình này có thể có “ô con” Mẹo Cho đến nay, chúng tôi đã sử dụng việc tạo hình và trục ẩn. Điều này rất hữu ích cho các đồ thị nhanh. Chúng ta có thể có nhiều quyền kiểm soát hơn đối với màn hình bằng cách sử dụng hình, biểu đồ con và trục một cách rõ ràng. Trong khi ô phụ định vị các ô trong một lưới thông thường, các trục cho phép sắp xếp tự do trong hình. Cả hai đều có thể hữu ích tùy thuộc vào ý định của bạn. Chúng tôi đã làm việc với các số liệu và ô con mà không gọi chúng một cách rõ ràng. Khi chúng ta gọi plot, matplotlib gọi IPython 0.13 -- An enhanced Interactive Python. ? -> Introduction to IPython's features. %magic -> Information about IPython's 'magic' % functions. help -> Python's own help system. object? -> Details about 'object'. ?object also works, ?? prints more.0 để lấy các trục hiện tại và gca lần lượt gọi IPython 0.13 -- An enhanced Interactive Python. ? -> Introduction to IPython's features. %magic -> Information about IPython's 'magic' % functions. help -> Python's own help system. object? -> Details about 'object'. ?object also works, ?? prints more.1 để lấy hình hiện tại. Nếu không có cái nào, nó gọi IPython 0.13 -- An enhanced Interactive Python. ? -> Introduction to IPython's features. %magic -> Information about IPython's 'magic' % functions. help -> Python's own help system. object? -> Details about 'object'. ?object also works, ?? prints more.2 để tạo một cái, nói đúng ra, để tạo một cái IPython 0.13 -- An enhanced Interactive Python. ? -> Introduction to IPython's features. %magic -> Information about IPython's 'magic' % functions. help -> Python's own help system. object? -> Details about 'object'. ?object also works, ?? prints more.3. Hãy xem chi tiết 1. 5. 3. 1. Số liệu¶Mẹo Hình là các cửa sổ trong GUI có tiêu đề là “Hình #”. Các hình được đánh số bắt đầu từ 1 trái ngược với cách Python bình thường bắt đầu từ 0. Đây rõ ràng là kiểu MATLAB. Có một số tham số xác định hình trông như thế nào Đối sốMặc địnhMô tảIPython 0.13 -- An enhanced Interactive Python. ? -> Introduction to IPython's features. %magic -> Information about IPython's 'magic' % functions. help -> Python's own help system. object? -> Details about 'object'. ?object also works, ?? prints more.4 IPython 0.13 -- An enhanced Interactive Python. ? -> Introduction to IPython's features. %magic -> Information about IPython's 'magic' % functions. help -> Python's own help system. object? -> Details about 'object'. ?object also works, ?? prints more.5số lượng hình IPython 0.13 -- An enhanced Interactive Python. ? -> Introduction to IPython's features. %magic -> Information about IPython's 'magic' % functions. help -> Python's own help system. object? -> Details about 'object'. ?object also works, ?? prints more.6 IPython 0.13 -- An enhanced Interactive Python. ? -> Introduction to IPython's features. %magic -> Information about IPython's 'magic' % functions. help -> Python's own help system. object? -> Details about 'object'. ?object also works, ?? prints more.7kích thước hình tính bằng inch (chiều rộng, chiều cao) IPython 0.13 -- An enhanced Interactive Python. ? -> Introduction to IPython's features. %magic -> Information about IPython's 'magic' % functions. help -> Python's own help system. object? -> Details about 'object'. ?object also works, ?? prints more.8 IPython 0.13 -- An enhanced Interactive Python. ? -> Introduction to IPython's features. %magic -> Information about IPython's 'magic' % functions. help -> Python's own help system. object? -> Details about 'object'. ?object also works, ?? prints more.9độ phân giải tính bằng số chấm trên mỗi inch $ python plot_exercise_1.py0 $ python plot_exercise_1.py1màu của nền bản vẽ $ python plot_exercise_1.py2 $ python plot_exercise_1.py3màu của cạnh xung quanh nền bản vẽ $ python plot_exercise_1.py4 $ python plot_exercise_1.py5có khung hình vẽ hay không Mẹo Các giá trị mặc định có thể được chỉ định trong tệp tài nguyên và sẽ được sử dụng hầu hết thời gian. Chỉ có số của hình là thường xuyên thay đổi Cũng như các đối tượng khác, bạn có thể đặt các thuộc tính của figure cũng như setp hoặc bằng các phương thức set_something Khi bạn làm việc với GUI, bạn có thể đóng một hình bằng cách nhấp vào dấu x ở góc trên bên phải. Nhưng bạn có thể đóng một hình theo chương trình bằng cách gọi close. Tùy thuộc vào đối số, nó đóng (1) hình hiện tại (không có đối số), (2) một hình cụ thể (số hình hoặc ví dụ hình làm đối số) hoặc (3) tất cả các hình (_______96 làm đối số) %matplotlib inline7 1. 5. 3. 2. Ô phụ¶Mẹo Với subplot, bạn có thể sắp xếp các ô trong một lưới thông thường. Bạn cần chỉ định số hàng và số cột và số lượng ô. Lưu ý rằng lệnh gridspec là một sự thay thế mạnh mẽ hơn 1. 5. 3. 3. Trục¶Các trục rất giống với các ô con nhưng cho phép đặt các ô tại bất kỳ vị trí nào trong hình. Vì vậy, nếu chúng ta muốn đặt một ô nhỏ hơn bên trong một ô lớn hơn, chúng ta sẽ làm như vậy bằng các trục 1. 5. 3. 4. Tiếng ve¶Các dấu tích được định dạng tốt là một phần quan trọng của các số liệu sẵn sàng xuất bản. Matplotlib cung cấp một hệ thống hoàn toàn có thể định cấu hình cho bọ ve. Có bộ định vị đánh dấu để xác định vị trí đánh dấu sẽ xuất hiện và đánh dấu định dạng để cung cấp cho đánh dấu hình thức bạn muốn. Các tick lớn và nhỏ có thể được định vị và định dạng độc lập với nhau. Mỗi tích tắc nhỏ mặc định không được hiển thị, tôi. e. chỉ có một danh sách trống cho họ vì nó là $ python plot_exercise_1.py7 (xem bên dưới) Công cụ định vị đánh dấu¶Bộ định vị bọ ve kiểm soát vị trí của bọ ve. Chúng được thiết lập như sau %matplotlib inline8 Có một số bộ định vị cho các loại yêu cầu khác nhau Tất cả các bộ định vị này bắt nguồn từ lớp cơ sở $ python plot_exercise_1.py8. Bạn có thể tạo bộ định vị của riêng mình bắt nguồn từ nó. Xử lý ngày dưới dạng dấu tích có thể đặc biệt phức tạp. Do đó, matplotlib cung cấp các bộ định vị đặc biệt trong matplotlib. ngày 1. 5. 4. Các loại lô đất khác. ví dụ và bài tập¶1. 5. 4. 1. Ô thông thường¶Bắt đầu từ đoạn mã bên dưới, hãy cố gắng tái tạo đồ họa với các khu vực được lấp đầy Gợi ý Bạn cần sử dụng lệnh $ python plot_exercise_1.py9 %matplotlib inline9 Bấm vào hình để giải quyết 1. 5. 4. 2. Điểm phân tán¶Bắt đầu từ đoạn mã bên dưới, hãy cố gắng tái tạo đồ họa, quan tâm đến kích thước, màu sắc và độ trong suốt của điểm đánh dấu Gợi ý Màu sắc được cho bởi góc của (X,Y) from matplotlib import pyplot as plt0 Bấm vào hình để tìm giải pháp 1. 5. 4. 3. Lô đất¶Bắt đầu từ mã bên dưới, hãy thử tái tạo đồ họa bằng cách thêm nhãn cho các thanh màu đỏ Gợi ý Bạn cần quan tâm đến việc căn chỉnh văn bản from matplotlib import pyplot as plt1 Bấm vào hình để tìm giải pháp 1. 5. 4. 4. Đường viền¶Bắt đầu từ đoạn mã bên dưới, hãy cố gắng tái tạo đồ họa bằng bản đồ màu (xem Bản đồ màu bên dưới) Gợi ý Bạn cần sử dụng lệnh %matplotlib inline10 from matplotlib import pyplot as plt2 Bấm vào hình để tìm giải pháp 1. 5. 4. 5. Hiển thị¶Bắt đầu từ mã bên dưới, hãy cố gắng tái tạo đồ họa bằng bản đồ màu, nội suy hình ảnh và nguồn gốc Gợi ý Bạn cần quan tâm đến %matplotlib inline11 của hình ảnh trong lệnh imshow và sử dụng một %matplotlib inline12 from matplotlib import pyplot as plt3 Bấm vào hình để biết giải pháp 1. 5. 4. 6. Biểu đồ hình tròn¶Bắt đầu từ mã bên dưới, hãy cố gắng tái tạo đồ họa với màu sắc và kích thước lát cắt Gợi ý Bạn cần sửa đổi Z from matplotlib import pyplot as plt4 Bấm vào hình để biết giải pháp 1. 5. 4. 7. Âm mưu run rẩy¶Bắt đầu từ đoạn mã bên dưới, hãy cố gắng tái tạo đồ họa có chú ý đến màu sắc và hướng Gợi ý Bạn cần vẽ mũi tên hai lần from matplotlib import pyplot as plt5 Bấm vào hình để tìm giải pháp 1. 5. 4. 8. Lưới¶Bắt đầu từ đoạn mã bên dưới, hãy cố gắng tái tạo đồ họa theo các kiểu đường kẻ from matplotlib import pyplot as plt6 Bấm vào hình để tìm giải pháp 1. 5. 4. 9. Nhiều lô đất¶Bắt đầu từ đoạn mã dưới đây, hãy thử tái tạo đồ họa Gợi ý Bạn có thể sử dụng một số ô con với phân vùng khác nhau from matplotlib import pyplot as plt7 Bấm vào hình để tìm giải pháp 1. 5. 4. 10. Trục cực¶Gợi ý Bạn chỉ cần sửa đổi dòng %matplotlib inline13 Bắt đầu từ đoạn mã dưới đây, hãy thử tái tạo đồ họa from matplotlib import pyplot as plt8 Bấm vào hình để tìm giải pháp 1. 5. 4. 11. Lô 3D¶Bắt đầu từ đoạn mã dưới đây, hãy thử tái tạo đồ họa Gợi ý Bạn cần sử dụng %matplotlib inline14 from matplotlib import pyplot as plt9 Bấm vào hình để tìm giải pháp Xem thêm Vẽ đồ thị 3D với Mayavi 1. 5. 4. 12. Chữ¶Cố gắng làm điều tương tự từ đầu Gợi ý Hãy nhìn vào logo matplotlib Bấm vào hình để tìm giải pháp đọc nhanh Nếu bạn muốn lướt nhanh qua các bài giảng Scipy đầu tiên để tìm hiểu về hệ sinh thái, bạn có thể trực tiếp chuyển sang chương tiếp theo. Scipy. máy tính khoa học cấp cao . Phần còn lại của chương này là không cần thiết để làm theo phần còn lại của phần giới thiệu. Nhưng hãy nhớ quay lại và hoàn thành chương này sau 1. 5. 5. Ngoài phần hướng dẫn này¶Matplotlib được hưởng lợi từ tài liệu phong phú cũng như cộng đồng người dùng và nhà phát triển lớn. Dưới đây là một số liên kết quan tâm 1. 5. 5. 1. Hướng dẫn¶
1. 5. 5. 2. Tài liệu Matplotlib¶
1. 5. 5. 3. Tài liệu mã¶Mã được ghi lại đầy đủ và bạn có thể nhanh chóng truy cập một lệnh cụ thể từ bên trong phiên python import numpy as np X = np.linspace(-np.pi, np.pi, 256) C, S = np.cos(X), np.sin(X)0 1. 5. 5. 4. Phòng trưng bày¶Thư viện matplotlib cũng cực kỳ hữu ích khi bạn tìm kiếm cách hiển thị một đồ họa nhất định. Mỗi ví dụ đi kèm với nguồn của nó 1. 5. 5. 5. Danh sách mail¶Cuối cùng, có một danh sách gửi thư của người dùng nơi bạn có thể yêu cầu trợ giúp và danh sách gửi thư của nhà phát triển mang tính kỹ thuật hơn 1. 5. 6. Tham khảo nhanh¶Đây là một tập hợp các bảng hiển thị các thuộc tính và kiểu chính 1. 5. 6. 1. Thuộc tính đường¶PropertyDescriptionAppearancealpha (hoặc a)alpha độ trong suốt trên thang 0-11. 5. 6. 2. Kiểu đường kẻ¶1. 5. 6. 3. Điểm đánh dấu¶1. 5. 6. 4. Bản đồ màu¶Tất cả các bản đồ màu có thể được đảo ngược bằng cách nối thêm %matplotlib inline15. Chẳng hạn, %matplotlib inline16 là đảo ngược của %matplotlib inline17 Nếu bạn muốn biết thêm về bản đồ màu, hãy xem tài liệu về Bản đồ màu trong matplotlib 1. 5. 7. Ví dụ mã đầy đủ¶1. 5. 7. 1. Mẫu mã cho Matplotlib¶Các ví dụ ở đây chỉ là những ví dụ liên quan đến các điểm nêu ra trong chương này. Tài liệu matplotlib đi kèm với một bộ sưu tập đầy đủ hơn nhiều Làm cách nào để vẽ đồ thị trong Python bằng matplotlib?Dữ liệu cũng có thể được vẽ bằng cách gọi trực tiếp hàm vẽ matplotlib. . Lệnh là plt. cốt truyện (x, y) Màu sắc và định dạng của điểm đánh dấu cũng có thể được chỉ định làm đối số tùy chọn bổ sung e. g. , b- là đường màu xanh lam, g-- là đường đứt nét màu xanh lục %Matplotlib có nghĩa là gì trong Python?Matplotlib là thư viện toàn diện để tạo trực quan hóa tĩnh, hoạt hình và tương tác trong Python . Matplotlib làm cho những điều dễ dàng trở nên dễ dàng và những điều khó khăn có thể.
Bạn có thể vẽ đồ thị 3D bằng Python không?Chúng ta cũng có thể vẽ các bề mặt 3D bằng Python , hàm vẽ các bề mặt 3D là plot_surface(X,Y,Z), trong đó X và Y là các mảng đầu ra từ lưới lưới . Các chức năng vẽ đồ thị bề mặt phổ biến nhất là lướt sóng và đường viền.
Tại sao Seaborn tốt hơn matplotlib?Seaborn thoải mái hơn trong việc xử lý khung dữ liệu Pandas . Nó sử dụng các bộ phương thức cơ bản để cung cấp đồ họa đẹp trong python. Matplotlib hoạt động hiệu quả với các khung và mảng dữ liệu. Nó coi các hình và trục là các đối tượng. Nó chứa các API trạng thái khác nhau để vẽ đồ thị. |