Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Khi khám phá dữ liệu đa chiều, một cách tiếp cận hữu ích là vẽ nhiều trường hợp của cùng một lô trên các tập hợp con khác nhau của bộ dữ liệu của bạn. Kỹ thuật này đôi khi được gọi là âm mưu của Latt Lattice, hay Trellis, và nó có liên quan đến ý tưởng về bội số nhỏ. Nó cho phép người xem nhanh chóng trích xuất một lượng lớn thông tin về một bộ dữ liệu phức tạp. Matplotlib cung cấp hỗ trợ tốt để tạo ra các số liệu có nhiều trục; Seaborn xây dựng trên đỉnh này để liên kết trực tiếp cấu trúc của lô với cấu trúc của bộ dữ liệu của bạn.

Các chức năng ở cấp độ hình được xây dựng trên đỉnh của các đối tượng được thảo luận trong chương này của hướng dẫn. Trong hầu hết các trường hợp, bạn sẽ muốn làm việc với các chức năng đó. Họ chăm sóc một số sổ sách quan trọng để đồng bộ hóa nhiều lô trong mỗi lưới. Chương này giải thích cách các đối tượng cơ bản hoạt động, có thể hữu ích cho các ứng dụng nâng cao.figure-level functions are built on top of the objects discussed in this chapter of the tutorial. In most cases, you will want to work with those functions. They take care of some important bookkeeping that synchronizes the multiple plots in each grid. This chapter explains how the underlying objects work, which may be useful for advanced applications.

Bội số nhỏ có điều kiện#

Lớp

g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()
3 rất hữu ích khi bạn muốn trực quan hóa phân phối của một biến hoặc mối quan hệ giữa nhiều biến riêng biệt trong các tập hợp con của bộ dữ liệu của bạn. A
g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()
3 có thể được vẽ với tối đa ba chiều:
g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()
5,
g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()
6 và
g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()
7. Hai đầu tiên có sự tương ứng rõ ràng với mảng trục kết quả; Hãy nghĩ về biến màu như một chiều thứ ba dọc theo trục độ sâu, trong đó các cấp độ khác nhau được vẽ với các màu khác nhau.

Mỗi

g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()
8,
g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()
9,
g = sns.FacetGrid(tips, row="smoker", col="time", margin_titles=True)
g.map(sns.regplot, "size", "total_bill", color=".3", fit_reg=False, x_jitter=.1)
0 và
g = sns.FacetGrid(tips, row="smoker", col="time", margin_titles=True)
g.map(sns.regplot, "size", "total_bill", color=".3", fit_reg=False, x_jitter=.1)
1 Sử dụng đối tượng này trong nội bộ và chúng trả lại đối tượng khi chúng được hoàn thành để nó có thể được sử dụng để điều chỉnh thêm.

Lớp được sử dụng bằng cách khởi tạo đối tượng

g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()
3 với khung dữ liệu và tên của các biến sẽ tạo thành kích thước hàng, cột hoặc màu của lưới của lưới. Các biến này phải là phân loại hoặc rời rạc, và sau đó dữ liệu ở mỗi cấp của biến sẽ được sử dụng cho một khía cạnh dọc theo trục đó. Ví dụ, giả sử chúng tôi muốn kiểm tra sự khác biệt giữa bữa trưa và bữa tối trong bộ dữ liệu
g = sns.FacetGrid(tips, row="smoker", col="time", margin_titles=True)
g.map(sns.regplot, "size", "total_bill", color=".3", fit_reg=False, x_jitter=.1)
3:

tips = sns.load_dataset("tips")
g = sns.FacetGrid(tips, col="time")

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Khởi tạo lưới như thế này thiết lập hình và trục matplotlib, nhưng không vẽ bất cứ thứ gì trên chúng.

Cách tiếp cận chính để trực quan hóa dữ liệu trên lưới này là với phương pháp

g = sns.FacetGrid(tips, row="smoker", col="time", margin_titles=True)
g.map(sns.regplot, "size", "total_bill", color=".3", fit_reg=False, x_jitter=.1)
4. Cung cấp cho nó một hàm vẽ đồ thị và tên của (các) biến trong DataFrame để vẽ. Hãy cùng xem xét phân phối các mẹo trong mỗi tập hợp con này, sử dụng biểu đồ:

