一、改变ylabel文字方向。
MATLAB中ylabel的文字方向默认是竖向的,可以使用以下代码来改变方向。
y = ylabel('Amp/V');
set(y,'Rotation',0);
需要更加灵活的话,可以使用text来实现这个功能。代码如下:
clear;clc;close all;
f = 10; %频率
T=1; %观测时间
fs=20*f; %采样频率
t=0:1/fs:T; %离散时间t
y=sin(2*pi*f*t); %正弦信号
figure
ylabel_pos = -0.05;
subplot(2,1,1);plot(t,y);text(ylabel_pos,0,'a');
subplot(2,1,2);plot(t,y);text(ylabel_pos,0,'b');
xlabel('Time/s');
set(gcf,'position',[1 1 1200 800])
print -djpeg -r300 test.jpg
修改ylabel_pos的大小,就可以移动文字的水平位置,该位置要根据图的横坐标尺度来改,这里设置的是-0.05对应下图中蓝圈的位置,而0.1则是红圈位置,这个需要根据自己的图来调整的。
二、截边。
上面保存的图片四周有白边,截掉再放入Word中会好看一些。代码如下:
clear;clc;close all;
x0=300;y0=120;x1=3200;y1=2300;
imgPath = pwd % 图像路径
imgDir = dir([imgPath,'\*.jpg']); % 遍历所有jpg格式文件
for i = 1:length(imgDir) % 遍历结构体就可以一一处理图片了
picOld = imread([imgPath '\' imgDir(i).name]); %读取每张图片
picNew = imcrop(picOld,[x0 y0 x1 y1]);
figure;
imshow(picOld);title('picOld');
figure
imshow(picNew);title('picNew');
% imwrite(picNew,[imgPath '\' imgDir(i).name]); % 直接覆盖原图
end
x0,y0为图片左上角的坐标,x1,y1为图片的宽高,imgPath为图像路径,要根据自己的需求来改。效果如下:
确认图片没问题,再把下面这行
% imwrite(picNew,[imgPath '\' imgDir(i).name]); % 直接覆盖原图
最前面的%删掉,可以覆盖原图。
这个代码会将当前目录下的所有.jpg图片都截边,使用时请注意统一图片尺寸。