Giới thiệu
Matplotlib là một trong những thư viện trực quan hóa dữ liệu được sử dụng rộng rãi nhất trong Python. Phần lớn sự phổ biến của Matplotlib đến từ các tùy chọn tùy chỉnh của nó - bạn có thể điều chỉnh bất kỳ yếu tố nào từ hệ thống phân cấp đối tượng của nó.
Trong hướng dẫn này, chúng ta sẽ xem xét cách thay đổi kích thước hình trong matplotlib.
Tạo ra một cốt truyện
Trước tiên hãy tạo một cốt truyện đơn giản trong một hình:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange[0, 10, 0.1]
y = np.sin[x]
plt.plot[x, y]
plt.show[]
Ở đây, chúng tôi đã vẽ một hàm sin, bắt đầu từ 0
và kết thúc tại 10
với một bước 0.1
. Chạy mã này mang lại:
Đối tượng
import matplotlib.pyplot as plt
import numpy as np
x = np.arange[0, 10, 0.1]
y = np.sin[x]
plt.figure[figsize=[3, 3]]
plt.plot[x, y]
plt.show[]
0, nếu không được tạo rõ ràng, được tạo theo mặc định và chứa tất cả các yếu tố chúng ta có thể và không thể thấy. Thay đổi kích thước của import matplotlib.pyplot as plt
import numpy as np
x = np.arange[0, 10, 0.1]
y = np.sin[x]
plt.figure[figsize=[3, 3]]
plt.plot[x, y]
plt.show[]
0 sẽ lần lượt thay đổi kích thước của các yếu tố có thể quan sát được.Hãy xem cách chúng ta có thể thay đổi kích thước hình.
Thay đổi kích thước hình trong matplotlib
Đặt đối số hình figsize
Trước hết, cách dễ nhất để thay đổi kích thước của một con số là sử dụng đối số
import matplotlib.pyplot as plt
import numpy as np
x = np.arange[0, 10, 0.1]
y = np.sin[x]
plt.figure[figsize=[3, 3]]
plt.plot[x, y]
plt.show[]
2. Bạn có thể sử dụng đối số này trong việc khởi tạo của Pyplot hoặc trên đối tượng ____10 hiện có.Trước tiên hãy sửa đổi nó trong quá trình khởi tạo:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange[0, 10, 0.1]
y = np.sin[x]
plt.figure[figsize=[3, 3]]
plt.plot[x, y]
plt.show[]
Ở đây, chúng tôi đã truy cập phiên bản
import matplotlib.pyplot as plt
import numpy as np
x = np.arange[0, 10, 0.1]
y = np.sin[x]
plt.figure[figsize=[3, 3]]
plt.plot[x, y]
plt.show[]
0 được tạo theo mặc định và vượt qua đối số import matplotlib.pyplot as plt
import numpy as np
x = np.arange[0, 10, 0.1]
y = np.sin[x]
plt.figure[figsize=[3, 3]]
plt.plot[x, y]
plt.show[]
2. Lưu ý rằng kích thước được xác định tính bằng inch, không phải pixel. Điều này sẽ dẫn đến một con số có kích thước 3in bằng 3in:Tuy nhiên, Matplotlib/Pyplot hiện không hỗ trợ các kích thước số liệu, thật dễ dàng để viết một hàm trợ giúp để chuyển đổi giữa hai:
def cm_to_inch[value]:
return value/2.54
Và sau đó điều chỉnh kích thước của cốt truyện như thế này:
plt.figure[figsize=[cm_to_inch[15],cm_to_inch[10]]]
Điều này sẽ tạo ra một lô với kích thước 15cm x 10cm:
Ngoài ra, nếu bạn đang tạo đối tượng
import matplotlib.pyplot as plt
import numpy as np
x = np.arange[0, 10, 0.1]
y = np.sin[x]
plt.figure[figsize=[3, 3]]
plt.plot[x, y]
plt.show[]
0 cho cốt truyện của mình, bạn có thể gán kích thước tại thời điểm đó:import matplotlib.pyplot as plt
import numpy as np
x = np.arange[0, 10, 0.1]
y = np.sin[x]
z = np.cos[x]
fig = plt.figure[figsize=[8, 6]]
# Adds subplot on position 1
ax = fig.add_subplot[121]
# Adds subplot on position 2
ax2 = fig.add_subplot[122]
ax.plot[x, y]
ax2.plot[x, z]
plt.show[]
Ở đây, chúng tôi đã gán rõ ràng giá trị trả về của hàm
import matplotlib.pyplot as plt
import numpy as np
x = np.arange[0, 10, 0.1]
y = np.sin[x]
plt.figure[figsize=[3, 3]]
plt.plot[x, y]
plt.show[]
7 cho đối tượng import matplotlib.pyplot as plt
import numpy as np
x = np.arange[0, 10, 0.1]
y = np.sin[x]
plt.figure[figsize=[3, 3]]
plt.plot[x, y]
plt.show[]
0. Sau đó, chúng ta có thể thêm các trục vào hình này để tạo ra nhiều ô con và vẽ trên chúng.Kiểm tra hướng dẫn thực hành của chúng tôi, thực tế để học Git, với các thực hành tốt nhất, các tiêu chuẩn được công nghiệp chấp nhận và bao gồm bảng gian lận. Ngừng các lệnh git googling và thực sự tìm hiểu nó!
Chúng tôi đã sử dụng hàm
import matplotlib.pyplot as plt
import numpy as np
x = np.arange[0, 10, 0.1]
y = np.sin[x]
plt.figure[figsize=[3, 3]]
plt.plot[x, y]
plt.show[]
9, chấp nhận một loạt các giá trị số. Số đầu tiên chỉ định số lượng hàng bạn muốn thêm vào hình, số thứ hai chỉ định số lượng cột bạn muốn thêm và số thứ ba chỉ định số lượng lô bạn muốn thêm.Điều này có nghĩa là nếu bạn đã chuyển trong
def cm_to_inch[value]:
return value/2.54
0 vào hàm def cm_to_inch[value]:
return value/2.54
1, một subplot mới sẽ được thêm vào hình. Trong khi đó, nếu bạn sử dụng các số def cm_to_inch[value]:
return value/2.54
2, biểu đồ kết quả sẽ có bốn trục với hai cột và hai hàng - và phần phụ bạn đang hình thành ở vị trí thứ nhất.Mã này dẫn đến:
Đặt chiều cao và chiều rộng của hình trong matplotlib
Thay vì đối số
import matplotlib.pyplot as plt
import numpy as np
x = np.arange[0, 10, 0.1]
y = np.sin[x]
plt.figure[figsize=[3, 3]]
plt.plot[x, y]
plt.show[]
2, chúng ta cũng có thể đặt chiều cao và chiều rộng của hình. Chúng có thể được thực hiện thông qua hàm def cm_to_inch[value]:
return value/2.54
4 với đối số def cm_to_inch[value]:
return value/2.54
5 và def cm_to_inch[value]:
return value/2.54
6 hoặc thông qua các hàm def cm_to_inch[value]:
return value/2.54
7 và def cm_to_inch[value]:
return value/2.54
8.Cái trước cho phép bạn viết một dòng cho nhiều đối số trong khi cái sau cung cấp cho bạn mã dễ đọc hơn.
Hãy đi với tùy chọn thứ hai:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange[0, 10, 0.1]
y = np.sin[x]
z = np.cos[x]
fig = plt.figure[]
fig.set_figheight[5]
fig.set_figwidth[10]
# Adds subplot on position 1
ax = fig.add_subplot[121]
# Adds subplot on position 2
ax2 = fig.add_subplot[122]
ax.plot[x, y]
ax2.plot[x, z]
plt.show[]
Mã này dẫn đến:
Đặt chiều cao và chiều rộng của hình trong matplotlib
fig = plt.figure[]
fig.set_size_inches[10, 5]
# Adds subplot on position 1
ax = fig.add_subplot[121]
# Adds subplot on position 2
ax2 = fig.add_subplot[122]
ax.plot[x, y]
ax2.plot[x, z]
plt.show[]
Thay vì đối số
import matplotlib.pyplot as plt
import numpy as np
x = np.arange[0, 10, 0.1]
y = np.sin[x]
plt.figure[figsize=[3, 3]]
plt.plot[x, y]
plt.show[]
2, chúng ta cũng có thể đặt chiều cao và chiều rộng của hình. Chúng có thể được thực hiện thông qua hàm def cm_to_inch[value]:
return value/2.54
4 với đối số def cm_to_inch[value]:
return value/2.54
5 và def cm_to_inch[value]:
return value/2.54
6 hoặc thông qua các hàm def cm_to_inch[value]:
return value/2.54
7 và def cm_to_inch[value]:
return value/2.54
8.Cái trước cho phép bạn viết một dòng cho nhiều đối số trong khi cái sau cung cấp cho bạn mã dễ đọc hơn.
Hãy đi với tùy chọn thứ hai:
Cuối cùng, bạn cũng có thể sử dụng chức năng
def cm_to_inch[value]:
return value/2.54
9:Và điều này thực hiện giống như cài đặt đối số
import matplotlib.pyplot as plt
import numpy as np
x = np.arange[0, 10, 0.1]
y = np.sin[x]
plt.figure[figsize=[3, 3]]
plt.plot[x, y]
plt.show[]
2 hoặc sử dụng hai chức năng:Sự kết luận is a book designed to take absolute beginners to Pandas and Matplotlib, with basic Python knowledge, and allow them to build a strong foundation for advanced work with theses libraries - from simple plots to animated 3D plots with interactive buttons.
Trong hướng dẫn này, chúng tôi đã đi qua một số cách để thay đổi kích thước của một con số trong matplotlib.
Nếu bạn quan tâm đến trực quan hóa dữ liệu và không biết bắt đầu từ đâu, hãy đảm bảo kiểm tra cuốn sách của chúng tôi về trực quan hóa dữ liệu trong Python., a book for beginner to intermediate Python developers, guides you through simple data manipulation with Pandas, cover core plotting libraries like Matplotlib and Seaborn, and show you how to take advantage of declarative and experimental libraries like Altair. More specifically, over the span of 11 chapters this book covers 9 Python libraries: Pandas, Matplotlib, Seaborn, Bokeh, Altair, Plotly, GGPlot, GeoPandas, and VisPy.
Nó phục vụ như một hướng dẫn thực tế, độc đáo về trực quan hóa dữ liệu, trong rất nhiều công cụ bạn có thể sử dụng trong sự nghiệp của mình.