gpt4 book ai didi

Python matplotlib : how to let matrixplot have variable column widths

转载 作者:太空宇宙 更新时间:2023-11-04 00:17:10 25 4
gpt4 key购买 nike

我有一个简单的需求,但找不到简单的解决方案。我有一个要绘制的矩阵,但我希望行/列具有给定的宽度。

看起来像 block 矩阵的东西,您可以在其中告诉 block 大小。

接受具有相同视觉结果的任何解决方法。

import matplotlib.pyplot as plt
import numpy as np


samplemat = np.random.rand(3,3)
widths = np.array([.7, .2, .1])

# Display matrix
plt.matshow(samplemat)

plt.show()

Usual outcome

Desired outcome (fake drawing)

最佳答案

matshowimshow 使用相同大小的单元格。因此它们不能在这里使用。相反,您可以使用 pcolorpcolormesh。这将需要提供单元格边缘的坐标。
因此,您首先需要根据给定的宽度计算那些。假设您希望它们从 0 开始,您可以将它们相加。

import matplotlib.pyplot as plt
import numpy as np; np.random.seed(43)


samplemat = np.random.rand(3,3)
widths = np.array([.7, .2, .1])
coords = np.cumsum(np.append([0], widths))
X,Y = np.meshgrid(coords,coords)
# Display matrix
plt.pcolormesh(X,Y,samplemat)

plt.show()

enter image description here

关于Python matplotlib : how to let matrixplot have variable column widths,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50495998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com