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

15 次查看(过去 30 天)
I am using the stackedplot function to plot multiple variables onto the same y-axis.
The code looks like this:
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?


Selim Öngüdü
Selim Öngüdü 2022-8-15
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 个评论
dpb 2022-8-15
"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.


更多回答(1 个)

dpb 2022-8-12
From the doc, about the third input syntax description is
  3 个评论
Adam Danz
Adam Danz 2022-8-15
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.





Community Treasure Hunt

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

Start Hunting!

Translated by