Show only two y values in a plot
古いコメントを表示
Hello all,
Any possible way to show only two value (0.02 and 0.04) for the y-axis, because the other values are just noise.
This is what I use for now to plot:
figure()
plot(time,wavelength,'b-x', 'LineWidth',2)
grid
axis tight
xlabel('Time')
ylabel('Wavelength')
hold on
Thank you!

9 件のコメント
Dyuman Joshi
2022 年 12 月 2 日
Try
idx=ismember(wavelength,[0.02 0.04]);
%ideally one should use ismembertol
plot(time(idx),wavelength(idx),'b-x', 'LineWidth',2)
Hussein Kokash
2022 年 12 月 2 日
Hussein Kokash
2022 年 12 月 2 日
Dyuman Joshi
2022 年 12 月 2 日
Because the code I wrote only checks for 0.02 and 0.04, which is what you wanted.
Hussein Kokash
2022 年 12 月 2 日
Dyuman Joshi
2022 年 12 月 2 日
This is the problem with floating point numbers, which is why I made the comment.
Try -
idx=ismembertol(wavelength,[0.033333333333333, 0.2],1e-15);
There's still a chance that it might not work, because I don't know the values. If it doesn't, post your data here. Only then can I can say for sure, what you can do.
Hussein Kokash
2022 年 12 月 2 日
Dyuman Joshi
2022 年 12 月 2 日
Alright, did my code work? the one with ismembertol() ?
Hussein Kokash
2022 年 12 月 2 日
回答 (1 件)
KSSV
2022 年 12 月 2 日
tol = 10^-3 ; % fix your tolerance
idx = abs(wavelength-0.02)<=tol | abs(wavelength-0.04)<=tol ;
plot(time(idx),wavelength(idx),'+r')
カテゴリ
ヘルプ センター および File Exchange で Annotations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
