How can I combine a line plot and a bar graph into one figure?

39 visualizaciones (últimos 30 días)
Hello everyone, I have a data set of shares returns and shares turnover for a set of dates and for different shares that I was able to divide into subgroups that I need to plot as follow with the dates represented in the X axis and two Y axis for the following graphed data:
  • The shares returns as a line plot
  • The shares turnover as a bar plot
To do so, I created the given function:
function myplot(abtur,abret,date)
figure;
hold on
plot(date,abret);
hold on
bar(date,abtur);
hold off
end
And I use it as follow:
Work = readtable('Data Plotting.xlsx');
Work.Groups = findgroups(Work.Numero);
splitapply(@myplot,Work.AbnormalTurnover,Work.MarketAdjustedModel,Work.Date,Work.Groups);
However, It seems like my formula doesn't work as it provides me with the graph I did insert, can anyone please help me solve this matter?
Thank you a lot !
  4 comentarios
Rik
Rik el 12 de Jun. de 2020
You should convert your date to an actual date format, either datetime or datenum. That should already help. Looking at the raw data you can also notice the adjusted data is fairly small compared to the other dataset.
If you want more explicit help, put your data in a mat file and attach it.
Nabil Benhadda
Nabil Benhadda el 13 de Jun. de 2020
Thank you A LOT Rik ! That was really helpfull as it allowed me to have a better understanding of the data !

Iniciar sesión para comentar.

Respuesta aceptada

Sujay C Sharma
Sujay C Sharma el 12 de Jun. de 2020
Hi,
Have a look at the following Matlab example. From my understanding of your question, the yyaxis function should be able to do exactly what you are looking for when it is used with the bar and the plot functions as shown in the example.

Más respuestas (0)

Categorías

Más información sobre Bar Plots en Help Center y File Exchange.

Productos


Versión

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by