我试图在MATLAB中将一些一维数据绘制到二维图上。
基本上,我有一个波形输出,我希望在相关数据点叠加垂直线。目前,我正在使用以下代码在我已存在的数字上进行绘图:
plot(velocityPeaks(:,1), 0, 'r.');
对于'velocityPeaks'包含值的每个位置,这会在y = 0处产生一个红点。我希望将它作为垂直红线切入整个图形。这是我目前的输出:
那些红点 - 目前我必须在计算机屏幕上使用标尺才能确切地看到它们的相关内容。不是理想的解决方案!
答案 0 :(得分:2)
这应该有效:
plot(velocityPeaks(:,[1 1]) , ylim,'r-')
这将在情节中已包含的y限制的velocityPeaks(:,1)
位置绘制一系列垂直线。要自己指定限制,请使用,例如:
plot(velocityPeaks(:,[1 1]) , [4 9],'r-')
答案 1 :(得分:0)
这并不是你想要的,但每当我做这样的事情时,我喜欢在峰值位置的原始波形上绘制圆圈。所以这样的事情(假设velocity
是原始波形):
velocityPeakValues = velocity(velocityPeaks);
plot(velocityPeaks(:,1), velocityPeakValues(:,1), 'ro');
答案 2 :(得分:-2)
也许您可以使用图中的data cursor icon
,然后点击红点以获取其坐标。