四时宝库

程序员的知识宝库

MATLAB绘制柱形图编程进阶实例加程序

在日常的绘图中,我们经常需要用到柱形图表示数据结果。之前简单介绍过柱形图的基本绘制,今天主要是以实例讲解MATLAB绘制柱形图时的更多属性编程。


1.基础语法

bar
条形图
语法
bar(y)
bar(x,y)
bar(___,width)
bar(___,style)
bar(___,color)
bar(___,Name,Value)
bar(ax,___)
b = bar(___)
说明
bar(y) 创建一个条形图,y 中的每个元素对应一个条形。如果 y 是 m×n 矩阵,则 bar 创建每组包含 n 个条形的 m 个组。
bar(x,y) 在 x 指定的位置绘制条形。
bar(___,width) 设置条形的相对宽度以控制组中各个条形的间隔。将 width 指定为标量值。可以将此选项与前面语法中的任何输入参数组合一起使用。
bar(___,style) 指定条形组的样式。例如,使用 'stacked' 将每个组显示为一个多种颜色的条形。
bar(___,color) 设置所有条形的颜色。例如,使用 'r' 表示红色条形。
bar(___,Name,Value) 使用一个或多个名称-值对组参数指定条形图的属性。
仅使用默认 'grouped' 或 'stacked' 样式的条形图支持设置条形属性。在所有其他输入参数之后指定名称-值对组参数。
bar(ax,___) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区 (gca) 中。选项 ax 可以位于前面的语法中的任何输入参数组合之前。
b = bar(___) 返回一个或多个 Bar 对象。如果 y 是向量,则 bar 将创建一个 Bar 对象。如果 y 是矩阵,则 bar 为每个序列返回一个 Bar 对象。
显示条形图后,使用 b 设置条形的属性。

2.实例1

程序

clc;
clear all;
close all;
rng(55);
xdata = [1:12];
a = 50;
a1 = 100;
ydata = floor(a+rand(1,12)*(a1-a));
figure;
b =bar(xdata,ydata,0.4,'r');
grid on;
xtips1 = b.XEndPoints;
ytips1 = b.YEndPoints;
labels1 = string(b.YData);
b.FaceAlpha = 0.5;
text(xtips1,ytips1,labels1,'HorizontalAlignment','center',...
    'VerticalAlignment','top','color','black','fontsize',12);
xlabel('月份','fontsize',12);
ylabel('任务数','fontsize',12)
set(gca,'fontsize',12);

运行结果


3.实例2

程序

clc;
clear all;
close all;
rng(56);
a = 50;
a1 = 100;
xdata1 = 1:6;
ydata1 = floor(a+rand(2,6)*(a1-a));
figure;
b =bar(xdata1,ydata1,0.4);
grid on;
xtips1 = b(1).XEndPoints;
ytips1 = b(1).YEndPoints;
b(1).FaceColor = rand(1,3);
labels1 = string(b(1).YData);
b(1).FaceAlpha = 0.5;
text(xtips1,ytips1,labels1,'HorizontalAlignment','center',...
    'VerticalAlignment','top','color','black','fontsize',12);
xtips1 = b(2).XEndPoints;
ytips1 = b(2).YEndPoints;
labels1 = string(b(2).YData);
b(2).FaceAlpha = 0.3;
rng(66);
b(2).FaceColor = rand(1,3)*0.3;
text(xtips1,ytips1,labels1,'HorizontalAlignment','center',...
    'VerticalAlignment','top','color','black','fontsize',12);
xlabel('月份','fontsize',12);
ylabel('任务数','fontsize',12)
set(gca,'fontsize',12);

运行结果


4.实例3

程序

clc;
clear all;
close all;
rng(56);
a = 50;
a1 = 100;
xdata1 = 1:12;
ydata1 = floor(a+rand(2,12)*(a1-a));
figure;
b =bar(xdata1,ydata1,0.4,'stacked');
grid on;
xtips1 = b(1).XEndPoints;
ytips1 = b(1).YEndPoints;
b(1).FaceColor = rand(1,3);
labels1 = string(b(1).YData);
b(1).FaceAlpha = 0.5;
text(xtips1,ytips1,labels1,'HorizontalAlignment','center',...
    'VerticalAlignment','top','color','black','fontsize',12);
xtips1 = b(2).XEndPoints;
ytips1 = b(2).YEndPoints;
labels1 = string(b(2).YData);
b(2).FaceAlpha = 0.3;
rng(66);
b(2).FaceColor = rand(1,3)*0.3;
text(xtips1,ytips1,labels1,'HorizontalAlignment','center',...
    'VerticalAlignment','top','color','black','fontsize',12);
xlabel('月份','fontsize',12);
ylabel('任务数','fontsize',12)
set(gca,'fontsize',12);

运行结果



本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。


作 者 | 郭志龙

编 辑 | 郭志龙
校 对 | 郭志龙

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接