g = sns.FacetGrid(tips, col="time")
g.map(sns.histplot, "tip")

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Hàm này sẽ vẽ hình và chú thích các trục, hy vọng tạo ra một cốt truyện đã hoàn thành trong một bước. Để tạo ra một âm mưu quan hệ, chỉ cần truyền nhiều tên biến. Bạn cũng có thể cung cấp các đối số từ khóa, sẽ được chuyển đến chức năng âm mưu:

g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Có một số tùy chọn để kiểm soát giao diện của lưới có thể được chuyển cho hàm tạo lớp.

g = sns.FacetGrid(tips, row="smoker", col="time", margin_titles=True)
g.map(sns.regplot, "size", "total_bill", color=".3", fit_reg=False, x_jitter=.1)

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Lưu ý rằng

g = sns.FacetGrid(tips, row="smoker", col="time", margin_titles=True)
g.map(sns.regplot, "size", "total_bill", color=".3", fit_reg=False, x_jitter=.1)
5 không chính thức được hỗ trợ bởi API Matplotlib và có thể không hoạt động tốt trong mọi trường hợp. Cụ thể, hiện tại nó có thể được sử dụng với một huyền thoại nằm ngoài cốt truyện.

Kích thước của hình được đặt bằng cách cung cấp chiều cao của mỗi khía cạnh, cùng với tỷ lệ khung hình:

g = sns.FacetGrid(tips, col="day", height=4, aspect=.5)
g.map(sns.barplot, "sex", "total_bill", order=["Male", "Female"])

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Thứ tự mặc định của các khía cạnh được lấy từ thông tin trong DataFrame. Nếu biến được sử dụng để xác định các khía cạnh có loại phân loại, thì thứ tự của các loại được sử dụng. Nếu không, các khía cạnh sẽ theo thứ tự xuất hiện của các cấp độ danh mục. Tuy nhiên, có thể chỉ định thứ tự của bất kỳ kích thước khía cạnh nào với tham số

g = sns.FacetGrid(tips, row="smoker", col="time", margin_titles=True)
g.map(sns.regplot, "size", "total_bill", color=".3", fit_reg=False, x_jitter=.1)
6 thích hợp:

ordered_days = tips.day.value_counts().index
g = sns.FacetGrid(tips, row="day", row_order=ordered_days,
                  height=1.7, aspect=4,)
