Effacer les filtres
Effacer les filtres

Plot multiple variables with stackedplot with data for the x-axis?

14 vues (au cours des 30 derniers jours)
Selim Öngüdü
Selim Öngüdü le 12 Août 2022
Commenté : dpb le 15 Août 2022
Hi,
I am using the stackedplot function to plot multiple variables onto the same y-axis.
The code looks like this:
figure
stp = stackedplot(table,vars);
The variable table is a table where each column is one of the variables I want to plot. Vars is a cell array containing the table column names. So this code works for me, but I want the x-axis to be a time axis (I have a vector with the time values). Right now the x-axis is the number of the row in table.
How can I change the x-axis to have my time values?
Thanks
Selim

Réponse acceptée

Selim Öngüdü
Selim Öngüdü le 15 Août 2022
I figured it out. The variable that you want to be the data for the x-axis, has to be a column of the table input. Than the value for "XVariable" is the number of the correct column.
  1 commentaire
dpb
dpb le 15 Août 2022
"The variable that you want to be the data for the x-axis, has to be a column of the table input."
Oh. Yes. I had thought that was self-evident since the table object is the first argument.
But, the 'XVariable' argument can be specified as either the column number, name as string/cellstr/char vector, or a logical addressing vector with the appropriate true element set, it doesn't have to be just the numeric column number.

Connectez-vous pour commenter.

Plus de réponses (1)

dpb
dpb le 12 Août 2022
From the doc, about the third input syntax description is
stackedplot(___,'XVariable',xvar)
  3 commentaires
dpb
dpb le 12 Août 2022
Modifié(e) : dpb le 12 Août 2022
Well, yes, you must specify only one variable for the x axis, stackedplot doesn't handle different x,y combinations for various plots; only one x for all y.
That wouldn't be a bad enhancement, @Adam Danz if you're watching! :)
Adam Danz
Adam Danz le 15 Août 2022
The syntax dpd recommended is for table syntax only.
'xvar' could be a string or index indicating a column in a table.
stackedplot is designed to compare multiple Ys against 1 X. If you want to use multiple X's then I recommend using nx1 tiledlayout with TileSpacing = none.
There's stackedaxes on the File Exchange, too.

Connectez-vous pour commenter.

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by