Plotting multiple graphs which are generated in loops on a single figure
    10 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Ciaran
      
 el 15 de Ag. de 2014
  
    
    
    
    
    Comentada: Joakim Magnusson
      
 el 15 de Ag. de 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 comentarios
  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?
Respuesta aceptada
  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
  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! :)
Más respuestas (0)
Ver también
Categorías
				Más información sobre Annotations 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!