Azzera filtri
Azzera filtri

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

1 visualizzazione (ultimi 30 giorni)
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 Commenti
Joakim Magnusson
Joakim Magnusson il 15 Ago 2014
Modificato: Joakim Magnusson il 15 Ago 2014
What does "avg_time_course_data" and "avg_time_course_error" look like?
Ciaran
Ciaran il 15 Ago 2014
They are both 1x18 cells with each cell having a 5x3 double matrix within them.

Accedi per commentare.

Risposta accettata

Joakim Magnusson
Joakim Magnusson il 15 Ago 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 Commenti
Ciaran
Ciaran il 15 Ago 2014
Yes that's exactly what I wanted. So simple I feed stupid for asking. Thanks
Joakim Magnusson
Joakim Magnusson il 15 Ago 2014
Don't, i didn't know it right away either. Accept my answer if you you got what you wanted! :)

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by