如何更改条形图样式
How to change bar graph style
我正在尝试创建一个条形图,并为每个条形图设置不同的样式(线条、点、圆圈和扩展...)。
在这个例子中:
y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
x = [10; 20; 50; 90];
bar(x,y);
所有 3 个栏都具有相同的样式。
如何更改它并为 3 个栏设置 3 种不同的样式?
调用时使用句柄输出bar
y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
x = [10; 20; 50; 90];
h = bar(x,y);
这给出了一个包含 bar
个对象的数组 h
(在您的示例中长度为 3
),您可以独立设置它们的纵横比。例如,
set(h(1), 'EdgeColor', 'r');
set(h(2), 'EdgeColor', 'g');
set(h(3), 'EdgeColor', 'b');
在R2015b中给出如下图(其他版本长相会有所不同)。
您可以更改的其他属性有 'BarWidth'
、'LineStyle'
等。要查看列表类型 get(h(1))
。
我正在对@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','-.'
-- 点划线
对于每个栏集的不同样式
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;
我正在尝试创建一个条形图,并为每个条形图设置不同的样式(线条、点、圆圈和扩展...)。
在这个例子中:
y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
x = [10; 20; 50; 90];
bar(x,y);
所有 3 个栏都具有相同的样式。
如何更改它并为 3 个栏设置 3 种不同的样式?
调用时使用句柄输出bar
y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
x = [10; 20; 50; 90];
h = bar(x,y);
这给出了一个包含 bar
个对象的数组 h
(在您的示例中长度为 3
),您可以独立设置它们的纵横比。例如,
set(h(1), 'EdgeColor', 'r');
set(h(2), 'EdgeColor', 'g');
set(h(3), 'EdgeColor', 'b');
在R2015b中给出如下图(其他版本长相会有所不同)。
您可以更改的其他属性有 'BarWidth'
、'LineStyle'
等。要查看列表类型 get(h(1))
。
我正在对@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','-.'
-- 点划线
对于每个栏集的不同样式
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;