Matplotlib 热图轴标签与单元格未正确对齐

问题描述 投票:0回答:1

这是我用来生成热图的代码:

    import numpy as np
    import matplotlib.pyplot as plt

    x_values = [x for x in range(5)]
    y_values = [y for y in range(7)]
    z_values = np.random.rand(len(y_values), len(x_values))
    plt.imshow(z_values, cmap='viridis', extent=[min(x_values), max(x_values), min(y_values), max(y_values)],
               origin='lower', aspect='auto')

    plt.gca().invert_yaxis()

    # Add labels for every y-axis point and every second x-axis point
    plt.yticks(np.arange(len(y_values)), y_values)
    plt.xticks(np.arange(0, len(x_values), 2), x_values[::2])

    plt.show()

这是示例结果:

很明显,x 轴和 y 轴标签排列错误。我该如何解决这个问题?

python matplotlib heatmap
1个回答
1
投票

改变一下

extent=[min(x_values), max(x_values), min(y_values), max(y_values)]

extent=[min(x_values), max(x_values) + 1, min(y_values), max(y_values) + 1]

在通话中

imshow

© www.soinside.com 2019 - 2024. All rights reserved.