matlab如何在指定axes上作图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab如何在指定axes上作图相关的知识,希望对你有一定的参考价值。

一般的方法是利用axes(handles.axes)实现
但我的作图程序不在gui的主程序中,是调用其他函数实现的。handles.axes在该调用函数中似乎无法传值进去 这时该怎么办呢~

方法如下:

创建一个GUI

画好了就如下图。

直接放代码了:

重点处加粗了。

% --- Executes on button press in pushbutton2.

function pushbutton1_Callback(hObject, eventdata, handles)

% hObject    handle to pushbutton2 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

t = -5:.1:5;

y = sinc(t);

plot(handles.axes1,t,y,\'gd\');

legend(handles.axes1,\'sin(x)/x\');

% --- Executes on button press in pushbutton1.

function pushbutton2_Callback(hObject, eventdata, handles)

% hObject    handle to pushbutton1 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

t = 1:.1:10;

x = sin(t);

y = cos(t);

plot3(handles.axes2,t,x,y,\'r*\');

legend(handles.axes2,\'t-x-y\');

3

plot(handles.axes1,t,y,\'gd\');

plot3(handles.axes2,t,x,y,\'r*\');

关键的就是这两句了,其它情况也是类似的。

结果就如下了

参考技术A 修改你的作图程序,增加一个输入参数,将axes的句柄传递给函数

或者在调用作图函数之前将用set函数将gca(当前激活的axes)设为你想要的axes句柄
再调用左图函数,而你的作图函数应该指定在gca中画图本回答被提问者和网友采纳

R语言作图plot函数以及参数设置解析

参考技术A plot(x, y = NULL, type = "p", xlim = NULL, ylim = NULL, log = "", main = NULL, sub = NULL, xlab = NULL, ylab = NULL, ann = par("ann"), axes = TRUE, frame.plot = axes, panel.first = NULL, panel.last = NULL, asp = NA, xgap.axis = NA, ygap.axis = NA,   ...)

x,y  用于横纵坐标作图的数据对象。

type 图类型(线条和点类型),使用格式type=" "。

                                                   type="p"显示为空心点。plot

                                                   type="l"显示为线条。line

                                                   type="b"显示为空心点和线条。both

                                                   type="c"显示为无点和线条。

                                                   type="o"显示为空心点和线条,线穿过空心点。

                                                   type="s"/"S"显示为阶梯线。

                                                   type="h"显示为直方图样的垂直线。

                                                   type="n"显示为无点和无线条。

xlim/ylim 用于指定图的x轴和y轴的范围,使用格式:xlim=c(x1,x2), ylim=c(y1,y2)。

xlab/ylab 用于给图的x轴和y轴添加标签,使用格式:xlab="xlab",ylab="ylab"。

main 用于对plot添加主标题, main="   "。

sub   用于对plot添加副标题, sub="   "。

log   用于对x或者y值取log。log="x"/"y"/"xy"。

ann  使用T/F对plot中的标题,x轴标签,y轴标签是否显示进行定义。

axes  使用T/F对坐标轴是否显示进行定义。

frame.plot  使用T/F对画图外框是否显示进行定义。

panel.first  参数还没弄懂,panel.first="grid(8,8)"对背景线进行定义。

asp  表示y/x的纵横比。

lty   用于线条类型的定义,指定值为整数,lty="1"。

                                                   lty="0"显示为空白,即无线条。

                                                   lty="1"显示为实线线条。

                                                   lty="2"显示为虚线线条。

                                                   lty="3"显示为点状线条。

                                                   lty="4"显示为点虚线线条,点和虚线线条间隔。

                                                   lty="5"显示为长虚线。

                                                   lty="1"显示为双破折号线条。

以上是关于matlab如何在指定axes上作图的主要内容,如果未能解决你的问题,请参考以下文章

在Matlab的GUI上画两个axis,如何切换?

R语言作图plot函数以及参数设置解析

matlab中如何设置自定义刻度?

MATLAB中axes怎么用啊?

matlab如何让坐标轴的值减少一百倍

matlab作图复制的时候怎么缩小空白的区域,如何把图片的边框减小?