Con trăn toán học

Matplotlib là một thư viện trực quan tuyệt vời trong Python cho các mảng 2D. Matplotlib là thư viện trực quan hóa dữ liệu đa nền tảng được xây dựng trên mảng NumPy và được thiết kế để hoạt động với ngăn xếp SciPy rộng hơn. Nó được giới thiệu bởi John Hunter vào năm 2002

Một trong những lợi ích lớn nhất của trực quan hóa là nó cho phép chúng ta truy cập trực quan vào lượng dữ liệu khổng lồ dưới dạng hình ảnh dễ hiểu. Matplotlib bao gồm một số ô như đường, thanh, phân tán, biểu đồ, v.v.

Cài đặt
Các bản phân phối Windows, Linux và macOS có matplotlib và hầu hết các phụ thuộc của nó dưới dạng các gói bánh xe. Chạy lệnh sau để cài đặt gói matplotlib

python -mpip install -U matplotlib

 
Nhập matplotlib

from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 

Các ô cơ bản trong Matplotlib

Matplotlib đi kèm với nhiều ô khác nhau. Biểu đồ giúp hiểu xu hướng, mô hình và tạo mối tương quan. Chúng thường là công cụ để lập luận về thông tin định lượng. Một số ô mẫu được bao phủ ở đây

cốt truyện dòng




# importing matplotlib module 

from matplotlibimport pyplot as plt

 

# x-axis values

from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
0
from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
1
from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
2
from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
3
from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
4
from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
5
from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
4
from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
7
from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
4
from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
9
from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
4matplotlib1matplotlib2

 

matplotlib4

matplotlib5

from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
1
from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
2matplotlib8
from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
4
from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
3
from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
4# importing matplotlib module 2
from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
4
from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
9
from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
4
from matplotlib import pyplot as plt
or
import matplotlib.pyplot as plt 
5matplotlib2

Bây giờ chúng ta sẽ tìm hiểu sâu về gói Matplotlib để trực quan hóa trong Python. Matplotlib là thư viện trực quan hóa dữ liệu đa nền tảng được xây dựng trên mảng NumPy và được thiết kế để hoạt động với ngăn xếp SciPy rộng hơn. Nó được John Hunter hình thành vào năm 2002, ban đầu là một bản vá cho IPython để cho phép vẽ sơ đồ kiểu MATLAB tương tác thông qua gnuplot từ dòng lệnh IPython. Người tạo ra IPython, Fernando Perez, lúc đó đang cố gắng hoàn thành bằng tiến sĩ và cho John biết rằng anh ấy sẽ không có thời gian để xem xét bản vá trong vài tháng. John coi đây là một gợi ý để tự mình bắt đầu và gói Matplotlib ra đời, với phiên bản 0. 1 phát hành năm 2003. Nó đã nhận được một sự thúc đẩy sớm khi nó được sử dụng làm gói âm mưu do Viện Khoa học Kính viễn vọng Không gian (những người đứng sau Kính viễn vọng Hubble) lựa chọn, hỗ trợ tài chính cho sự phát triển của Matplotlib và mở rộng đáng kể khả năng của nó

Một trong những tính năng quan trọng nhất của Matplotlib là khả năng chơi tốt với nhiều hệ điều hành và phụ trợ đồ họa. Matplotlib hỗ trợ hàng tá phụ trợ và loại đầu ra, có nghĩa là bạn có thể tin tưởng nó sẽ hoạt động bất kể bạn đang sử dụng hệ điều hành nào hoặc định dạng đầu ra nào bạn muốn. Cách tiếp cận đa nền tảng, mọi thứ cho mọi người này là một trong những thế mạnh lớn của Matplotlib. Nó đã dẫn đến một cơ sở người dùng lớn, từ đó dẫn đến một cơ sở nhà phát triển tích cực và các công cụ mạnh mẽ của Matplotlib cũng như sự phổ biến trong thế giới Python khoa học

Tuy nhiên, trong những năm gần đây, giao diện và phong cách của Matplotlib đã bắt đầu có tuổi. Các công cụ mới hơn như ggplot và ggvis trong ngôn ngữ R, cùng với các bộ công cụ trực quan hóa web dựa trên canvas D3js và HTML5, thường khiến Matplotlib có cảm giác cồng kềnh và lỗi thời. Tuy nhiên, tôi cho rằng chúng ta không thể bỏ qua sức mạnh của Matplotlib với tư cách là một công cụ đồ họa đa nền tảng đã được thử nghiệm kỹ lưỡng. Các phiên bản Matplotlib gần đây giúp thiết lập các kiểu vẽ đồ thị toàn cầu mới tương đối dễ dàng (xem Tùy chỉnh Matplotlib. Configurations và Style Sheets), và mọi người đã và đang phát triển các gói mới dựa trên các phần bên trong mạnh mẽ của nó để điều khiển Matplotlib thông qua các API sạch hơn, hiện đại hơn—ví dụ: Seaborn (được thảo luận trong Visualization With Seaborn), ggpy, HoloViews, Altair và thậm chí cả Pandas . Ngay cả với các trình bao bọc như thế này, vẫn thường hữu ích khi đi sâu vào cú pháp của Matplotlib để điều chỉnh đầu ra cốt truyện cuối cùng. Vì lý do này, tôi tin rằng bản thân Matplotlib sẽ vẫn là một phần quan trọng của ngăn xếp trực quan hóa dữ liệu, ngay cả khi các công cụ mới có nghĩa là cộng đồng dần dần không sử dụng trực tiếp API Matplotlib

