如何更改条形图样式

时间:2016-05-14 17:00:05

标签: matlab graph graphics matlab-figure

我正在尝试创建条形图,并为每个条形图设置不同的样式(线条,点,圆圈和外部...)。

在这个例子中:

y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
x = [10; 20; 50; 90];
bar(x,y);

所有3个酒吧都有相同的风格。

如何更改它并为3个栏设置3种不同的样式?

2 个答案:

答案 0 :(得分:1)

调用bar

时使用句柄输出
y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
x = [10; 20; 50; 90];
h = bar(x,y);

这给出了hbar个对象(在您的示例中长度为3),您可以单独设置它们的方面。例如,

set(h(1), 'EdgeColor', 'r');
set(h(2), 'EdgeColor', 'g');
set(h(3), 'EdgeColor', 'b');

在R2015b中给出了以下图表(该方面将在其他版本中有所不同)。 enter image description here

您可以更改的其他属性包括'BarWidth''LineStyle'等。要查看列表类型get(h(1))

答案 1 :(得分:0)

我在@Luis给出的内容中添加了一些样式更改

y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
x = [10; 20; 50; 90];
h = bar(x,y);
set(h(1),'FaceColor', 'w','LineWidth', 1, 'LineStyle',':');
set(h(2),'FaceColor', 'w','LineWidth', 1, 'LineStyle','--');
set(h(3),'FaceColor', 'w','LineWidth', 1, 'LineStyle','-.');

'FaceColor', 'w' - 使条形白色的颜色

'LineWidth', 1 - 条形边框线的宽度

'LineStyle',':' - 虚线

'LineStyle','--' - 虚线

'LineStyle','-.' - Dash-dot line

enter image description here

针对每个条形图集的不同风格

figure
hold on;
y = [2 2 3; 0 0 0; 0 0 0;0 0 0 ];
x = [10; 20; 50; 90];
z=bar(x,y);
ylim([0 15]);
set(z,'FaceColor', 'w','LineWidth', 1, 'LineStyle',':');
y = [0 0 0; 2 5 6; 0 0 0;0 0 0 ];
x = [10; 20; 50; 90];
z1=bar(x,y);
set(z1,'FaceColor', 'w','LineWidth', 1, 'LineStyle','-.');
y = [0 0 0;0 0 0; 2 8 9; 0 0 0];
x = [10; 20; 50; 90];
z2=bar(x,y);
set(z2,'FaceColor', 'w','LineWidth', 1, 'LineStyle','-');
y = [0 0 0;0 0 0; 0 0 0; 2 11 12];
x = [10; 20; 50; 90];
z4=bar(x,y);
set(z4,'FaceColor', 'w','LineWidth', 1, 'LineStyle','--');
hold off;

enter image description here