Stack three area plots - MATLAB
24 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
AHMED FAKHRI
el 12 de Abr. de 2021
Comentada: Star Strider
el 14 de Abr. de 2021
Hi
I have the attached Excel file which contains the data for 1-base emissions 2-post REEE 3-Abatement.
I want to plot the base emissions on y-axis first versus the years on x-axis.
Then, the post-REEE and the Abatement emisisons should be plotted such that they 'eat' from the 'base' as shown in the figure for the similar data below:
Is there a way I can do that in MATLAB please ?
many thanks
0 comentarios
Respuesta aceptada
Star Strider
el 12 de Abr. de 2021
This approaches what you want, however there must be some sort of conservation metric or other sort of scaling necessary to get the plot to appear as you want it to appear. I must leave that to you, since I do not understand how the various emissions values are related. (I left the ‘TotalEmissions’ vector that I created in the code, in the event you want to use it.)
T1 = readtable('CCC_data_emissions.xlsx');
T2 = T1; % Duplicate & Save Original
TF1 = ismember(T2.years, T2.years_1); % Matching Years
T2.emissions_1(TF1) = T1.emissions_1(~isnan(T1.emissions_1)); % Matching Values
T2.emissions_2(TF1) = T1.emissions_2(~isnan(T1.emissions_2)); % Matching Values
TotalEmissions = T2.emissions+T2.emissions_1+T2.emissions_2;
figure
area(T1.years, [T2.emissions-T2.emissions_1-T2.emissions_2, T2.emissions_1, T2.emissions_2])
legend('Emissions','Emissions_1','Emissions_2', 'Location','NE')
.
12 comentarios
Más respuestas (1)
Jithin Nambiar J
el 12 de Abr. de 2021
If you can plot the y values and x values for the 3 different ranges. You can use
hold on
after the first plot and at the end of last plot use
hold off
Ver también
Categorías
Más información sobre Graphics Objects en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!