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.
Plot multiple variables with stackedplot with data for the x-axis?
25 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Selim Öngüdü
2022-8-15
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
stackedplot(___,'XVariable',xvar)
3 个评论
dpb
2022-8-12
编辑:dpb
2022-8-12
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.
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Line Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!