
Is it possible to draw a line across all plots in a stackedplot?
    10 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Bryan Conklin
      
 el 20 de Abr. de 2020
  
    
    
    
    
    Comentada: Ameer Hamza
      
      
 el 22 de Abr. de 2020
            figure;
chans = 10;
for subplotN=1:chans-1 %plot first set of time-series
    x = 1:2841;
    y(:,subplotN) = randn(2841,1)*50;
end
y(:,subplotN+1) = randn(1,2841)*1e6;
stackedplot(x,y)

Is it possible to draw vertical lines across all stackedplots like in the figure below?

0 comentarios
Respuesta aceptada
  Ameer Hamza
      
      
 el 20 de Abr. de 2020
        
      Editada: Ameer Hamza
      
      
 el 20 de Abr. de 2020
  
      I am not sure if there is any direct option, but you can use annotation() to draw a line on the figure window such that it appears on the axes at correct locations. Following code shows an example
figure;
chans = 10;
for subplotN=1:chans-1 %plot first set of time-series
    x = 1:2841;
    y(:,subplotN) = randn(2841,1)*50;
end
y(:,subplotN+1) = randn(1,2841)*1e6;
s = stackedplot(x,y);
pos = s.Position;
xlims = s.xlim;
line_locations = [500 1000 1500 2000 2500];
line_locations_norm = interp1(xlims, cumsum(pos([1 3])), line_locations);
for i=1:numel(line_locations_norm)
    annotation('line', ...
        [line_locations_norm(i) line_locations_norm(i)], ...
        [pos(2) pos(2)+pos(4)], ...
        'Color', 'r', ...
        'LineWidth', 1);
end

4 comentarios
Más respuestas (0)
Ver también
Categorías
				Más información sobre Color and Styling 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!
