gpt4 book ai didi

python - 突出显示 matplotlib 矩阵上的某些点

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

我使用 imshow() 在 matplotlib 中创建了一个矩阵。当我按下按钮时,我希望突出显示矩阵上的某些标绘点。我在要选择的列表中有一组坐标。我的矩阵也是二进制矩阵。

最佳答案

如果我正确理解您的要求,我会通过 imshow 在矩阵顶部叠加 RGBA,将 alpha channel 设置为零,但以下点除外你想“突出显示”。然后,您可以切换叠加层的可见性以打开和关闭突出显示。

from matplotlib.pyplot import *
import numpy as np

def highlight():
m = np.random.randn(10,10)
highlight = m < 0

# RGBA overlay matrix
overlay = np.zeros((10,10,4))

# we set the red channel to 1
overlay[...,0] = 1.

# and we set the alpha to our boolean matrix 'highlight' so that it is
# transparent except for highlighted pixels
overlay[...,3] = highlight

fig,ax = subplots(1,1,num='Press "h" to highlight pixels < 0')

im = ax.imshow(m,interpolation='nearest',cmap=cm.gray)
colorbar(im)
ax.hold(True)
h = ax.imshow(overlay,interpolation='nearest',visible=False)

def toggle_highlight(event):
# if the user pressed h, toggle the visibility of the overlay
if event.key == 'h':
h.set_visible(not h.get_visible())
fig.canvas.draw()

# connect key events to the 'toggle_highlight' callback
fig.canvas.mpl_connect('key_release_event',toggle_highlight)

关于python - 突出显示 matplotlib 矩阵上的某些点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15731223/

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