Mẹo Matplotlib chung

Trước khi chúng tôi đi sâu vào chi tiết tạo trực quan hóa bằng Matplotlib, có một số điều hữu ích bạn nên biết về cách sử dụng gói

Nhập Matplotlib

Giống như chúng tôi sử dụng tốc ký

plt.style.use('classic')
5 cho NumPy và tốc ký
plt.style.use('classic')
6 cho Pandas, chúng tôi sẽ sử dụng một số tốc ký tiêu chuẩn để nhập Matplotlib

Trong 1]

import matplotlib as mpl
import matplotlib.pyplot as plt

Giao diện

plt.style.use('classic')
7 là thứ chúng ta sẽ sử dụng thường xuyên nhất, như chúng ta sẽ thấy trong suốt chương này

Đặt kiểu

Chúng tôi sẽ sử dụng chỉ thị

plt.style.use('classic')
8 để chọn phong cách thẩm mỹ phù hợp cho các nhân vật của chúng tôi. Ở đây chúng tôi sẽ đặt kiểu
plt.style.use('classic')
9, đảm bảo rằng các ô chúng tôi tạo sử dụng kiểu Matplotlib cổ điển

Trong 2]

plt.style.use('classic')

Trong suốt phần này, chúng tôi sẽ điều chỉnh phong cách này khi cần thiết. Lưu ý rằng các biểu định kiểu được sử dụng ở đây được hỗ trợ kể từ Matplotlib phiên bản 1. 5; . Để biết thêm thông tin về biểu định kiểu, hãy xem Tùy chỉnh Matplotlib. Cấu hình và Style Sheets

# ------- file: myplot.py ------ import matplotlib.pyplot as plt import numpy as np x = np.linspace(0, 10, 100) plt.plot(x, np.sin(x)) plt.plot(x, np.cos(x)) plt.show() 0 hay Không # ------- file: myplot.py ------ import matplotlib.pyplot as plt import numpy as np x = np.linspace(0, 10, 100) plt.plot(x, np.sin(x)) plt.plot(x, np.cos(x)) plt.show() 0?

Một hình ảnh trực quan mà bạn không thể nhìn thấy sẽ không được sử dụng nhiều, nhưng cách bạn xem các biểu đồ Matplotlib của mình phụ thuộc vào ngữ cảnh. Cách sử dụng Matplotlib tốt nhất khác nhau tùy thuộc vào cách bạn đang sử dụng nó;

Âm mưu từ một kịch bản

Nếu bạn đang sử dụng Matplotlib từ bên trong tập lệnh, thì hàm

# ------- file: myplot.py ------
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)

plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x))

plt.show()
2 là bạn của bạn.
# ------- file: myplot.py ------
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)

plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x))

plt.show()
2 bắt đầu một vòng lặp sự kiện, tìm kiếm tất cả các đối tượng hình hiện đang hoạt động và mở một hoặc nhiều cửa sổ tương tác hiển thị hình hoặc các hình của bạn

Vì vậy, ví dụ, bạn có thể có một tệp tên là myplot. py chứa những điều sau đây

# ------- file: myplot.py ------
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)

plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x))

plt.show()

Sau đó, bạn có thể chạy tập lệnh này từ dấu nhắc dòng lệnh, điều này sẽ dẫn đến một cửa sổ mở ra với hình của bạn được hiển thị

$ python myplot.py

Lệnh

# ------- file: myplot.py ------
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)

plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x))

plt.show()
2 thực hiện rất nhiều điều, vì nó phải tương tác với phần phụ trợ đồ họa tương tác của hệ thống của bạn. Các chi tiết của hoạt động này có thể khác nhau rất nhiều từ hệ thống này sang hệ thống khác và thậm chí từ cài đặt này sang cài đặt khác, nhưng matplotlib cố gắng hết sức để ẩn tất cả các chi tiết này với bạn

Một điều cần lưu ý. lệnh

# ------- file: myplot.py ------
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)

plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x))

plt.show()
2 chỉ nên được sử dụng một lần cho mỗi phiên Python và thường thấy nhất ở phần cuối của tập lệnh. Nhiều lệnh
# ------- file: myplot.py ------
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)

plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x))

