多语言展示
当前在线:452今日阅读:2今日分享:38

MATLAB GUI怎么在柱状图上面显示数值及改变颜色

关于MATLAB GUI柱状图,能够在柱状图上显示数值,百分比格式、以及改变柱状图的显示颜色能够便于柱状图理解及美观,下面分享给大家MATLAB GUI绘制柱状图、图上显示百分比数值及改变颜色的方法、步骤,希望能够帮助大家。
工具/原料
1

MATLAB

2

柱状图上面显示数值及改变柱状图颜色

方法/步骤
1

第一步:首先我们需要设计一个MATLAB 柱状图GUI界面,如下图所示,在界面中添加一个面板并命名为柱状图,添加一个坐标轴并将tag值修改为bar_graph,添加一个按钮并命名为柱状图显示,tag值命名为display,再添加一个按钮并命名为清除图形,tag值命名为cla_graph,将各显示控件布局好,如下图所示。

2

第二步:我们在柱状图显示按钮的display_Callback回调函数中添加代码显示简单柱状图,如柱状图显示数据1与数据2的差值,代码如下:data1=[4 8 6 7 10 14 15 11];  %数据1data2=[2 1 8 6 3 10 12 16];   %数据2D_value=data1-data2           %数据1与数据2的差值bar(handles.bar_graph,D_value);    %简单柱状图显示

3

第三步:我们在m文件编辑界面点击运行三角图标将运行GUI界面,此时我们点击【柱状图显示】按钮即可简单显示数据1与数据2的差值,如下图所示,我们可以发现这图是很难被人理解的,下面我们进一步修饰。

4

第四步:我们将柱状图显示成数据1与数据2的差值占数据1百分比,改变柱状图颜色,在柱状图上显示百分比数值,显示网格线,改变纵坐标标签及字体,改变横坐标为变量名称及旋转角度,添加标题,程序代码如下所示:data1=[4 8 6 7 10 14 15 11];  %数据1data2=[2 1 8 6 3 10 12 16];   %数据2D_value=(data1-data2 )./ data1;        %数据1与数据2的差值占数据1百分比bar(handles.bar_graph,D_value);       %数据1与数据2的差值占数据1百分比柱状图显示colormap summer      %改变柱状图颜色 可以更改为其他颜色如spring、autumn、winterfor i = 1:length(D_value)    if D_value(i)>=0        text(i,D_value(i)+0.04,strcat(num2str(D_value(i)*100,'%.1f'),'%'),'VerticalAlignment','middle','HorizontalAlignment','center');    else        text(i,D_value(i)-0.04,strcat(num2str(D_value(i)*100,'%.1f'),'%'),'VerticalAlignment','middle','HorizontalAlignment','center');    endendset(handles.bar_graph,'XGrid','on','YGrid','on');    %显示网格线ylabel(handles.bar_graph,'幅度%','FontSize',12);     %纵坐标标签及字体gca=handles.bar_graph;set(gca, 'XTick', [1:length(D_value)])               %横坐标轴刻度数据点位置个数D_name={'变量1','变量2','变量3','变量4','变量5','变量6','变量7','变量8'};  %横坐标变量名称set(gca, 'XTickLabels', {D_name{:,1:length(D_value)}})    %横坐标变量名称显示set(gca,'XTickLabelRotation',45)                                %横坐标变量名称旋转45度title(handles.bar_graph,'幅度柱状图','FontSize',12);            %标题

5

第五步:我们按照第四步修改程序后点击运行GUI界面,再次点击【柱状图显示】按钮,此时将显示一个全新的柱状图,如下图所示,成功在柱状图上显示了数值百分比,成功修改了柱状图颜色等等。

6

第六步:细心的小伙伴会发现,还有一个按钮的功能没有实现,就是【清除图形】按钮的功能,别着急,我们回到m文件,在程序代码中找到cla_graph_Callback回调函数,在其下面添加清除图形代码:cla(handles.bar_graph,'reset');

7

第七步:同理在m文件编辑器点击运行程序的GUI界面,我们点击我们的【清除图形】按钮,就可以将我们的柱状图图形清空了,如下图所示,如果我们需要再次显示柱状图,我们点击【柱状图显示】按钮即可。

注意事项
1

柱状图显示中, text(i,D_value(i)+0.04,strcat(num2str(D_value(i)*100,'%.1f'),'%'),'VerticalAlignment','middle','HorizontalAlignment','center');是在图形上添加数值;colormap summer 是改变柱状图颜色。

2

清空图形时,将cla(handles.bar_graph,'reset');中handles后面改成我们柱状图坐标轴tag值即可。

推荐信息