Hướng dẫn compare two heatmaps python - so sánh hai bản đồ nhiệt python

Tôi có một chức năng vẽ bản đồ nhiệt cho ma trận tương quan của một khung dữ liệu. Chức năng trông như thế này:

def corr_heatmap(data):
    columns = data.columns
    corr_matrix = data.corr()

    fig, ax = plt.subplots(figsize=(7, 7))
    mat = ax.matshow(corr_matrix, cmap='coolwarm')

    ax.set_xticks(range(len(columns)))
    ax.set_yticks(range(len(columns)))
    ax.set_xticklabels(columns)
    ax.set_yticklabels(columns)
    plt.setp(ax.get_xticklabels(), rotation=45, ha='left', rotation_mode='anchor')
    plt.colorbar(mat, fraction=0.045, pad=0.05)
    fig.tight_layout()
    plt.show()

    return mat

Và khi chạy với một khung dữ liệu xuất hiện một cái gì đó như thế này:

Hướng dẫn compare two heatmaps python - so sánh hai bản đồ nhiệt python

Những gì tôi muốn làm là vẽ hai trong số các bản đồ nhiệt bên cạnh nhau, nhưng tôi gặp một số khó khăn khi làm như vậy. Những gì tôi đã làm cho đến nay là cố gắng gán từng bản đồ nhiệt cho một đối tượng Axesimage và sử dụng các ô con để vẽ chúng.

mat1 = corr_heatmap(corr_mat1)
mat2 = corr_heatmap(corr_mat2)

fig = plt.figure(figsize=(15, 15))
ax1 = fig.add_subplot(221)
ax2 = fig.add_subplot(222)
ax1.plot(ma1)
ax2.plot(ma2)

Nhưng điều này cho tôi lỗi sau:

TypeError: float() argument must be a string or a number, not 'AxesImage'

Có ai tình cờ biết được cách mà tôi có thể vẽ hai hình ảnh bản đồ nhiệt cạnh nhau không? Cảm ơn bạn.

CHỈNH SỬA

Trong trường hợp bất cứ ai tự hỏi mã cuối cùng cho những gì tôi muốn làm sẽ trông như thế nào:

def corr_heatmaps(data1, data2, method='pearson'):

    # Basic Configuration
    fig, axes = plt.subplots(ncols=2, figsize=(12, 12))
    ax1, ax2 = axes
    corr_matrix1 = data1.corr(method=method)
    corr_matrix2 = data2.corr(method=method)
    columns1 = corr_matrix1.columns
    columns2 = corr_matrix2.columns

    # Heat maps.
    im1 = ax1.matshow(corr_matrix1, cmap='coolwarm')
    im2 = ax2.matshow(corr_matrix2, cmap='coolwarm')

    # Formatting for heat map 1.
    ax1.set_xticks(range(len(columns1)))
    ax1.set_yticks(range(len(columns1)))
    ax1.set_xticklabels(columns1)
    ax1.set_yticklabels(columns1)
    ax1.set_title(data1.name, y=-0.1)
    plt.setp(ax1.get_xticklabels(), rotation=45, ha='left', rotation_mode='anchor')
    plt.colorbar(im1, fraction=0.045, pad=0.05, ax=ax1)

    # Formatting for heat map 2.
    ax2.set_xticks(range(len(columns2)))
    ax2.set_yticks(range(len(columns2)))
    ax2.set_xticklabels(columns2)
    ax2.set_yticklabels(columns2)
    ax2.set_title(data2.name, y=-0.1)
    plt.setp(ax2.get_xticklabels(), rotation=45, ha='left', rotation_mode='anchor')
    plt.colorbar(im2, fraction=0.045, pad=0.05, ax=ax2)

    fig.tight_layout()

Điều này có thể (khi chạy với hai gấu trúc dữ liệu) xuất ra một cái gì đó dọc theo hình ảnh sau:

Hướng dẫn compare two heatmaps python - so sánh hai bản đồ nhiệt python

How do you make a correlation graph in python?

In this short guide, I’ll show you how to create a Correlation Matrix using Pandas. I’ll also review the steps to display the matrix using Seaborn and Matplotlib.To start, here is a template that ...

Hướng dẫn heatmap python la gì

Tiếp theo trong loạt biểu đồ và đồ thị của chúng tôi với Python là Python Heatmaps và Word Cloud. Hơn nữa, chúng ta sẽ xem Python Heatmap là gì và Python Word Cloud ...

Hướng dẫn bar plot python

Hôm nay, chúng ta sẽ xem cách chúng ta có thể tạo Biểu đồ Python và Biểu đồ thanh Python bằng cách sử dụng thư viện Matplotlib và Seaborn Python . Hơn nữa, trong ...

Hướng dẫn dùng draw graph python

Trước khi bắt đầu với câu hỏi Tại sao Matplotlib là một thư viện phổ biến trong Python? chúng ta đến với vài câu nói đúc kết của người xưa mà còn nguyên ...

Hướng dẫn dùng sns plot python

Blog Tin tức 07/07/2021 01:57Python là một trong những ngôn ngữ lập trình có nhiều thư viện và framework vô cùng mạnh mẽ. Trong số đó, có Seaborn, là một thư viện ...

Hướng dẫn dùng distplot python

Khi phân tích một bộ dữ liệu, thường thì điều đầu tiên bạn sẽ muốn làm là nhận thức về phân phối của dữ liệu. Ý tưởng chính của Seaborn là nó cung ...

Hướng dẫn dùng ploting python

Bài viết được sự cho phép của tác giả Kien Dang ChungNội dung chínhPylab là gì?1. Phân cấp đối tượng trong Matplotlib2. Vẽ đồ thị với plot()2.2 Vẽ nhiều ...

Hướng dẫn dùng sns historgram python

Khi phân tích một bộ dữ liệu, thường thì điều đầu tiên bạn sẽ muốn làm là nhận thức về phân phối của dữ liệu. Ý tưởng chính của Seaborn là nó cung ...

Hướng dẫn dùng ploting python

Bài viết được sự cho phép của tác giả Kien Dang ChungNội dung chínhPylab là gì?1. Phân cấp đối tượng trong Matplotlib2. Vẽ đồ thị với plot()2.2 Vẽ nhiều ...

Hướng dẫn dùng sns historgram python

Hướng dẫn permutations in python w3schools

Random Permutations of ElementsA permutation refers to an arrangement of elements. e.g. [3, 2, 1] is a permutation of [1, 2, 3] and vice-versa.The NumPy Random module provides two methods for this: ...

Hôm nay, chúng ta sẽ xem cách chúng ta có thể tạo Biểu đồ Python và Biểu đồ thanh Python bằng cách sử dụng thư viện Matplotlib và Seaborn Python . Hơn nữa, trong ...

Hướng dẫn dùng sem mean python

Nguyễn Việt Hưng, Toán Tin K53Đồ thị của một tập dữ liệu theo phân phối chuẩnStatistics (thống kê) là một nhánh của toán học, thực hiện thu thập, ...

Hướng dẫn dùng predo distribution python

Hướng dẫn dùng sns scatter python