在Matlab中使用`spy`为不同的数字获取不同的颜色

Ala*_*anH 3 matlab sparse-matrix

当我使用间谍检查稀疏模式时,它无法将某些元素与其他元素区分开。有什么办法吗?举例来说,等于的元素10为红色,而等于的所有元素9为蓝色。我可以在一个spy情节中得到这个吗?

我只能更改绘图点的大小和样式。

yuk*_*yuk 5

这是您可以执行的操作:

spy(a,'k')
hold on
spy(a==10,'r')
spy(a==9,'b')
hold off
Run Code Online (Sandbox Code Playgroud)

另一种方法是使用scatter代替spy

[x,y] = find(a);
clr = a(a~=0);
scatter(x,y,[],clr)
set(gca,'YDir','rev')
Run Code Online (Sandbox Code Playgroud)

在这种情况下,这些点将a根据当前图形颜色图的值进行着色。