数据有12行,而不是第N行1 ... 12,图表的列应该是6 ... 89,就像数据的第一列一样。然后X坐标是另外两行。关于间谍的文档没有提到关于轴的任何内容,所以试过以下但没有工作
>> spy(C(neg,:))
>> axis([1 31 6 89]); spy(C(neg,:)) #xmin xmax ymin ymax
>> axis on; axis([1 31 6 89]); spy(C(neg,:))
>> axis on; a=spy(C(neg,:)); axis(a,[1 31 6 89]);
Error using spy
Too many output arguments.
所以
如何使用正确标记的轴可视化稀疏数据?
示例
数据
6 2 7 11 4 7 26 9 7 36 12 7 44 15 7 55 21 7 60 16 11 7 62 23 7 86 28 7 87 27 7 89 25 11 7
此图显示错误的垂直标签0 2 4 ... 12而不是6 7 ... 89
答案 0 :(得分:1)
让我们试试一个完整矩阵的例子
sami = sparse(1000,1000);
spy(1 - sami);
axis([1 31 6 89]);
首先获得左侧图片,然后是右侧图片
你的错误就在这里:命令轴是还原剂。 您可能会将其与保持命令混淆。
然后,你在命令
中有一个拼写错误axis(a,[1 31 6 89]);
应该只是
axis([1 31 6 89]);
继续!
答案 1 :(得分:0)
C([10,20,100],:)
等表达式的问题在于它会改变您的Y轴,因此原始的10将是1,原始的20将是2而原始的100将是3的y轴。诀窍是不要把事情搞清楚,因为Matlab将重新定义轴,所以创建一个新变量CC
,你将不需要的东西重新定义为零,然后正如Masi所提到的那样使用轴 - 在间谍命令之后!
示例强>