绘制图形的辅助操作

Posted yuling520

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了绘制图形的辅助操作相关的知识,希望对你有一定的参考价值。

给图形添加标注 

坐标控制 

图形保持 

图形窗口的分割等

 

1.图形标注

在绘制图形的同时,可以对图形加上一些说明。如图形名称、坐标轴说明以及图形某一部分的含义等,我们把这些操作统一称为添加图形标注。

title(图形标题) 

xlabel(x轴说明) 

ylabel(y轴说明) 

text(x, y, 说明)   //指定位置添加说明

legend(图例1, 图例2, …)  //添加图例 线性,颜色等

(1)title函数

①title函数的基本用法

  title(图形标题)

例1  绘制[-2π,2π]区间的正弦曲线并给图形添加标题。

>> x=-2*pi:0.05:2*pi;

>> y=sin(x);

>> plot(x,y)

>> title(‘y=sin(x)‘)

技术图片

 

 

 

如果标题有多行,要用大括号括起来,字符串之间用逗号分隔。

>> title({‘MATLAB‘, ‘y=sin(x)‘})

技术图片

 

 

 

 

②在图形标题中使用LaTeX格式控制符(希腊字母,数学符号,公式等)

受LaTeX格式控制的部分要用大括号括起来。

上标与下标用^和_引导

技术图片

 

 

 

③含属性设置的title函数

title(图形标题,属性名,属性值)   属性名和属性值成对出现

Color属性 :用于设置图形标题文本的颜色。

>> title(‘y=cos{omega}t‘, ‘Color‘,‘r‘)    //省略默认为黑色

技术图片

FontSize属性:用于设置标题文字的字号。

>> title(‘y=cos{omega}t‘,‘FontSize‘,24)    //省略是默认为11

技术图片

 

(2)xlabel函数和ylabel函数、

用于设置横/纵坐标轴标签。

xlabel(x轴说明)

ylabel(y轴说明)

例:绘制[-2π,2π]区间的正弦曲线并给x轴添加标签。

>> x=-2*pi:0.05:2*pi;

>> y=sin(x);

>> plot(x,y)

>> title(‘y=sin(x)‘)

>> xlabel(‘-2pi leq x leq 2pi‘)    // /leq输出小于等于符号

 技术图片

(3)text函数和gtext函数

text(x, y, 说明)       //x,y用于设置文本出现的位置 说明与title的名称定义相同

gtext(说明)

 

在前面的图形中添加文字说明。

>> text(-2*pi, 0, ‘-2{pi}‘)

>> text(3, 0.28, ‘leftarrow sin(x)‘)    //  leftarrow对应的标注效果为左箭头

技术图片

 

 

 

TIP:gtext()函数没有坐标参数,十字光标跟随鼠标移动,单击鼠标即可放在对应十字光标处。

(4)legend函数

用户添加图例

legend(图例1, 图例2, …)   //逗号分隔与title一致,顺序要与plot的输入参数一致

例2  绘制不同频率的正弦曲线并用图例标注曲线。

>> x = linspace(0, 2*pi, 100);      //定义行向量x,存储数据点横坐标

>> plot(x, [sin(x); sin(2*x); sin(3*x)])

>> legend(‘sin(x)‘, ‘sin(2x)‘, ‘sin(3x)‘)

技术图片

 

 

 

 

 

 

 

2.坐标控制

Matlab可以自动根据要绘制曲线的范围选择合适的坐标刻度。

axis函数 

grid函数 

box函数

有时绘图需要自己定义坐标系

(1)axis函数 ?

axis函数的基本用法

axis([xmin,xmax,ymin,ymax,zmin,zmax])

绘制二维的时候,只给出前4个参数。

例:>> axis([-pi, pi, -4, 4])

技术图片

 

 

 

axis的其他用法

axis equal:纵、横坐标轴采用等长刻度 ?

axis square:产生正方形坐标系(默认为矩形) ?

axis auto:使用默认设置 ?

axis off:取消坐标轴 ?

axis on:显示坐标轴

例子:画一个边长为1的正方形

>> x = [0, 1, 1, 0, 0];

>> y = [0, 0, 1, 1, 0];

>> plot(x,y)

>> axis([-0.1, 1.1, -0.1, 1.1])      //设置横纵坐标值范围

>> axis equal;     //设置采用等长刻度。

技术图片

 

 

 

(2)给坐标系加网格、边框

改变坐标系显示效果。

grid on/off   控制网格线。若程序中没有出现grid,默认不显示网格线。

grid 用于在两种状态之间进行切换。

 

box on/off   坐标系加边框。若程序中没有出现box,默认有边框线。

例子:

绘制sin x 、sin(2x)、sin(x/2)的函数曲线并添加图形标注。

x=linspace(0,2*pi,100);    //0-2π区间100个元素

y=[sin(x); sin(2*x); sin(0.5*x)];    //三个与x相同大小的行向量构成的矩阵

plot(x,y)

axis([0 7 -1.2, 1.2])    //指定刻度范围

title(‘不同频率正弦函数曲线‘);

xlabel(‘Variable X‘);

ylabel(‘Variable Y‘);

text(2.5, sin(2.5), ‘sin(x)‘);     //添加说明

text(1.5, sin(2*1.5), ‘sin(2x)‘);

text(5.5, sin(0.5*5.5), ‘sin(0.5x)‘);

legend(‘sin(x)‘,‘sin(2x)‘,‘sin(0.5x)‘)

grid on

技术图片

 

 

3.图形保持

一般情况下,绘图命令每执行一次,就刷新一次当前执行窗口。叠加新图形。

hold on 控制保持原有图形

hold off 控制刷新图形窗口

hold  控制在两种状态之间进行切换。

例:用图形保持功能绘制两个同心圆。半径分别为1和2

t = linspace(0,2*pi,100);   //先生成行向量t,存储各个数据点与x轴的角度。

x = sin(t);    //取x

y = cos(t);

plot(x, y, ‘b‘) hold on;       

plot(2*x, 2*y, ‘r--‘)

grid on

axis([-2.2 2.2 -2.2 2.2])

axis equal   //显示正圆

技术图片

 

 

4.图形窗口的分割

子图:同一图形窗口中的不同坐标系下的图形称为子图。 ?

subplot函数

subplot(m, n, p)

其中,m和n指定将图形窗口分成m×n个绘图区,p指定当前活动区。  区号按行优先编号。

>> subplot(2,2,1);

>> x=linspace(0,2*pi,60);

>> y=sin(x);

>> plot(x,y);

>> title(‘sin(x)‘);

>> axis ([0,2*pi,-1,1]);

命令只作用于1区。

技术图片

 

 

更灵活的分割。

x=linspace(0,2*pi,60);

subplot(2,2,1)    

plot(x,sin(x)-1);

title(‘sin(x)-1‘);axis ([0,2*pi,-2,0])

subplot(2,1,2)    

plot(x,cos(x)+1);

title(‘cos(x)+1‘);axis ([0,2*pi,0,2])

subplot(4,4,3)     

plot(x,tan(x));

title(‘tan(x)‘);axis ([0,2*pi,-40,40])

subplot(4,4,8)       

plot(x,cot(x)); title(‘cot(x)‘);axis ([0,2*pi,-35,35])

技术图片

 

以上是关于绘制图形的辅助操作的主要内容,如果未能解决你的问题,请参考以下文章

鼠标绘制简单图形

InkCanvas实现常用的图形操作

Python-matplotlib绘制带箭头x-y坐标轴图形

在CAD编辑中怎样绘制一个长方体图形呢?

Android自定义View学习三---图形绘制

CAD新手必练图形