Pregunta

En Matlab, ¿es posible crear una única gráfica de dos fuentes de datos relacionadas con la primera fuente trazada a lo largo de la parte inferior del eje x y la segunda fuente que se traza de la parte superior del eje x?

No puedo encontrar ninguna parte de la documentación de Matlab donde se hace esto.

El gráfico final que necesito está en un formulario como este:

http://www.epa.gov/ncer/progress/images/r827933c033_02_003.gif

¿Fue útil?

Solución

Intenté reproducir su gráfico lo más cerca posible.Aquí está lo que terminé con:

t = linspace(datenum('01-19-2002'), datenum('06-27-2002'), 12);
x1 = randi(40, [12 1]);
x2 = randi(40, [12 1]);
z = 100-x1-x2;

hAxR = axes();
hAxL = axes();

h = bar(t, [x1 z x2], 'stacked');

set(h(1),'facecolor','y')
set(h(2),'facecolor',[.8 .8 .8])
set(h(3),'facecolor','r')
legend(h, {'s1' 's2' 's3'}, ...
   'orientation','horizontal', 'location','northoutside')

set(hAxL, 'xtick',t, 'xlim',[datenum('01-01-2002') datenum('07-15-2002')])
datetick(hAxL, 'x',2,'keepticks','keeplimits')
xticklabel_rotate

ylabel(hAxL, 'label1')
ylabel(hAxR, 'label2')

set(hAxR, 'position',get(hAxL,'position'), 'color','none', 'xtick',[], ...
    'ydir','reverse', 'yaxislocation','right', 'ylim',get(hAxL,'ylim'))
set(hAxL, 'YGrid','on')

gráfico

Estoy usando xticklabel_rotate para girar las etiquetas en el eje x

Otros consejos

Revisa la documentación en la bar Función.Puede usarlo para crear gráficos como los siguientes:

 bar2.gif

 bar_ex2.gif

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top