我认为这是一个简单的问题:我有一个使用imagesc
成像的矩阵。我只是想在图像的右侧显示第二个y轴。我怎么做?例如:
clear all;
aMatrix = rand(20,30);
yAxis1 = 32.*(1:size(aMatrix,1));
yAxis2 = 165.*(1:size(aMatrix,1));
xAxis = 1:size(aMatrix,2);
imagesc(yAxis1, xAxis1, aMatrix);
以下将在左侧显示yAxis1
的图像。这很好,但如何在图片的右侧同时显示yAxis2
?感谢。
答案 0 :(得分:6)
aMatrix = rand(20,30);
yAxis1 = 32.*(1:size(aMatrix,1));
yAxis2 = 165.*(1:size(aMatrix,1));
xAxis = 1:size(aMatrix,2);
h1=imagesc(xAxis, yAxis1, aMatrix);set(gca,'YDir','normal');
ax1=gca;
set(ax1,'YColor','r','YAxisLocation','right');
set(ax1,'XTickLabel',' ');
ax2=axes('Position',get(ax1,'Position'),'YAxisLocation','left');
h2=imagesc(xAxis, yAxis2,aMatrix,'Parent',ax2);
set(gca,'YDir','normal');
答案 1 :(得分:0)
使用yyaxis的解决方案非常相似:
aMatrix = rand(20,30);
yAxis1 = 32.*(1:size(aMatrix,1));
yAxis2 = 165.*(1:size(aMatrix,1));
xAxis = 1:size(aMatrix,2);
yyaxis left
imagesc(xAxis, yAxis1, aMatrix);
ax = gca;
ax.YColor = ax.XColor;
ylabel('Left Side')
yyaxis right
imagesc(xAxis, yAxis2,aMatrix);
ax.YColor = ax.XColor;
ylabel('Right Side')