Hướng dẫn how do you plot two graphs side by side in python? - làm thế nào để bạn vẽ hai đồ thị cạnh nhau trong python?

Thay đổi cài đặt Subplot của bạn thành:

plt.subplot[1, 2, 1]

...

plt.subplot[1, 2, 2]

Các tham số cho

plt.tight_layout[]
5 là: số lượng hàng, số cột và phần phụ nào bạn hiện đang ở. Vì vậy,
plt.tight_layout[]
6 có nghĩa là "một con số 1 hàng, 2 cột: Chuyển đến phần phụ đầu tiên." Sau đó,
plt.tight_layout[]
7 có nghĩa là "một con số 1, 2 cột: Chuyển đến Subplot thứ hai."

Bạn hiện đang yêu cầu bố cục 2 hàng, 1 cột [nghĩa là một cột khác]. Thay vào đó, bạn cần yêu cầu bố cục 1 hàng, 2 cột. Khi bạn làm như vậy, kết quả sẽ là:

Để giảm thiểu sự chồng chéo của các ô phụ, bạn có thể muốn đá vào:

plt.tight_layout[]

Trước buổi trình diễn. Năng suất:

Sử dụng phương thức Subplot [ROW, COL, INDEX], chúng ta có thể chia một hình theo các phần*col và có thể vẽ hình con số tại vị trí chỉ mục. Trong chương trình sau, chúng tôi sẽ tạo hai sơ đồ trong một hình duy nhất.

Các bước

  • Tạo điểm X, Y1, Y2 bằng cách sử dụng Numpy.

  • Với NROW = 1, Ncols = 2, Index = 1, thêm Subplot vào hình hiện tại, sử dụng phương thức Subplot [].

  • Vẽ đường bằng cách sử dụng các điểm x và y1, sử dụng phương thức lô [].

  • Thiết lập tiêu đề, nhãn cho trục X và Y cho Hình 1, sử dụng các phương thức plt.title [], plt.xlabel [] và plt.ylabel [].

  • Với NROW = 1, Ncols = 2, Index = 2, thêm Subplot vào hình hiện tại, sử dụng phương thức Subplot [].

  • Vẽ đường bằng cách sử dụng các điểm x và y2, sử dụng phương thức lô [].

  • Thiết lập tiêu đề, nhãn cho trục X và Y cho Hình 2, sử dụng các phương thức plt.title [], plt.xlabel [] và plt.ylabel [].

  • Để hiển thị hình, sử dụng phương thức plt.Show [].

Thí dụ

from matplotlib import pyplot as plt
import numpy as np

xPoints = np.array[[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]]
y1Points = np.array[[12, 14, 16, 18, 10, 12, 14, 16, 18, 120]]
y2Points = np.array[[12, 7, 6, 5, 4, 3, 2, 2, 1, 12]]

