考虑下面的矩阵图
randdata = rand(1000,3);
[~,ax] = plotmatrix(randdata)例如,如果我想清除诊断图,我将使用以下方法
ClrIndx = find(eye(size(randdata,2)))
ClrIndx =
1
5
9
cla(ax(ClrIndx))但是诊断图没有被清除,只是为了确保我比较了轴处理。
double(ax)
ans =
0.0029 3.0029 6.0029
1.0029 4.0029 7.0029
2.0029 5.0029 8.0029
double(ax(ClrIndx))
ans =
0.0029
4.0029
8.0029它确认了我有正确的轴句柄,但是cla()命令仍然没有清除诊断图,我做错了什么?
发布于 2016-06-29 14:45:47
结果发现,plotmatrix有很多斧头魔法。从帮助的角度来看,它使用了多种辅助的无形轴。你需要清除最后一个:
[~,~,~,~,pax]=plotmatrix(randdata);
cla(pax(LinearClrIndex));指数应该是线性的:在5x5矩阵图的情况下,pax将是一个5元素数组。
如果要删除轴,而不仅仅是清除它,还需要第二个输出:
randdata = rand(5)
[~,ax,~,~,pax]=plotmatrix(randdata);
delete(pax(2));
delete(ax(2,2));这将在(2,2)位置留下一个空洞百出的空洞。
https://stackoverflow.com/questions/38102479
复制相似问题