MATLAB:在二维绘图上绘制一维数据

MATLAB:在二维绘图上绘制一维数据,matlab,graph,plot,Matlab,Graph,Plot,我试图在MATLAB中将一些一维数据绘制到二维图上 基本上,我有一个波形输出,我想有垂直线叠加在相关的数据点。目前,我正在使用以下代码在我先前存在的图形上绘图: plot(velocityPeaks(:,1), 0, 'r.'); 这会在y=0处为“velocityPeaks”包含值的每个位置生成一个红点。我更喜欢把它作为一条垂直的红线,贯穿整个图表。这是我当前的输出: 那些红点——目前我不得不用尺子对着电脑屏幕,看清楚它们到底与什么有关。不是理想的解决方案 也许您可以使用图中的数据光标图标,

我试图在MATLAB中将一些一维数据绘制到二维图上

基本上,我有一个波形输出,我想有垂直线叠加在相关的数据点。目前,我正在使用以下代码在我先前存在的图形上绘图:

plot(velocityPeaks(:,1), 0, 'r.');
这会在y=0处为“velocityPeaks”包含值的每个位置生成一个红点。我更喜欢把它作为一条垂直的红线,贯穿整个图表。这是我当前的输出:

那些红点——目前我不得不用尺子对着电脑屏幕,看清楚它们到底与什么有关。不是理想的解决方案

也许您可以使用图中的数据光标图标,然后单击红色点以获取其坐标。

这应该可以:

plot(velocityPeaks(:,[1 1]) , ylim,'r-')
这将在已包含在绘图中的y限制处的velocityPeaks:,1位置绘制一系列垂直线。要自行指定限制,请使用,例如:

plot(velocityPeaks(:,[1 1]) , [4 9],'r-')

这并不是你想要的,但每当我做类似的事情时,我喜欢在峰值位置的原始波形上画圆圈。这样假设速度是原始波形:

velocityPeakValues = velocity(velocityPeaks);
plot(velocityPeaks(:,1), velocityPeakValues(:,1), 'ro');

附议@OliCharlesworth的建议:stemvelocityPeaks:,1,velocityPeaks:,2