我使用imagesc
命令在MATLAB中绘制了一个7x7像素的'image‘:
imagesc(conf_matrix, [0 1]);
这表示七个不同对象之间的confusion matrix。我有七个对象的缩略图,我想用它们作为轴的刻度标签。有什么简单的方法可以做到这一点吗?
发布于 2011-01-31 20:50:08
我不知道一种简单的方法。确定标签的轴属性XtickLabel
只能是字符串。
如果你想要一种不那么简单的方法,你可以按照以下非完整(在非完整解决方案的意义上)代码的精神来做一些事情,创建一个标签:
h = imagesc(rand(7,7));
axh = gca;
figh = gcf;
xticks = get(gca,'xtick');
yticks = get(gca,'ytick');
set(gca,'XTickLabel','');
set(gca,'YTickLabel','');
pos = get(axh,'position'); % position of current axes in parent figure
pic = imread('coins.png');
x = pos(1);
y = pos(2);
dlta = (pos(3)-pos(1)) / length(xticks); % square size in units of parant figure
% create image label
lblAx = axes('parent',figh,'position',[x+dlta/4,y-dlta/2,dlta/2,dlta/2]);
imagesc(pic,'parent',lblAx)
axis(lblAx,'off')
一个问题是标签将具有与原始图像相同的色彩映射表。
https://stackoverflow.com/questions/4850002
复制相似问题