matlab中绘制平行于坐标轴的直线
2017-04-23 10:57
2146 查看
有时候需要绘制平行于坐标轴的一条直线,那有没有什么简便的方法呢?通过在plot()函数加入参数就可以,代码如下:
x=0:0.1:2*pi; %x的取值生成
y=sin(x); %y=sin(x)函数
plot(x,y); %绘制图形
ylim=get(gca,'Ylim'); % 获取当前图形的纵轴的范围
hold on
plot([1,1],ylim,'m--'); % 绘制x=1的直线
%[1,1]中,第一个1表示绘制直线的穿过x轴点,第2个1表示直线穿过y轴的另个点,由此两点确定想要绘制直线的方向
%ylim 用于绘制y轴的取值范围
%m-- 用于描述线型,粉色,虚线实际的效果图如下:
那么,我如果想经过任意一个点绘制一条直线呢?那么,直接修改上面代码第6行plot()函数中的[1,1]如我改为[3,4],代码为:
x=0:0.1:2*pi; %x的取值生成
y=sin(x); %y=sin(x)函数
plot(x,y); %绘制图形
ylim=get(gca,'Ylim'); % 获取当前图形的纵轴的范围
hold on
plot([3,4],ylim,'m--'); % 绘制直线
%ylim 用于绘制y轴的取值范围
%m-- 用于描述线型,粉色,虚线绘制出的图形为:
但是,从上图分析可知,该直线并不是经过[3,4]这两点的直线。那么,进一步我如果将代码第2行的sin(x)换成3*sin(x),那又会变成什么样的?代码为:
x=0:0.1:2*pi; %x的取值生成
y=3*sin(x); %y=sin(x)函数
plot(x,y); %绘制图形
ylim=get(gca,'Ylim'); % 获取当前图形的纵轴的范围
hold on
plot([3,4],ylim,'m--'); % 绘制x=1的直线
%ylim 用于绘制y轴的取值范围
%m-- 用于描述线型,粉色,虚线
如下图:
上面的图片是在第2幅图片的基础上再绘制的,可以看出虽然都设置了plot()函数的参数为[3,4],但两幅的图像中直线的是不重合的,那代码中第6行的含义究竟是什么呢?在代码第3行
ylim=get(gca,'Ylim'); % 获取当前图形的纵轴的范围是获取当前绘制图形的纵坐标的取值范围,假如是[a,b],那如果第6行为plot([m,n],ylim,'m--'),含义是在ylim=[a,b]的条件下,经过ylim=a(即平行于x轴的直线)上点刻度为m的点,经过ylim=b(即平行于x轴的直线)上点刻度为n的点,由此两点绘制直线。因此,如果已绘制图形的范围如果改变,plot()函数的参数[m,n]相同,所绘制的直线也不同。
这样,就对第3幅图很好理解了。对于较长的那条直线,纵坐标范围是y=-3和+3,plot()函数的参数[3,4],即直线经过y=-3时,x=3;y=3时,x=4这两点。
x=0:0.1:2*pi; %x的取值生成
y=sin(x); %y=sin(x)函数
plot(x,y); %绘制图形
ylim=get(gca,'Ylim'); % 获取当前图形的纵轴的范围
hold on
plot([1,1],ylim,'m--'); % 绘制x=1的直线
%[1,1]中,第一个1表示绘制直线的穿过x轴点,第2个1表示直线穿过y轴的另个点,由此两点确定想要绘制直线的方向
%ylim 用于绘制y轴的取值范围
%m-- 用于描述线型,粉色,虚线实际的效果图如下:
那么,我如果想经过任意一个点绘制一条直线呢?那么,直接修改上面代码第6行plot()函数中的[1,1]如我改为[3,4],代码为:
x=0:0.1:2*pi; %x的取值生成
y=sin(x); %y=sin(x)函数
plot(x,y); %绘制图形
ylim=get(gca,'Ylim'); % 获取当前图形的纵轴的范围
hold on
plot([3,4],ylim,'m--'); % 绘制直线
%ylim 用于绘制y轴的取值范围
%m-- 用于描述线型,粉色,虚线绘制出的图形为:
但是,从上图分析可知,该直线并不是经过[3,4]这两点的直线。那么,进一步我如果将代码第2行的sin(x)换成3*sin(x),那又会变成什么样的?代码为:
x=0:0.1:2*pi; %x的取值生成
y=3*sin(x); %y=sin(x)函数
plot(x,y); %绘制图形
ylim=get(gca,'Ylim'); % 获取当前图形的纵轴的范围
hold on
plot([3,4],ylim,'m--'); % 绘制x=1的直线
%ylim 用于绘制y轴的取值范围
%m-- 用于描述线型,粉色,虚线
如下图:
上面的图片是在第2幅图片的基础上再绘制的,可以看出虽然都设置了plot()函数的参数为[3,4],但两幅的图像中直线的是不重合的,那代码中第6行的含义究竟是什么呢?在代码第3行
ylim=get(gca,'Ylim'); % 获取当前图形的纵轴的范围是获取当前绘制图形的纵坐标的取值范围,假如是[a,b],那如果第6行为plot([m,n],ylim,'m--'),含义是在ylim=[a,b]的条件下,经过ylim=a(即平行于x轴的直线)上点刻度为m的点,经过ylim=b(即平行于x轴的直线)上点刻度为n的点,由此两点绘制直线。因此,如果已绘制图形的范围如果改变,plot()函数的参数[m,n]相同,所绘制的直线也不同。
这样,就对第3幅图很好理解了。对于较长的那条直线,纵坐标范围是y=-3和+3,plot()函数的参数[3,4],即直线经过y=-3时,x=3;y=3时,x=4这两点。
相关文章推荐
- 运用MATLAB绘制任意两点间的直线路径
- MATLAB绘图基础02-双坐标轴绘制
- 1.空间中直线交点坐标问题,2.已知球面三点求球心问题以及Matlab实现
- 在Matlab中根据离散点坐标绘制空间曲面
- MFC绘制坐标刻度和自定义线条以及带有箭头的直线
- Matlab中绘制带箭头的坐标轴
- Matlab—动态绘制半径渐变的圆形与绕圆心旋转的直线
- 在Matlab中根据离散点坐标绘制空间曲面
- MFC绘制坐标刻度和自定义线条以及带有箭头的直线
- matlab绘制曲面并标注坐标轴
- Matlab绘制带箭头坐标
- 由两点坐标如何画出直线 matlab
- python绘制已知点的坐标的直线
- 【Matlab图像处理】截取图像中的矩形区域(可不平行于坐标轴)并保存为图片
- 根据两点坐标及父视图绘制直线
- Matlab绘制自然原点坐标的坐标轴
- MATLAB中绘制图形的时候,坐标和标题倒置
- MATLAB 根据X、Y坐标绘制折线图,增加右侧纵轴刻度且不用plotyy
- matlab 求点到任意直线的投影点坐标