文字标注是图形修饰中的重要因素,它可以是用户在窗口上随意添加的字符说明,还可以是坐标轴对象中所用到的刻度标志等。字符对象的常用属性如下:
Color属性:字符的颜色。该属性的属性值是一个1×3颜色向量。
FontAngle属性:字体倾斜形式。如正常’normal’和斜体’italic’等。
FontName属性:字体的名称。如’TimesNewRoman’与’Courier’等。
FontSize属性:字号大小。默认以pt为单位,属性值应该为实数。
FontWeight属性:字体是否加黑。可以选择’light’、’normal’(默认值)、’demi’和’bold’4个选项,其颜色逐渐变黑。
HorizontalAlignment属性:表示文字的水平对齐方式。可以有’left’(按左边对齐)、’center’
(居中对齐)、’right’(按右边对齐)三种选择。类似地,对字符矩阵的位置还有VerticalAlignment属性。
FontUnits属性:字体大小的单位。如’points’(磅数,即pt)为默认的值,此外,还可以使用如下单位’inches’(英寸)、’centimeters’(厘米)、’normalized’(归一值)与’pixels’(像素)等。
Rotation属性:字体旋转角度。可以为任何数值。
Editing属性:是否允许交互式修改。选项可以为’on’和’off’。
String属性:构成本字符对象的字符串。可以是字符串矩阵。
Interpreter属性:是否允许TeX格式。选项为’tex’(允许TeX格式)和’none’(不允许)两种,前者显示的效果好,而后者速度快。
Extent属性:字符串所在的位置范围,是只读型的,1×4向量,前两个值表示字符串所在位置的左下角坐标,而后两个分量分别为字符对象的长和高。
MATLAB图形对象简介
获取和改变对象的属性可以采用 get() 和 set() 函数对来实现。
>> set(句柄, 属性1,属性值1,
属性2,属性值2,…)
>>
属性值=get(句柄,属性)
坐标轴对象时 MATLAB 图形中常用的对象,坐标轴对象可以用 MATLAB 5.3
上的菜单项添加。添加之后,可以用鼠标改变其大小和形状,其他一些属性说明如下:
Box
属性: 表示是否需要坐标轴上的方框,选项可以为 ‘on’ 和 ‘off’, 默认的值为
‘on’。本书中在后面介绍属性值时,将把默认的属性值列在前面。
ColorOrder 属性: 设置多条曲线的颜色顺序,应该为一个 n x 3 矩阵, 可以由 colormap()
函数来设置。
GridLineStyle 属性: 网格线类型,如实线、虚线等,其设置类似于 plot() 函数的选项,默认值为
‘:’,见前面的表格。
NextPlot 属性: 表示坐标轴图形的更新方式,’replace’ 是默认的选项,表示重新绘制,而 ‘add’
选项表示在原来的图形上叠印,它相当于直接使用 hold on 命令的效果。
Title 属性: 本坐标轴标题的句柄。而其具体内容由 title() 函数设定,由此句柄就可以访问到原来的标题了。
XLabel 属性: x 轴标注的句柄,其内容由 xlabel() 函数设定。此外,类似地还有 YLabel 和 ZLabel
属性等。
XDir
属性: x 轴方向,可以选择 ‘normal’ (正向) 和 ‘rev’ (逆向), 此外 YDir 和 ZDir
属性也是类似的。
XGrid 属性: 表示 x 轴是否加网格线,可选值为 ‘off’ 和 ‘on’, 此外还类似地有 YGrid 和 ZGrid
选项。
XLim
属性: x 轴上下限,以向量 [xm,xM] 形式给出。此外,还有 YLim 和 ZLim 属性,前面介绍的 axis()
函数实际上是对这些属性的直接赋值。
XScale 属性: x 轴刻度类型设置,可以为 ‘linear’ (线性的) 和 ‘log’ (对数的)。此外还有 YScale 和
ZScale 属性。
XTick 和 XTickLabel 属性: XTick 属性将给出 x 轴上标尺点值的向量,而 XTickLabel
将存放这些标尺点上的标记字符串。对 y 和 z 轴也将有相应的标尺属性,如 ZTick 等。
例子:
1.改变matlab的绘图大小、字号、线宽
有时在写稿件时,需要对所做的图形做缩放处理,但是手动处理后有点变化,这样就直接在matlab命令中修改就好了。
% figure resize
set(gcf,'Position',[100 100 260 220]);
set(gca,'Position',[.13 .17 .80 .74]);
figure_FontSize=8;
set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');
set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');
set(findobj('FontSize',10),'FontSize',figure_FontSize);
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',2);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
解释:
set(gcf,'Position',[100 100 260 220]);
这句是设置绘图的大小,不需要到word里再调整大小。我给的参数,图的大小是7cm
set(gca,'Position',[.13 .17 .80 .74]);
这句是设置xy轴在图片中占的比例,可能需要自己微调。
figure_FontSize=8;
set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');
set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');
set(findobj('FontSize',10),'FontSize',figure_FontSize);
这4句是将字体大小改为8号字,在小图里很清晰
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',2);
这句是将线宽改为2
快去试试吧,很方便的!!
2.subpolt 中图与图间距的调整
figure(‘Name’,'默认’);
subplot(2,2,1);
subplot(2,2,2);
subplot(2,2,3);
subplot(2,2,4);
figure(‘Name’,'紧凑’);
subplot(‘Position’,[0.02 0.65 0.3 0.3]);
subplot(‘Position’,[0.35 0.65 0.3 0.3]);
subplot(‘Position’,[0.02 0.3 0.3 0.3]);
subplot(‘Position’,[0.35 0.3 0.3 0.3]);
格式为subplot(‘Position’,[left bottom width
height]);
left是离左面图像边界的距离
bottom是离下面图像边界的距离
width是图像x轴长度
height 是图像y轴长度
————–别看我,我是分割线————————–
我自己程序中用到:
subplot('Position',[0.1 0.58
0.8 0.4]);plot(t, y2,'c'); %图形位置
%
title('v=9,H=400,a=1.2,m1=1133
mm=[0.06,0.08,0.1,0.15,0.2]');
xlabel('时间t/s');
%图形加坐标
ylabel('x_{1}/m');
legend('m_{m}=0.06','m_{m}=0.08','m_{m}=0.1','m_{m}=0.15','m_{m}=0.2');
figure_FontSize=18;%字体设置
set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top'); set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');
set(findobj('FontSize',10),'FontSize',figure_FontSize);
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',2);