如何围绕某个 x 值进行绘图,而无需手动查找庞大数据数组中的索引?

问题描述 投票:0回答:1

我目前正在绘制一个包含 550K 个元素的数组,这些元素属于 MATLAB 中的光谱,并遇到了一些问题。 该图本身的范围为 2040-2150 cm^-1,但如果我想在所述光谱中隔离 2060 cm^-1 附近的峰值,我该如何做到这一点而不执行太多步骤,只需填写 x 值峰值中心以及可能的周围范围?

我一直在浏览论坛,但没有一个提到有关大型数据数组的任何内容,只有较小的数组引用了 xlim。

matlab plot limit matlab-figure spectrum
1个回答
0
投票

如果您有一些跨越 x 范围 2040 到 2150 的数据:

x = linspace( 2040, 2150, 1e4 );
y = rand( size( x ) );

如果您只想绘制 2050 年到 2070 年之间的数据,即 2060 +/- 10,您可以创建一个您感兴趣的值的索引数组

xmid = 2060;
xwidth = 10;
idx = abs(x - xmid) <= xwidth;

然后使用该子集进行绘图

plot( x(idx), y(idx) );
© www.soinside.com 2019 - 2024. All rights reserved.