How to reverse x-axis in a stacked plot.

I have used the code below to plot a stacked plot,
X = [4 3 2 1];
x = X';
Y = [2 3 4 5; 3 4 5 6];
y = Y';
plot1=stackedplot(x,y)
The returned plot has a x-direction from min value to max value, how can I modify the code to make it from max to min as the X data presented?

 Respuesta aceptada

Ameer Hamza
Ameer Hamza el 22 de Abr. de 2020
Editada: Ameer Hamza el 22 de Abr. de 2020
stackedplot is still very limited in capabilities and does not support several features. Manipulating the appearance of X-axis is one of them. Currently, your best bet is to use subplots with few modifications to make it look like stackedplot.
X = [4 3 2 1];
x = X';
Y = [2 3 4 5; 3 4 5 6];
y = Y';
% plot1=stackedplot(x,y)
ax1 = subplot(2,1,1);
plot(x, y(:,1));
ax1.XAxis.Visible = 'off';
ax1.Position(2) = ax1.Position(2)-0.05;
ax1.XDir = 'reverse';
ax2 = subplot(2,1,2);
plot(x, y(:,2));
ax2.Position(2) = ax2.Position(2)+0.05;
ax2.XDir = 'reverse';

Más respuestas (2)

Adam Danz
Adam Danz el 19 de Nov. de 2020
Editada: Adam Danz el 24 de Nov. de 2020
You can get the axis handles in stackedplot using the undocumented NodeChildren property.
x = [4 3 2 1];
y = [2 3 4 5; 3 4 5 6]';
h = stackedplot(x,y);
set(findobj(h.NodeChildren,'Type','Axes'),'XDir','reverse')
Fangjun Jiang
Fangjun Jiang el 22 de Abr. de 2020
This is interesting. I wonder if this meets your need.
%%
x=1:4;
y=rand(size(x));
plot(y,x);
xlabel('y');
ylabel('x');
axis ij
view(90,-90);

1 comentario

Error using view (line 63)
Using view with stackedplot is not supported.

Iniciar sesión para comentar.

Categorías

Más información sobre Data Distribution Plots en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 22 de Abr. de 2020

Editada:

el 24 de Nov. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by