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