一、简介
matlabguiaxes绘图是MATLAB图形用户界面(GUI)的一个重要组成部分。它允许用户自定义绘图、交互式修改界面和控制绘图显示。
二、创建matlabguiaxes图形
创建matlabguiaxes图形需要经历以下步骤:
1. 打开MATLAB软件,在命令窗口输入命令“guide”。
Z = magic(5);
h = figure('Unit','Normalized','Position',[0.2 0.2 0.6 0.6]);
hz = uicontrol('Style','pushbutton',...
'String','Plot magic',...
'Unit','Normalized','Position',...
[0.1 0.1 0.3 0.2],'Callback',...
'pcolor(Z), shading flat; colormap(hot)');
2. 在弹出的新界面中选择“Blank GUI (Default)”模板。
3. 在“GUIDE Quick Start”窗口中勾选“Create New Figure”并点击“OK”按钮。
4. 建立完毕后可以看到界面上会出现一张空白的matlabguiaxes绘图板。
三、图形设置
matlabguiaxes绘图板具有多种设置项,可以在“Property Inspector”中进行设置,比如:
1. 设置图形的标题、说明文本等。
set(handles.axes1,'Title','magic(5)');
set(handles.axes1,'XTickLabel','');
set(handles.axes1,'YTickLabel','');
set(handles.axes1,'XColor','w');
set(handles.axes1,'YColor','w');
2. 设置坐标轴的范围大小。
xlim(handles.axes1,[0,6]);
ylim(handles.axes1,[0,6]);
3. 设置坐标轴的刻度标签、字号和其它属性。
set(gca,'FontName','Arial');
set(gca,'FontSize',12);
set(gca,'FontWeight','Bold');
set(gca,'XTick',[0:1:5]);
set(gca,'XTickLabel',['0';'1';'2';'3';'4';'5']);
set(gca,'YTick',[0:1:5]);
set(gca,'YTickLabel',['0';'1';'2';'3';'4';'5'])
四、绘制图形
matlabguiaxes绘图板可以通过以下方式绘制图形:
1. 绘制线条。
x = [0,1,2,3,4,5];
y = [0,1,2,1,3,2];
plot(handles.axes1,x,y,'LineWidth',2);
2. 绘制散点图。
x = [0,1,2,3,4,5];
y = [0,1,2,1,3,2];
plot(handles.axes1,x,y,'o','MarkerSize',10,'MarkerFaceColor','g','MarkerEdgeColor','r');
3. 绘制柱状图。
x = [1,2,3,4,5];
y = [3,1,4,1,5];
bar(handles.axes1,x,y);
4. 绘制饼图。
x = [30,50,20];
labels = {'Pie Slice 1','Pie Slice 2','Pie Slice 3'};
pie(handles.axes1,x,labels);
五、添加控件和事件
matlabguiaxes绘图板容易添加控件,例如:
1. 添加按钮。
uicontrol(handles.figure1,'Style','pushbutton',...
'String','Plot',...
'Unit','Normalized','Position',...
[0.1 0.8 0.3 0.1],'Callback',...
'plot(handles.axes1,x,y,''LineWidth'',2);');
2. 添加滑块。
uicontrol(handles.figure1,'Style','slider',...
'Unit','Normalized','Position',...
[0.1 0.6 0.3 0.1],'Min',1,'Max',10,'Value',2,...
'Callback','set(handles.text1,''String'',num2str(get(hObject,''Value'')))');
uicontrol(handles.figure1, 'Style', 'text', 'String', 'Slider', ...
'Unit', 'Normalized', 'Position', [0.1 0.7 0.2 0.1]);
matlabguiaxes绘图板还能添加控件事件,例如:
function pushbutton1_Callback(hObject, eventdata, handles)
x = linspace(-3*pi,3*pi,1000);
sz = get(handles.slider1,'Value');
if sz ~= 1
line(handles.axes1,x,sin(sz*x),'LineWidth',2);
else
plot(handles.axes1,x,sin(x),'LineWidth',2);
end
六、结束语
matlabguiaxes绘图是MATLAB的一个非常强大的功能,它可以让MATLAB用户更加高效地完成绘图任务。本文介绍了如何创建图形、设置图形、绘制图形和添加控件和事件,希望能对读者有所帮助。