gpt4 book ai didi

python - 在不同位置画几个pcolormesh

转载 作者:太空宇宙 更新时间:2023-11-04 04:53:22 26 4
gpt4 key购买 nike

我想根据另一个 pcolormesh(此处称为 qm1)在给定位置绘制一个 pcolormesh(此处称为 qm2),其左下角像素位于给定位置。

我试过以下:

import matplotlib.pyplot as plt
import numpy as np

if __name__ == '__main__':

s_det = 4
s_array = 14

x_shift = 5
y_shift = 5

array = np.zeros([s_array, s_array])
det = np.random.randint(0, 2, [s_det, s_det])

qm1 = plt.pcolormesh(array, alpha=.0)
qm2 = plt.pcolormesh(det, cmap='Oranges', edgecolor='black')
qm2.set_offset_position('data')
qm2.set_offsets = ([x_shift, y_shift])

ax = plt.axes()
ax.set_aspect('equal')
plt.show()

但是 qm2 保持不变。

pcolormesh

我期待这样的事情:

enter image description here

最佳答案

你的代码有错别字,第 17 行的正确语法是

qm2.set_offsets([x_shift, y_shift])

然而,虽然它确实移动了 qm2 的位置,但它并没有在数据坐标中这样做,我真的不知道为什么。您可以调整 x_shifty_shift 的值,直到到达所需的位置,但这不是很优雅。

我可以提供的一种解决方案是显式指定 pcolormesh 的坐标 X、Y。 documentation for pcolormesh不是很明确,但我相信它使用了 the same convention as pcolor .

s_det = 4
s_array = 14

x_shift = 5
y_shift = 5

array = np.zeros([s_array, s_array])
det = np.random.randint(0, 2, [s_det, s_det])

qm2_x = x_shift + np.arange(s_det+1)
qm2_y = y_shift + np.arange(s_det+1)

qm1 = plt.pcolormesh(array, alpha=.0)
qm2 = plt.pcolormesh(qm2_x, qm2_y, det, cmap='Oranges', edgecolor='black')

ax = plt.axes()
ax.set_aspect('equal')
plt.show()

enter image description here

关于python - 在不同位置画几个pcolormesh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47670727/

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