Hello, I wrote following lines for plotting a bar graph of shock1-shock5 excel files.
%filename='shock1-5.xlsx'
clear all
clc
training=5;
sheetname='Result';
for i=1:training
disp(i)
freezePercent=xlsread(strcat('shock',num2str(i)),'C2:C11');
for j=1:length(freezePercent)
bar(freezePercent,'grouped')
hold on
end
end
However my code returns me stacked bar graph which looks like this.
I want mine to look like this:

 Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 1 Jun. 2020

0 Stimmen

Try this
clear all
clc
training=5;
sheetname='Result';
freezePercent = zeros(training, 10);
for i=1:training
freezePercent(i,:)=xlsread(strcat('shock',num2str(i)),'C2:C11');
end
bar(freezePercent)

6 Kommentare

Yanjika O
Yanjika O am 2 Jun. 2020
Hey! this works perfect. Thanks a lot.
Ameer Hamza
Ameer Hamza am 2 Jun. 2020
I am glad to be of help!
Yanjika O
Yanjika O am 2 Jun. 2020
But, what if I want to plot them individually?
Ameer Hamza
Ameer Hamza am 2 Jun. 2020
Can you show an example of how to plot individually? Can you share a sample dataset?
Yanjika O
Yanjika O am 2 Jun. 2020
Hey I wanted to plot the groups individually in a separate graphs. I became able to do what I wanted with the following code:
clear all
clc
training=5;
sheetname='Result';
%freezePercent = zeros(training, 10);
for i=1:training
freezePercent(i,:)=xlsread(strcat('shock',num2str(i)),'Result','C2:C11');
averageLine(i,:)=xlsread(strcat('shock',num2str(i)),'Result','C12');
figure(i)
bar(freezePercent(i,:))
hold on
%line([1,10],[averageLine,averageLine])
%hold on
end
Thanks you for your responses!
Ameer Hamza
Ameer Hamza am 2 Jun. 2020
Glad that you found the solution. You may also see subplot() to draw them on the same figure.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu 2-D and 3-D Plots finden Sie in Hilfe-Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by