我想根据另一个pcolormesh(这里称为qm2)绘制一个左下像素位于给定位置的pcolormesh(这里称为qm1)。在
我试着跟着:
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仍保持不变。在
我本以为会是这样的:
{a2}
您的代码中有一个错误,第17行的正确语法是
然而,尽管它确实改变了qm2的位置,但它在数据坐标中并没有这样做,我真的不知道为什么。您可以使用
x_shift
和y_shift
的值,直到到达所需的位置,但这不是很优雅。在我可以提供的一个解决方案是显式地指定} 不是很明确,但我相信它使用了the same convention as ^{} 。在
^{pr2}$pcolormesh
的坐标X,Y。documentation for ^{{cd1>显然,这样的论点被忽略了
偏移仍然以像素为单位,而不是以数据坐标为单位。在
解决方法是定义自己的转换并将其添加到现有变换之前:
^{pr2}$完整示例:
相关问题 更多 >
编程相关推荐