Plotting multiple graphs which are generated in loops on a single figure
    10 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Ciaran
      
 le 15 Août 2014
  
    
    
    
    
    Commenté : Joakim Magnusson
      
 le 15 Août 2014
            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 commentaires
  Joakim Magnusson
      
 le 15 Août 2014
				
      Modifié(e) : Joakim Magnusson
      
 le 15 Août 2014
  
			What does "avg_time_course_data" and "avg_time_course_error" look like?
Réponse acceptée
  Joakim Magnusson
      
 le 15 Août 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 commentaires
  Joakim Magnusson
      
 le 15 Août 2014
				Don't, i didn't know it right away either. Accept my answer if you you got what you wanted! :)
Plus de réponses (0)
Voir également
Catégories
				En savoir plus sur Annotations dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!