有没有办法在imshow图形中放置自定义模式到选定区域?更准确地说,我需要使其他正方形中的不同模式表示实验失败的不同模式(并生成解释这些不同模式含义的键),除了携带数字数据的彩色正方形之外。有用的模式示例将是各种类型的十字线。我需要能够在不破坏图表上的主要颜色数字数据关系的情况下完成此操作。
以下是我尝试使用答案中建议的代码。如果我注释错误部分,则imshow会显示出空白处,其中没有来自掩模的数据。我甚至没有尝试为不同的故障类型做不同种类的交叉处理或处理模拟或实验都有效但另一个无效的情况。
编辑3:我从多进程包中收到有关“无法pickle”对象的错误信息。由于程序的原因,它经过多进程包。有没有办法修复这个问题或者不使用add_patches(下面建议的绘图方法不起作用,因为绘图发生在完全不同的坐标系上并绘制连接线)?
以下是我尝试使用答案中建议的代码。如果我注释错误部分,则imshow会显示出空白处,其中没有来自掩模的数据。我甚至没有尝试为不同的故障类型做不同种类的交叉处理或处理模拟或实验都有效但另一个无效的情况。
编辑3:我从多进程包中收到有关“无法pickle”对象的错误信息。由于程序的原因,它经过多进程包。有没有办法修复这个问题或者不使用add_patches(下面建议的绘图方法不起作用,因为绘图发生在完全不同的坐标系上并绘制连接线)?
import numpy as np
import matplotlib.patches as patches
...
grid = np.ma.array(grid, mask=np.isnan(grid))
plot.imshow(grid, interpolation='nearest', aspect='equal', vmax = private.vmax, vmin = private.vmin)
if show_fail and faildat != []:
faildat = faildat[np.lexsort((faildat[:,yind],faildat[:,xind]))]
fails = []
for i in range(len(faildat)):
fails.append((faildat[i,1],faildat[i,0]))
for F in fails:
p = patches.Rectangle(F,1,1,hatch='/',fill=False)
plot.add_patch(p)
plot.minorticks_off()
plot.set_xticks(range(len(placex)))
plot.set_yticks(range(len(placey)))
plot.set_xticklabels(placex)
plot.set_yticklabels(placey, rotation = 0)
plot.colorbar()
plot.show()
plot
的说法,把它用作变量名会让我感到困惑。 - tacaswellpickle
和multiprocessing
是从哪里进入这个问题的? - tacaswell