Matlab调整子图位置及大小(祛白边)+调整画布大小+添加总标题
·
子图显示问题:
不进行任何调整,默认画出的图为正方形,当需要画三个子图横排摆放时,效果如下:
load diagblock_noise.mat
subplot(1,3,1);
pcolor(X4);axis off;shading interp;colorbar;
title('原始样本');
subplot(1,3,2);
pcolor(B4);axis off;shading interp;colorbar;
title('相似度矩阵');
subplot(1,3,3);
B1=( abs(B4) + abs(B4') ) / 2;
map = tsne(B1,'Algorithm','exact','Distance','cosine');
gscatter(map(:,1), map(:,2),cls_label);
title('相似度矩阵的t-SNE分布图');
suptitle('噪声等级\beta=0.4') %总标题
很难受,怎么拉动图片大小位置总是不和谐。
图片调整:
Step 1:调整画布大小
set(gcf,'position',[250 300 600 200])
的作用是调整整个画布大小。250,300这两个参数不影响画布大小,其作用是确定画出来的图在电脑屏幕上的显示位置,改为0,0则图显示在电脑左下角。600,200确定画布宽高,600为宽,高200,画出的图为600x200的长方形。
Step 2:调整子图位置大小
set(gca,'position', [0.05 0.15 0.3 0.58]);
为每个子图设置位置及大小。也可以使用subplot(1,3,1,'position', [0.05 0.15 0.3 0.58]);
效果一样。
前两个参数确定该子图起始位置,0.05,0.15表示该子图左下角坐标,调整这两个参数可以控制整张图下方与左侧方白边的大小。这里是让三个子图横排显示,所以三幅子图y轴坐标值一样。
后两个参数控制每幅子图宽高。宽度与高度的调整可以控制整张图右侧方及上方空白区域大小。这里设置子图高度相同为0.58,这里要根据整个画布进行调整,让0.58与600x200的画布高度贴合,尽量使之紧凑。太小就会上边或下边很大区域都是空白。宽度看图片显示效果来调整。比如,这里第一幅子图宽度为0.3,则下幅子图x轴起始位置就设成0.37,可以让两幅子图之间留一点点空隙,具体设置根据实际调整。
figure %生成图窗
set(gcf,'position',[250 300 600 200])
subplot(1,3,1);
set(gca,'position', [0.05 0.15 0.3 0.58]);
pcolor(X4);axis off;shading interp;colorbar;
title('原始样本');
subplot(1,3,2);
set(gca,'position', [0.37 0.15 0.3 0.58]);
pcolor(B4);axis off;shading interp;colorbar;
title('相似度矩阵');
subplot(1,3,3);
set(gca,'position',[0.7 0.15 0.25 0.58]);
B1=( abs(B4) + abs(B4') ) / 2;
map = tsne(B1,'Algorithm','exact','Distance','cosine');
gscatter(map(:,1), map(:,2),cls_label);
title('相似度矩阵的t-SNE分布图');
suptitle('噪声等级\beta=0.4') %总标题
效果图:
更多推荐
已为社区贡献9条内容
所有评论(0)