g.map(sns.kdeplot, "total_bill")

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Bất kỳ bảng màu Seaborn nào (nghĩa là, một thứ có thể được truyền đến

g = sns.FacetGrid(tips, row="smoker", col="time", margin_titles=True)
g.map(sns.regplot, "size", "total_bill", color=".3", fit_reg=False, x_jitter=.1)
7 có thể được cung cấp. Bạn cũng có thể sử dụng một từ điển ánh xạ tên của các giá trị trong biến
g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()
7 cho màu matplotlib hợp lệ:

pal = dict(Lunch="seagreen", Dinner=".7")
g = sns.FacetGrid(tips, hue="time", palette=pal, height=5)
g.map(sns.scatterplot, "total_bill", "tip", s=100, alpha=.5)
g.add_legend()

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Nếu bạn có nhiều cấp độ của một biến, bạn có thể vẽ nó dọc theo các cột nhưng lại bao bọc chúng để chúng trải rộng nhiều hàng. Khi làm điều này, bạn không thể sử dụng biến

g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()
5.

attend = sns.load_dataset("attention").query("subject <= 12")
g = sns.FacetGrid(attend, col="subject", col_wrap=4, height=2, ylim=(0, 10))
g.map(sns.pointplot, "solutions", "score", order=[1, 2, 3], color=".3", errorbar=None)

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Khi bạn đã vẽ một lô bằng cách sử dụng

g = sns.FacetGrid(tips, row="smoker", col="time", margin_titles=True)
g.map(sns.regplot, "size", "total_bill", color=".3", fit_reg=False, x_jitter=.1)
4 (có thể được gọi là nhiều lần), bạn có thể muốn điều chỉnh một số khía cạnh của cốt truyện. Ngoài ra còn có một số phương pháp trên đối tượng
g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()
3 để điều khiển hình ở mức độ trừu tượng cao hơn. Tổng quát nhất là
g = sns.FacetGrid(tips, col="day", height=4, aspect=.5)
g.map(sns.barplot, "sex", "total_bill", order=["Male", "Female"])
2, và có những phương pháp chuyên dụng khác như
g = sns.FacetGrid(tips, col="day", height=4, aspect=.5)
g.map(sns.barplot, "sex", "total_bill", order=["Male", "Female"])
3, điều này tôn trọng thực tế là các khía cạnh bên trong không có nhãn trục. Ví dụ:

with sns.axes_style("white"):
    g = sns.FacetGrid(tips, row="sex", col="smoker", margin_titles=True, height=2.5)
g.map(sns.scatterplot, "total_bill", "tip", color="#334488")
g.set_axis_labels("Total bill (US Dollars)", "Tip")
g.set(xticks=[10, 30, 50], yticks=[2, 6, 10])
g.figure.subplots_adjust(wspace=.02, hspace=.02)

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Để tùy biến nhiều hơn, bạn có thể làm việc trực tiếp với các đối tượng Matplotlib

g = sns.FacetGrid(tips, col="day", height=4, aspect=.5)
g.map(sns.barplot, "sex", "total_bill", order=["Male", "Female"])
4 và
g = sns.FacetGrid(tips, col="day", height=4, aspect=.5)
g.map(sns.barplot, "sex", "total_bill", order=["Male", "Female"])
5, được lưu trữ dưới dạng thuộc tính thành viên tại
g = sns.FacetGrid(tips, col="day", height=4, aspect=.5)
g.map(sns.barplot, "sex", "total_bill", order=["Male", "Female"])
6 và
g = sns.FacetGrid(tips, col="day", height=4, aspect=.5)
g.map(sns.barplot, "sex", "total_bill", order=["Male", "Female"])
7, tương ứng. Khi tạo một hình không có mặt hàng hoặc cột, bạn cũng có thể sử dụng thuộc tính
g = sns.FacetGrid(tips, col="day", height=4, aspect=.5)
g.map(sns.barplot, "sex", "total_bill", order=["Male", "Female"])
8 để truy cập trực tiếp các trục đơn.

g = sns.FacetGrid(tips, col="smoker", margin_titles=True, height=4)
g.map(plt.scatter, "total_bill", "tip", color="#338844", edgecolor="white", s=50, lw=1)
for ax in g.axes_dict.values():
    ax.axline((0, 0), slope=.2, c=".2", ls="--", zorder=0)
g.set(xlim=(0, 60), ylim=(0, 14))

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Sử dụng các chức năng tùy chỉnh#

Bạn không giới hạn ở các chức năng matplotlib và Seaborn hiện có khi sử dụng

g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()
3. Tuy nhiên, để hoạt động đúng, bất kỳ chức năng nào bạn sử dụng phải tuân theo một vài quy tắc:

  1. Nó phải vẽ lên hiện tại, hiện tại đang hoạt động, Matplotlib

    g = sns.FacetGrid(tips, col="day", height=4, aspect=.5)
    g.map(sns.barplot, "sex", "total_bill", order=["Male", "Female"])
    
    5. Điều này sẽ đúng với các hàm trong không gian tên
    ordered_days = tips.day.value_counts().index
    g = sns.FacetGrid(tips, row="day", row_order=ordered_days,
                      height=1.7, aspect=4,)
    g.map(sns.kdeplot, "total_bill")
    
    1 và bạn có thể gọi
    ordered_days = tips.day.value_counts().index
    g = sns.FacetGrid(tips, row="day", row_order=ordered_days,
                      height=1.7, aspect=4,)
    g.map(sns.kdeplot, "total_bill")
    
    2 để có được tham chiếu đến
    g = sns.FacetGrid(tips, col="day", height=4, aspect=.5)
    g.map(sns.barplot, "sex", "total_bill", order=["Male", "Female"])
    
    5 hiện tại nếu bạn muốn làm việc trực tiếp với các phương thức của nó.

  2. Nó phải chấp nhận dữ liệu mà nó vẽ trong các đối số vị trí. Trong nội bộ,

    g = sns.FacetGrid(tips, col="sex", hue="smoker")
    g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
    g.add_legend()
    
    3 sẽ truyền một
    ordered_days = tips.day.value_counts().index
    g = sns.FacetGrid(tips, row="day", row_order=ordered_days,
                      height=1.7, aspect=4,)
    g.map(sns.kdeplot, "total_bill")
    
    5 dữ liệu cho mỗi đối số vị trí được đặt tên được truyền cho
    g = sns.FacetGrid(tips, row="smoker", col="time", margin_titles=True)
    g.map(sns.regplot, "size", "total_bill", color=".3", fit_reg=False, x_jitter=.1)
    
    4.

  3. Nó phải có khả năng chấp nhận các đối số từ khóa

    ordered_days = tips.day.value_counts().index
    g = sns.FacetGrid(tips, row="day", row_order=ordered_days,
                      height=1.7, aspect=4,)
    g.map(sns.kdeplot, "total_bill")
    
    7 và ____58, và, lý tưởng nhất, nó sẽ làm một cái gì đó hữu ích với chúng. Trong hầu hết các trường hợp, nó dễ dàng nhất để bắt một từ điển chung là
    ordered_days = tips.day.value_counts().index
    g = sns.FacetGrid(tips, row="day", row_order=ordered_days,
                      height=1.7, aspect=4,)
    g.map(sns.kdeplot, "total_bill")
    
    9 và chuyển nó đến chức năng âm mưu cơ bản.

Hãy cùng xem xét ví dụ tối thiểu về một chức năng mà bạn có thể vẽ với. Chức năng này sẽ chỉ lấy một vectơ dữ liệu duy nhất cho mỗi khía cạnh:

g = sns.FacetGrid(tips, col="time")
g.map(sns.histplot, "tip")
0

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Nếu chúng tôi muốn tạo biểu đồ bivariate, bạn nên viết hàm để nó chấp nhận biến trục x trước và biến trục y thứ hai:

g = sns.FacetGrid(tips, col="time")
g.map(sns.histplot, "tip")
1

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Bởi vì

pal = dict(Lunch="seagreen", Dinner=".7")
g = sns.FacetGrid(tips, hue="time", palette=pal, height=5)
g.map(sns.scatterplot, "total_bill", "tip", s=100, alpha=.5)
g.add_legend()
0 chấp nhận các đối số từ khóa
ordered_days = tips.day.value_counts().index
g = sns.FacetGrid(tips, row="day", row_order=ordered_days,
                  height=1.7, aspect=4,)
g.map(sns.kdeplot, "total_bill")
7 và
ordered_days = tips.day.value_counts().index
g = sns.FacetGrid(tips, row="day", row_order=ordered_days,
                  height=1.7, aspect=4,)
g.map(sns.kdeplot, "total_bill")
8 và thực hiện đúng với chúng, chúng ta có thể thêm một khía cạnh màu sắc mà không gặp khó khăn nào:

g = sns.FacetGrid(tips, col="time")
g.map(sns.histplot, "tip")
2

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Tuy nhiên, đôi khi, bạn sẽ muốn ánh xạ một chức năng không hoạt động theo cách bạn mong đợi với các đối số từ khóa

ordered_days = tips.day.value_counts().index
g = sns.FacetGrid(tips, row="day", row_order=ordered_days,
                  height=1.7, aspect=4,)
g.map(sns.kdeplot, "total_bill")
7 và
ordered_days = tips.day.value_counts().index
g = sns.FacetGrid(tips, row="day", row_order=ordered_days,
                  height=1.7, aspect=4,)
g.map(sns.kdeplot, "total_bill")
8. Trong trường hợp này, bạn sẽ muốn bắt chúng một cách rõ ràng và xử lý chúng trong logic của chức năng tùy chỉnh của bạn. Ví dụ, phương pháp này sẽ cho phép sử dụng để ánh xạ
pal = dict(Lunch="seagreen", Dinner=".7")
g = sns.FacetGrid(tips, hue="time", palette=pal, height=5)
g.map(sns.scatterplot, "total_bill", "tip", s=100, alpha=.5)
g.add_legend()
5, nếu không thì không chơi tốt với API
g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()
3:

g = sns.FacetGrid(tips, col="time")
g.map(sns.histplot, "tip")
3

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Vẽ các mối quan hệ dữ liệu theo cặp#

pal = dict(Lunch="seagreen", Dinner=".7")
g = sns.FacetGrid(tips, hue="time", palette=pal, height=5)
g.map(sns.scatterplot, "total_bill", "tip", s=100, alpha=.5)
g.add_legend()
7 cũng cho phép bạn nhanh chóng vẽ một lưới các ô con nhỏ bằng cách sử dụng cùng loại lô để trực quan hóa dữ liệu trong mỗi loại. Trong một
pal = dict(Lunch="seagreen", Dinner=".7")
g = sns.FacetGrid(tips, hue="time", palette=pal, height=5)
g.map(sns.scatterplot, "total_bill", "tip", s=100, alpha=.5)
g.add_legend()
7, mỗi hàng và cột được gán cho một biến khác nhau, do đó biểu đồ kết quả hiển thị mỗi mối quan hệ cặp trong bộ dữ liệu. Phong cách cốt truyện này đôi khi được gọi là ma trận phân tán của người Viking, vì đây là cách phổ biến nhất để hiển thị mỗi mối quan hệ, nhưng
pal = dict(Lunch="seagreen", Dinner=".7")
g = sns.FacetGrid(tips, hue="time", palette=pal, height=5)
g.map(sns.scatterplot, "total_bill", "tip", s=100, alpha=.5)
g.add_legend()
7 không giới hạn ở các biểu đồ phân tán.

Điều quan trọng là phải hiểu sự khác biệt giữa

g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()
3 và
pal = dict(Lunch="seagreen", Dinner=".7")
g = sns.FacetGrid(tips, hue="time", palette=pal, height=5)
g.map(sns.scatterplot, "total_bill", "tip", s=100, alpha=.5)
g.add_legend()
7. Trước đây, mỗi khía cạnh cho thấy cùng một mối quan hệ được điều hòa trên các cấp độ khác nhau của các biến khác. Trong phần sau, mỗi âm mưu cho thấy một mối quan hệ khác nhau (mặc dù các hình tam giác trên và dưới sẽ có các ô được nhân đôi). Sử dụng
pal = dict(Lunch="seagreen", Dinner=".7")
g = sns.FacetGrid(tips, hue="time", palette=pal, height=5)
g.map(sns.scatterplot, "total_bill", "tip", s=100, alpha=.5)
g.add_legend()
7 có thể cung cấp cho bạn một bản tóm tắt rất nhanh, rất cao về các mối quan hệ thú vị trong bộ dữ liệu của bạn.

Việc sử dụng cơ bản của lớp rất giống với

g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()
3. Đầu tiên, bạn khởi tạo lưới, sau đó bạn chuyển hàm vẽ sơ đồ sang phương thức
attend = sns.load_dataset("attention").query("subject <= 12")
g = sns.FacetGrid(attend, col="subject", col_wrap=4, height=2, ylim=(0, 10))
g.map(sns.pointplot, "solutions", "score", order=[1, 2, 3], color=".3", errorbar=None)
4 và nó sẽ được gọi trên mỗi subplot. Ngoài ra còn có một chức năng đồng hành,
attend = sns.load_dataset("attention").query("subject <= 12")
g = sns.FacetGrid(attend, col="subject", col_wrap=4, height=2, ylim=(0, 10))
g.map(sns.pointplot, "solutions", "score", order=[1, 2, 3], color=".3", errorbar=None)
5 giao dịch một số tính linh hoạt cho âm mưu nhanh hơn.

g = sns.FacetGrid(tips, col="time")
g.map(sns.histplot, "tip")
4

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Nó có thể vẽ một hàm khác nhau trên đường chéo để hiển thị phân phối đơn biến của biến trong mỗi cột. Lưu ý rằng các ve trục đã giành chiến thắng tương ứng với trục đếm hoặc mật độ của âm mưu này.

g = sns.FacetGrid(tips, col="time")
g.map(sns.histplot, "tip")
5

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Một cách rất phổ biến để sử dụng biểu đồ này màu sắc quan sát bằng một biến phân loại riêng biệt. Ví dụ, bộ dữ liệu IRIS có bốn phép đo cho mỗi ba loài hoa mống mắt khác nhau để bạn có thể thấy chúng khác nhau như thế nào.

g = sns.FacetGrid(tips, col="time")
g.map(sns.histplot, "tip")
6

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Theo mặc định, mọi cột số trong tập dữ liệu được sử dụng, nhưng bạn có thể tập trung vào các mối quan hệ cụ thể nếu bạn muốn.

g = sns.FacetGrid(tips, col="time")
g.map(sns.histplot, "tip")
7

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Nó cũng có thể sử dụng một chức năng khác ở các hình tam giác trên và dưới để nhấn mạnh các khía cạnh khác nhau của mối quan hệ.

g = sns.FacetGrid(tips, col="time")
g.map(sns.histplot, "tip")
8

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Lưới vuông với các mối quan hệ nhận dạng trên đường chéo thực sự chỉ là một trường hợp đặc biệt và bạn có thể vẽ đồ thị với các biến khác nhau trong các hàng và cột.

g = sns.FacetGrid(tips, col="time")
g.map(sns.histplot, "tip")
9

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Tất nhiên, các thuộc tính thẩm mỹ có thể cấu hình. Chẳng hạn, bạn có thể sử dụng một bảng màu khác (giả sử, để hiển thị thứ tự của biến

g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()
7) và chuyển các đối số từ khóa vào các hàm âm mưu.

g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()
0

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

pal = dict(Lunch="seagreen", Dinner=".7")
g = sns.FacetGrid(tips, hue="time", palette=pal, height=5)
g.map(sns.scatterplot, "total_bill", "tip", s=100, alpha=.5)
g.add_legend()
7 rất linh hoạt, nhưng để xem nhanh một bộ dữ liệu, việc sử dụng
attend = sns.load_dataset("attention").query("subject <= 12")
g = sns.FacetGrid(attend, col="subject", col_wrap=4, height=2, ylim=(0, 10))
g.map(sns.pointplot, "solutions", "score", order=[1, 2, 3], color=".3", errorbar=None)
5 có thể dễ dàng hơn. Chức năng này sử dụng các biểu đồ và biểu đồ theo mặc định, mặc dù một vài loại khác sẽ được thêm vào (hiện tại, bạn cũng có thể vẽ sơ đồ các sơ đồ hồi quy trên các đường chéo và KDE trên đường chéo).

g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()
1

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Bạn cũng có thể kiểm soát tính thẩm mỹ của cốt truyện với các đối số từ khóa và nó trả về thể hiện

pal = dict(Lunch="seagreen", Dinner=".7")
g = sns.FacetGrid(tips, hue="time", palette=pal, height=5)
g.map(sns.scatterplot, "total_bill", "tip", s=100, alpha=.5)
g.add_legend()
7 để điều chỉnh thêm.

g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend()
2

Hướng dẫn how do you plot 4 graphs in one figure in python seaborn? - làm thế nào để bạn vẽ 4 đồ thị trong một hình trong python seaborn?

Có bao nhiêu lô ở Seaborn?

14 Sơ đồ trực quan hóa dữ liệu của Seaborn. Data Visualization Plots of Seaborn.

Các lô lưới cặp trong Seaborn là gì?

PairGrid cho phép chúng tôi vẽ một lưới các ô con bằng cách sử dụng cùng loại lô để trực quan hóa dữ liệu.Không giống như FacetGrid, nó sử dụng các cặp biến khác nhau cho mỗi subplot.Nó tạo thành một ma trận của các ô phụ.Nó cũng đôi khi được gọi là Ma trận Scatterplot.allows us to draw a grid of subplots using the same plot type to visualize data. Unlike FacetGrid, it uses different pair of variable for each subplot. It forms a matrix of sub-plots. It is also sometimes called as “scatterplot matrix”.