Matlab中如何用Colorbar控制图形的相对大小?
How to Control Relative Size of Figures with Colorbar in Matlab?
我正在尝试将信号图与具有颜色条的图像对齐。颜色条使轴水平偏移。
我的直觉方法是将图形的大小固定为某种大小,例如在 Gnuplot 中使用纸张大小。但是,不确定哪个最适合这里。
要在 Matlab 全屏模式下将缩放比例调整为正方形?
我想维护两个人物之间的关系。由于某些原因,我不能在第一个图中使用 squareform
,而在后一个图中可以。
代码
figure
ax2=subplot(2,2,2);
plot(mat2gray(pdist(data, 'correlation')));
title('Corr pdist');
cbar2 = colorbar(ax2);
xlim([0 size(mat2gray(pdist(data, 'correlation')),2)]);
set(cbar2, 'Visible', 'off');
ax4=subplot(2,2,4);
imshow(squareform( mat2gray(pdist(data, 'correlation')), 'tomatrix') );
colormap('parula'); colorbar;
title('Square Corr pdist');
当 Matlab 的全屏模式时输出缩放错误,您看到颜色条方法不足以保持关系,如关于 如何控制图形的相对大小的答案 here 中所建议的在 Matlab 中使用 Colorbar?
默认视图时输出的右缩放
如何在Matlab全屏模式下保持图形的正方形视图?
我也会简单地为顶轴创建一个颜色条并将可见性设置为关闭。
figure;
ax1 = subplot(2,1,1);
ax2 = subplot(2,1,2);
cbar1 = colorbar(ax1);
cbar2 = colorbar(ax2);
set(cbar1, 'Visible', 'off')
这样做的好处是,在调整图形大小时等情况下,您将获得一致的行为,因为两个轴的大小和位置将以相同的方式呈现。
您需要记住的另一件事是在所有方面保持坐标轴相同。因此,例如,如果您在底轴上有一个图像(使用 imshow
),MATLAB 默认将轴设置为正方形。要使顶部图也为正方形,您需要使用 axis square
。然后他们会继续排队。
axis(ax1, 'square')
我正在尝试将信号图与具有颜色条的图像对齐。颜色条使轴水平偏移。 我的直觉方法是将图形的大小固定为某种大小,例如在 Gnuplot 中使用纸张大小。但是,不确定哪个最适合这里。
要在 Matlab 全屏模式下将缩放比例调整为正方形?
我想维护两个人物之间的关系。由于某些原因,我不能在第一个图中使用 squareform
,而在后一个图中可以。
代码
figure
ax2=subplot(2,2,2);
plot(mat2gray(pdist(data, 'correlation')));
title('Corr pdist');
cbar2 = colorbar(ax2);
xlim([0 size(mat2gray(pdist(data, 'correlation')),2)]);
set(cbar2, 'Visible', 'off');
ax4=subplot(2,2,4);
imshow(squareform( mat2gray(pdist(data, 'correlation')), 'tomatrix') );
colormap('parula'); colorbar;
title('Square Corr pdist');
当 Matlab 的全屏模式时输出缩放错误,您看到颜色条方法不足以保持关系,如关于 如何控制图形的相对大小的答案 here 中所建议的在 Matlab 中使用 Colorbar?
默认视图时输出的右缩放
如何在Matlab全屏模式下保持图形的正方形视图?
我也会简单地为顶轴创建一个颜色条并将可见性设置为关闭。
figure;
ax1 = subplot(2,1,1);
ax2 = subplot(2,1,2);
cbar1 = colorbar(ax1);
cbar2 = colorbar(ax2);
set(cbar1, 'Visible', 'off')
这样做的好处是,在调整图形大小时等情况下,您将获得一致的行为,因为两个轴的大小和位置将以相同的方式呈现。
您需要记住的另一件事是在所有方面保持坐标轴相同。因此,例如,如果您在底轴上有一个图像(使用 imshow
),MATLAB 默认将轴设置为正方形。要使顶部图也为正方形,您需要使用 axis square
。然后他们会继续排队。
axis(ax1, 'square')