如何在绘图中调整png图像尺寸

时间:2015-03-12 20:56:15

标签: matlab plot

我将Latex设置为情节的翻译。我注意到如果我增加字体大小,png维度会增加(见下图)。我想在保存之前调整png的大小。这个问题有一个简单的解决方案吗?我看过情节编辑器,但没有关于这个功能。我有多个图像,因此我希望它们具有相同的大小。

enter image description here

2 个答案:

答案 0 :(得分:0)

您可以使用

定位轴
set(gca, 'position', [left bottom width height])

其中gca是你的轴柄。

e.g。

figure;
plot(1,1);
set(gca, 'position', [.05 0.5 .9 .9]);

答案 1 :(得分:0)

您可以尝试的一种方法是将图形数据保存为图像,然后裁剪出不需要的列。假设您的数字已经打开,您可以使用getframecdata成语。但是,使用cdata只能获取图像内容。您还需要轴和标签本身,因此您还需要捕获图周围的边框。为方便起见,我们将以像素为单位进行此操作。假设您的图片已经打开,请执行以下操作:

ax = gca; %// Get current axes
ax.Units = 'pixels'; %// Set the axes units to Pixels
pos = ax.Position; %// Get position of figure

marg = 30; %// Get 30 pixel border around main content
rect = [-marg, -marg, pos(3)+2*marg, pos(4)+2*marg]; %// Define rectangle
F = getframe(gca,rect); %// Capture figure as image

%// Reset the axes back to what they were before (normalized)
ax.Units = 'normalized';

im = F.cdata; %// Get image

%// Show the image
figure;
imshow(im);

这应该打开一个新的数字,它将裁剪出你不需要的东西。