how to set a plot to start at zero

14 次查看(过去 30 天)
I am working with gait data and have resampled 1 gait cycle (~120 data points) in to 100 using
[c,d] = size(RawData);
GC_Percent = resample (RawData,100,c);
This seems to work fine but when i plot the data it starts at 1% is there a way to change the output the the first value is plotted at 0 on the y axis?

采纳的回答

KSSV
KSSV 2017-9-27
Subtract the minimum value (1%) from the data and then plot....
  2 个评论
WellsJ
WellsJ 2017-9-27
apologies if i've misunderstood but that has shifted the data down to the x axis (obviously) i'm looking to shift it left on to the y axis.
Thank you
KSSV
KSSV 2017-9-27
Try subtracting the minimum y value from y data.

请先登录,再进行评论。

更多回答(1 个)

Jan
Jan 2017-9-27
The output in the plot does not depend on the Y values, but on the provided x values:
y = rand(10, 10);
subplot(1,2,1);
plot(y)
subplot(1,2,2)
plot(0:9, y)
You posted the code for creating y, but the actual problem appears in the command for plotting, which you did not show.
By the way: resample applied an "antialiasing FIR lowpass filter". It is questionable if tis is really wanted for the analysis of the motion. I prefer a linear interpolation and have written for the same problem: FEX: ScaleTime
Yi = ScaleTime(Y, 100)
Are you sure that you want 100 time steps? Usually 101 steps are used in motion analysis to represent 100 intervals of 1%.
  4 个评论
Jan
Jan 2017-9-27
I've posted a link to the code already, which solves the problem much faster than interp1. But if you prefer this function:
sY = size(Y, 1);
Yi = interp1(1:sY, Y, linspace(1, sY, 101));
husnir nasyuha
husnir nasyuha 2019-3-27
Hi, may I know what is Y in this code refer to?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Multirate Signal Processing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by