Plotting multiple graphs which are generated in loops on a single figure

1 visualización (últimos 30 días)
I have the following code:
antibodies = {'Rel-A','p-Rel-A','IkBa','p-IkBa','A20'};
x_axis = {'PBS','GOX','TNF','L','M','H'};
colours = {'r','g','b','m','c'};
Y_axis = 'OD';
hold on
figure('name','Time Course,PBS,Cyt')
for j=1:5,
subplot(5,1,j)
errorbar(avg_time_course_data{2}(j,1:3),avg_time_course_error{2}(j,1:3))
set(gca, 'XTick', 1:6, 'XTickLabel', x_axis)
title(antibodies(j))
ylabel = y_axis;
end
figure('name','Time Course,GOX,Cyt')
for j=1:5,
subplot(5,1,j)
errorbar(avg_time_course_data{5}(j,1:3),avg_time_course_error{5}(j,1:3))
set(gca, 'XTick', 1:6, 'XTickLabel', x_axis)
title(antibodies(j))
ylabel = y_axis;
end
The output of this generates two figures, both a single column of graphs. These graphs are parallel in the sense that variables a, b, c, d and e are plotted against time at positions 'subplot(5,1,i); i=1:5' on both graphs. I want to condense this into a single graph without doing all the manual repetitive work of undoing the loops. (i.e. I want both a's on one axis etc.). I hope this is clear, does anybody know how to do this?
Thanks
  4 comentarios
Joakim Magnusson
Joakim Magnusson el 15 de Ag. de 2014
Editada: Joakim Magnusson el 15 de Ag. de 2014
What does "avg_time_course_data" and "avg_time_course_error" look like?
Ciaran
Ciaran el 15 de Ag. de 2014
They are both 1x18 cells with each cell having a 5x3 double matrix within them.

Iniciar sesión para comentar.

Respuesta aceptada

Joakim Magnusson
Joakim Magnusson el 15 de Ag. de 2014
I belive you should just do something like this:
antibodies = {'Rel-A','p-Rel-A','IkBa','p-IkBa','A20'};
x_axis = {'PBS','GOX','TNF','L','M','H'};
colours = {'r','g','b','m','c'};
Y_axis = 'OD';
hold on
figure('name','Time Course,PBS,Cyt')
for j=1:5,
subplot(5,1,j)
errorbar(avg_time_course_data{2}(j,1:3),avg_time_course_error{2}(j,1:3));
hold on;
errorbar(avg_time_course_data{5}(j,1:3),avg_time_course_error{5}(j,1:3));
set(gca, 'XTick', 1:6, 'XTickLabel', x_axis)
title(antibodies(j))
ylabel = y_axis;
end
does it work?
  2 comentarios
Ciaran
Ciaran el 15 de Ag. de 2014
Yes that's exactly what I wanted. So simple I feed stupid for asking. Thanks
Joakim Magnusson
Joakim Magnusson el 15 de Ag. de 2014
Don't, i didn't know it right away either. Accept my answer if you you got what you wanted! :)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre 2-D and 3-D Plots en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by