MATLAB: Stacked bar graph with secondary y-axis line graph

graphmultiple axes

Hi,
I'm trying to achieve something like this from my excel file (attached) using MATLAB plot but I'm having a hard time. See below graph generated from excel and I wanted to regenerate it using MATLAB. Data is in excel sheet as well. Thank you.
Capture.JPG

Best Answer

[~,~,r]=xlsread('MLQ.xlsx'); % just read the spreadsheet to see what was in it...
MLQopt=detectImportOptions('MLQ.xlsx'); % will need some help to skip over the first two lines for data
MLQ=readtable('MLQ.xlsx',MLQopt); % and read the data into table
MLQ.Properties.VariableNames=cellfun(@(s)strrep(s,' ','_'),r(2,1:7),'uni',0); % get rid of blanks for v names
hB=bar(MLQ.Hour,MLQ{:,[4 3 5 6]},'stacked'); % start with the bar plot
hold on % prepare to add LH axis line
hLL=plot(MLQ.Hour,MLQ.Load,'r-','LineWidth',3); % and do so...
yyaxis right % get ready to RH axis line
hLR=plot(MLQ.Hour,MLQ.BT_SOC,'k-','LineWidth',3); % and plot them, too...
xlim([0.5 20.5])
xticks(1:20)
is the starting point for final cleanup and labelling--