plt.show()
0 có thể dẫn đến hành vi phụ thuộc vào chương trình phụ trợ không thể đoán trước và hầu hết nên tránh

Vẽ từ vỏ IPython

Có thể rất thuận tiện khi sử dụng Matplotlib một cách tương tác trong lớp vỏ IPython (xem IPython. Ngoài Python bình thường). IPython được xây dựng để hoạt động tốt với Matplotlib nếu bạn chỉ định chế độ Matplotlib. Để kích hoạt chế độ này, bạn có thể sử dụng lệnh ma thuật

# ------- file: myplot.py ------
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)

plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x))

plt.show()
7 sau khi bắt đầu
# ------- file: myplot.py ------
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)

plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x))

plt.show()
8

In [1]: %matplotlib
Using matplotlib backend: TkAgg

In [2]: import matplotlib.pyplot as plt

Tại thời điểm này, bất kỳ lệnh vẽ đồ thị

plt.style.use('classic')
7 nào cũng sẽ khiến cửa sổ hình mở ra và có thể chạy thêm các lệnh để cập nhật đồ thị. Một số thay đổi (chẳng hạn như sửa đổi thuộc tính của các đường đã được vẽ) sẽ không được vẽ tự động. để buộc cập nhật, hãy sử dụng
$ python myplot.py
0. Không cần sử dụng
# ------- file: myplot.py ------
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)

plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x))

plt.show()
2 ở chế độ Matplotlib

Vẽ sơ đồ từ sổ ghi chép IPython

Sổ tay IPython là một công cụ phân tích dữ liệu tương tác dựa trên trình duyệt có thể kết hợp tường thuật, mã, đồ họa, các phần tử HTML, v.v. vào một tài liệu thực thi duy nhất (xem IPython. Ngoài Python bình thường)

Vẽ sơ đồ tương tác trong sổ ghi chép IPython có thể được thực hiện bằng lệnh

# ------- file: myplot.py ------
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)

plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x))

plt.show()
7 và hoạt động theo cách tương tự với trình bao IPython. Trong sổ ghi chép IPython, bạn cũng có tùy chọn nhúng đồ họa trực tiếp vào sổ ghi chép, với hai tùy chọn khả thi

  • $ python myplot.py
    3 sẽ dẫn đến các biểu đồ tương tác được nhúng trong sổ ghi chép
  • $ python myplot.py
    4 sẽ dẫn đến hình ảnh tĩnh về cốt truyện của bạn được nhúng trong sổ ghi chép

Đối với cuốn sách này, chúng tôi thường sẽ chọn

$ python myplot.py
4

Trong 3]

%matplotlib inline

Sau khi chạy lệnh này (chỉ cần thực hiện lệnh này một lần cho mỗi kernel/phiên), bất kỳ ô nào trong sổ ghi chép tạo biểu đồ sẽ nhúng hình ảnh PNG của đồ họa kết quả

Việc sử dụng Matplot trong Python là gì?

Matplotlib là thư viện biểu đồ đồ họa và trực quan hóa dữ liệu đa nền tảng dành cho Python và phần mở rộng số của nó là NumPy. Như vậy, nó cung cấp một giải pháp thay thế mã nguồn mở khả thi cho MATLAB. Các nhà phát triển cũng có thể sử dụng API của matplotlib (Giao diện lập trình ứng dụng) để nhúng các ô trong các ứng dụng GUI.

Làm cách nào để sử dụng matplotlib Python 3?

Nếu không đúng như vậy, bạn có thể thiết lập bằng cách làm theo hướng dẫn cài đặt và thiết lập thích hợp cho hệ điều hành của mình. .
Bước 1 - Nhập matplotlib. .
Bước 2 - Tạo điểm dữ liệu để vẽ. .
Bước 3 - Vẽ dữ liệu. .
Bước 4 — Thêm tiêu đề và nhãn. .
Bước 5 - Tùy chỉnh một cốt truyện. .
Bước 6 - Lưu một cốt truyện

Tại sao nên sử dụng matplotlib pyplot trong Python?

Pyplot cung cấp matplotlib với hai tính năng chính. Giao diện kiểu MATLAB, cho phép những người quen thuộc với MATLAB sử dụng Python dễ dàng hơn . Tính trạng thái , có nghĩa là pyplot lưu trữ trạng thái của một đối tượng khi bạn vẽ nó lần đầu tiên. Điều này cần thiết để sử dụng trong cùng trạng thái vòng lặp hoặc phiên cho đến khi plt.

Tại sao Seaborn tốt hơn matplotlib?

Việc vẽ biểu đồ thanh trong Seaborn dễ dàng hơn nhiều so với việc sử dụng mô-đun Matplotlib . Phương thức barplot() được sử dụng để vẽ biểu đồ thanh. đầu ra. Như bạn có thể thấy, chỉ một dòng trong mô-đun Seaborn vẽ biểu đồ thanh có nhãn.