plt.subplot[1, 2, 1] # row 1, col 2 index 1
plt.plot[xPoints, y1Points]
plt.title["My first plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.subplot[1, 2, 2] # index 2
plt.plot[xPoints, y2Points]
plt.title["My second plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.show[]

Đầu ra

Cập nhật vào ngày 15 tháng 6 năm 2021 07:53:11

  • Câu hỏi và câu trả lời liên quan
  • Làm thế nào để vẽ hai biểu đồ cạnh nhau bằng cách sử dụng matplotlib?
  • Làm thế nào để vẽ hai lmplots seeborn cạnh nhau [matplotlib]?
  • Làm thế nào để tôi vẽ hai biểu đồ Countplot cạnh nhau trong Seaborn bằng cách sử dụng matplotlib?
  • Làm thế nào để căn chỉnh hình ảnh cạnh nhau với CSS?
  • Làm thế nào để tạo boxplot bên cạnh trong cơ sở r?
  • Làm thế nào để tạo biểu đồ cạnh nhau trong cơ sở r?
  • Làm thế nào để tạo ra bên cạnh bên trong cơ sở r?
  • Làm thế nào chúng ta có thể đặt hai bộ phận cạnh nhau trong HTML?
  • Làm thế nào để vẽ đồ thị thanh với cùng một tọa độ x cạnh nhau trong matplotlib?
  • Làm thế nào chúng ta có thể đặt ba bộ phận cạnh nhau trong HTML?
  • Sử dụng các phép biến đổi XSLT phía máy khách trong HTML5
  • Chương trình thay thế từng yếu tố bằng thuật ngữ nhỏ nhất ở bên trái trong Python
  • Làm thế nào để tạo một menu điều hướng phụ với các biểu tượng bằng CSS?
  • Trợ giúp phía máy khách MySQL
  • Python Pandas-Kiểm tra xem khoảng thời gian được đóng ở bên trái, bên phải, cả hai hoặc không

Ghi chú

Nhấn vào đây để tải xuống mã ví dụ đầy đủhere to download the full example code

plt.tight_layout[]
8 tạo ra một con số và một lưới các ô con với một cuộc gọi duy nhất, trong khi cung cấp kiểm soát hợp lý về cách tạo các lô riêng lẻ. Đối với các trường hợp sử dụng nâng cao hơn, bạn có thể sử dụng
plt.tight_layout[]
9 cho bố cục subplot tổng quát hơn hoặc
from matplotlib import pyplot as plt
import numpy as np

xPoints = np.array[[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]]
y1Points = np.array[[12, 14, 16, 18, 10, 12, 14, 16, 18, 120]]
y2Points = np.array[[12, 7, 6, 5, 4, 3, 2, 2, 1, 12]]

plt.subplot[1, 2, 1] # row 1, col 2 index 1
plt.plot[xPoints, y1Points]
plt.title["My first plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.subplot[1, 2, 2] # index 2
plt.plot[xPoints, y2Points]
plt.title["My second plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.show[]
0 để thêm các ô phụ tại các vị trí tùy ý trong hình.

import matplotlib.pyplot as plt
import numpy as np

# Some example data to display
x = np.linspace[0, 2 * np.pi, 400]
y = np.sin[x ** 2]

Một con số chỉ có một subplot#

from matplotlib import pyplot as plt
import numpy as np

xPoints = np.array[[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]]
y1Points = np.array[[12, 14, 16, 18, 10, 12, 14, 16, 18, 120]]
y2Points = np.array[[12, 7, 6, 5, 4, 3, 2, 2, 1, 12]]

plt.subplot[1, 2, 1] # row 1, col 2 index 1
plt.plot[xPoints, y1Points]
plt.title["My first plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.subplot[1, 2, 2] # index 2
plt.plot[xPoints, y2Points]
plt.title["My second plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.show[]
1 mà không có đối số trả về
from matplotlib import pyplot as plt
import numpy as np

xPoints = np.array[[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]]
y1Points = np.array[[12, 14, 16, 18, 10, 12, 14, 16, 18, 120]]
y2Points = np.array[[12, 7, 6, 5, 4, 3, 2, 2, 1, 12]]

plt.subplot[1, 2, 1] # row 1, col 2 index 1
plt.plot[xPoints, y1Points]
plt.title["My first plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.subplot[1, 2, 2] # index 2
plt.plot[xPoints, y2Points]
plt.title["My second plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.show[]
2 và một
from matplotlib import pyplot as plt
import numpy as np

xPoints = np.array[[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]]
y1Points = np.array[[12, 14, 16, 18, 10, 12, 14, 16, 18, 120]]
y2Points = np.array[[12, 7, 6, 5, 4, 3, 2, 2, 1, 12]]

plt.subplot[1, 2, 1] # row 1, col 2 index 1
plt.plot[xPoints, y1Points]
plt.title["My first plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.subplot[1, 2, 2] # index 2
plt.plot[xPoints, y2Points]
plt.title["My second plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.show[]
3.

Đây thực sự là cách đơn giản nhất và được khuyến nghị để tạo một hình và trục duy nhất.

Text[0.5, 1.0, 'A single plot']

Xếp các ô con theo một hướng#

Hai đối số tùy chọn đầu tiên của

plt.tight_layout[]
8 Xác định số lượng hàng và cột của lưới Subplot.

Khi chỉ xếp theo một hướng,

from matplotlib import pyplot as plt
import numpy as np

xPoints = np.array[[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]]
y1Points = np.array[[12, 14, 16, 18, 10, 12, 14, 16, 18, 120]]
y2Points = np.array[[12, 7, 6, 5, 4, 3, 2, 2, 1, 12]]

plt.subplot[1, 2, 1] # row 1, col 2 index 1
plt.plot[xPoints, y1Points]
plt.title["My first plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.subplot[1, 2, 2] # index 2
plt.plot[xPoints, y2Points]
plt.title["My second plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.show[]
5 đã trả về là một mảng numpy 1D chứa danh sách các trục được tạo.

[]

Nếu bạn đang tạo chỉ một vài trục, thật tiện lợi khi giải nén chúng ngay lập tức cho các biến chuyên dụng cho mỗi trục. Bằng cách đó, chúng ta có thể sử dụng

from matplotlib import pyplot as plt
import numpy as np

xPoints = np.array[[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]]
y1Points = np.array[[12, 14, 16, 18, 10, 12, 14, 16, 18, 120]]
y2Points = np.array[[12, 7, 6, 5, 4, 3, 2, 2, 1, 12]]

plt.subplot[1, 2, 1] # row 1, col 2 index 1
plt.plot[xPoints, y1Points]
plt.title["My first plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.subplot[1, 2, 2] # index 2
plt.plot[xPoints, y2Points]
plt.title["My second plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.show[]
6 thay vì nhiều hơn
from matplotlib import pyplot as plt
import numpy as np

xPoints = np.array[[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]]
y1Points = np.array[[12, 14, 16, 18, 10, 12, 14, 16, 18, 120]]
y2Points = np.array[[12, 7, 6, 5, 4, 3, 2, 2, 1, 12]]

plt.subplot[1, 2, 1] # row 1, col 2 index 1
plt.plot[xPoints, y1Points]
plt.title["My first plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.subplot[1, 2, 2] # index 2
plt.plot[xPoints, y2Points]
plt.title["My second plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.show[]
7.

[]

Để có được các ô phụ bên cạnh, hãy truyền các tham số

from matplotlib import pyplot as plt
import numpy as np

xPoints = np.array[[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]]
y1Points = np.array[[12, 14, 16, 18, 10, 12, 14, 16, 18, 120]]
y2Points = np.array[[12, 7, 6, 5, 4, 3, 2, 2, 1, 12]]

plt.subplot[1, 2, 1] # row 1, col 2 index 1
plt.plot[xPoints, y1Points]
plt.title["My first plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.subplot[1, 2, 2] # index 2
plt.plot[xPoints, y2Points]
plt.title["My second plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.show[]
8 cho một hàng và hai cột.

[]

Xếp các ô con theo hai hướng#

Khi xếp chồng theo hai hướng,

from matplotlib import pyplot as plt
import numpy as np

xPoints = np.array[[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]]
y1Points = np.array[[12, 14, 16, 18, 10, 12, 14, 16, 18, 120]]
y2Points = np.array[[12, 7, 6, 5, 4, 3, 2, 2, 1, 12]]

plt.subplot[1, 2, 1] # row 1, col 2 index 1
plt.plot[xPoints, y1Points]
plt.title["My first plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.subplot[1, 2, 2] # index 2
plt.plot[xPoints, y2Points]
plt.title["My second plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.show[]
5 được trả về là một mảng 2D.

Nếu bạn phải đặt các tham số cho mỗi Subplot, nó tiện dụng để lặp lại trên tất cả các ô con trong lưới 2D bằng cách sử dụng

import matplotlib.pyplot as plt
import numpy as np

# Some example data to display
x = np.linspace[0, 2 * np.pi, 400]
y = np.sin[x ** 2]
0.

fig, axs = plt.subplots[2, 2]
axs[0, 0].plot[x, y]
axs[0, 0].set_title['Axis [0, 0]']
axs[0, 1].plot[x, y, 'tab:orange']
axs[0, 1].set_title['Axis [0, 1]']
axs[1, 0].plot[x, -y, 'tab:green']
axs[1, 0].set_title['Axis [1, 0]']
axs[1, 1].plot[x, -y, 'tab:red']
axs[1, 1].set_title['Axis [1, 1]']

for ax in axs.flat:
    ax.set[xlabel='x-label', ylabel='y-label']

# Hide x labels and tick labels for top plots and y ticks for right plots.
for ax in axs.flat:
    ax.label_outer[]

Bạn cũng có thể sử dụng Tuple-Unpacking trong 2D để gán tất cả các ô con cho các biến chuyên dụng:

fig, [[ax1, ax2], [ax3, ax4]] = plt.subplots[2, 2]
fig.suptitle['Sharing x per column, y per row']
ax1.plot[x, y]
ax2.plot[x, y**2, 'tab:orange']
ax3.plot[x, -y, 'tab:green']
ax4.plot[x, -y**2, 'tab:red']

for ax in fig.get_axes[]:
    ax.label_outer[]

Chia sẻ trục#

Theo mặc định, mỗi trục được chia tỷ lệ riêng lẻ. Do đó, nếu các phạm vi khác nhau, các giá trị đánh dấu của các ô con không căn chỉnh.

plt.tight_layout[]
0

Bạn có thể sử dụng chia sẻ hoặc chia sẻ để căn chỉnh trục ngang hoặc dọc.

plt.tight_layout[]
1

Đặt chia sẻ hoặc chia sẻ thành

import matplotlib.pyplot as plt
import numpy as np

# Some example data to display
x = np.linspace[0, 2 * np.pi, 400]
y = np.sin[x ** 2]
1 cho phép chia sẻ toàn cầu trên toàn bộ lưới, tức là các trục y của các ô phụ xếp chồng lên theo chiều dọc có cùng thang điểm khi sử dụng
import matplotlib.pyplot as plt
import numpy as np

# Some example data to display
x = np.linspace[0, 2 * np.pi, 400]
y = np.sin[x ** 2]
2.

plt.tight_layout[]
2

Đối với các ô phụ đang chia sẻ trục, một bộ nhãn Tick là đủ. Nhãn đánh dấu của các trục bên trong được tự động xóa bởi Sharex và Sharey. Vẫn còn một khoảng trống không sử dụng giữa các ô con.

Để kiểm soát chính xác vị trí của các ô con, người ta có thể tạo rõ ràng một

plt.tight_layout[]
9 với
import matplotlib.pyplot as plt
import numpy as np

# Some example data to display
x = np.linspace[0, 2 * np.pi, 400]
y = np.sin[x ** 2]
4, sau đó gọi phương thức
import matplotlib.pyplot as plt
import numpy as np

# Some example data to display
x = np.linspace[0, 2 * np.pi, 400]
y = np.sin[x ** 2]
5 của nó. Ví dụ, chúng ta có thể giảm chiều cao giữa các ô phụ dọc bằng cách sử dụng
import matplotlib.pyplot as plt
import numpy as np

# Some example data to display
x = np.linspace[0, 2 * np.pi, 400]
y = np.sin[x ** 2]
6.

import matplotlib.pyplot as plt
import numpy as np

# Some example data to display
x = np.linspace[0, 2 * np.pi, 400]
y = np.sin[x ** 2]
7 là một phương pháp tiện dụng để loại bỏ nhãn và ve từ các ô con không ở rìa của lưới.

Ngoài

import matplotlib.pyplot as plt
import numpy as np

# Some example data to display
x = np.linspace[0, 2 * np.pi, 400]
y = np.sin[x ** 2]
1 và
import matplotlib.pyplot as plt
import numpy as np

# Some example data to display
x = np.linspace[0, 2 * np.pi, 400]
y = np.sin[x ** 2]
9, cả Sharex và Sharey đều chấp nhận các giá trị 'hàng' và 'col' để chia sẻ các giá trị chỉ trên mỗi hàng hoặc cột.

plt.tight_layout[]
3

Nếu bạn muốn một cấu trúc chia sẻ phức tạp hơn, trước tiên bạn có thể tạo lưới các trục không chia sẻ, sau đó gọi

Text[0.5, 1.0, 'A single plot']
0 hoặc
Text[0.5, 1.0, 'A single plot']
1 để thêm thông tin chia sẻ một posteriori.

plt.tight_layout[]
4

Trục cực#

Tham số subplot_kw của

plt.tight_layout[]
8 kiểm soát các thuộc tính subplot [xem thêm
from matplotlib import pyplot as plt
import numpy as np

xPoints = np.array[[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]]
y1Points = np.array[[12, 14, 16, 18, 10, 12, 14, 16, 18, 120]]
y2Points = np.array[[12, 7, 6, 5, 4, 3, 2, 2, 1, 12]]

plt.subplot[1, 2, 1] # row 1, col 2 index 1
plt.plot[xPoints, y1Points]
plt.title["My first plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.subplot[1, 2, 2] # index 2
plt.plot[xPoints, y2Points]
plt.title["My second plot!"]
plt.xlabel['X-axis ']
plt.ylabel['Y-axis ']

plt.show[]
0]. Cụ thể, điều này có thể được sử dụng để tạo ra một lưới các trục cực.

Tổng thời gian chạy của tập lệnh: [0 phút 7.774 giây] [ 0 minutes 7.774 seconds]

Phòng trưng bày được tạo ra bởi Sphinx-Gallery

Làm thế nào để tôi vẽ hai biểu đồ thanh bên cạnh nhau trong Python?

Bằng cách sử dụng phương thức plt.subplot [], chúng tôi tạo hai ô phụ cạnh nhau.plt.Phương thức thanh [] được sử dụng để tạo nhiều biểu đồ biểu đồ thanh. subplot[] method we create two subplots side by side. plt. bar[] method is used to create multiple bar chart graphs.

Làm thế nào để bạn vẽ hai biểu đồ cạnh nhau?

Để tạo ra nhiều lô, chúng tôi sử dụng chức năng Subplot của mô -đun pyplot trong matplotlib.Tham số: NROWS dành cho số lượng hàng có nghĩa là nếu hàng là 1 thì các ô nằm ngang.NColumns là viết tắt của cột có nghĩa là nếu cột là 1 thì âm mưu nằm thẳng đứng.use the subplot function of pyplot module in Matplotlib. Parameters: nrows is for number of rows means if the row is 1 then the plots lie horizontally. ncolumns stands for column means if the column is 1 then the plot lie vertically.

Làm thế nào để bạn vẽ hai biểu đồ trên cùng một biểu đồ trong Python?

Trong matplotlib, chúng ta có thể vẽ nhiều biểu đồ trong một lô theo hai cách.Một là bằng cách sử dụng hàm Subplot [] và các hàm khác bằng cách chồng chất của biểu đồ thứ hai trên i.e đầu tiên, tất cả các biểu đồ sẽ xuất hiện trên cùng một lô.using subplot[] function and other by superimposition of second graph on the first i.e, all graphs will appear on the same plot.

Làm cách nào để tạo biểu đồ cạnh nhau trong matplotlib?

Sử dụng matplotlib ...
x1_values = [1, 2, 3] Vẽ 1 giá trị ..
y1_values = [1, 2, 3].
plt.Subplot [1, 2, 1] Vẽ biểu đồ 1 ..
x2_values = [1, 2, 3] Vích 2 giá trị ..
y2_values = [3, 2, 1].
plt.Subplot [1, 2, 2] Vẽ lô 2 ..

Bài Viết Liên Quan

Chủ Đề