Split the graph based on a specific value
1 次查看(过去 30 天)
显示 更早的评论
I have a graph like this.
This image is the part of the plot and the mean of y(77449x1 array) is 0.4943.
I want to divide it into small graphs by cut the graph from the part where y is the average of y.
Is it possible? If so, can I know what to do?
Or is it simpler to plot after dividing the y-value array than dividing the graph?
0 个评论
回答(1 个)
KSSV
2021-10-15
Let (x,y) be your data.
idx = knnsearch(y,mean(y)) ; % this will give index in y which is close to mean(y)
% plot
plot(x(1:idx),y(1:idx),'r')
hold on
plot(x(idx+1:end),y(idx+1:end),'b')
2 个评论
KSSV
2021-10-15
You can specify the number of points you want in knnsearch.
idx = knnsearch(y,mean(y),'k',10) ;
Also you can use simple inequalitilies to achieve the present.
tol = 10^-3 ;
idx = abs(y-mean(y))<=tol ;
idx = find(idx)
I would suggest to use the above.
另请参阅
类别
在 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!