Plotting index-determined points in a continuous line plot in a different color
조회 수: 4 (최근 30일)
이전 댓글 표시
I am investigating spike detection in audio data. I have 3 vectors of data: t, xp and yp, which I produce a 3D diagram from using plot3. Earlier on in my script, I determine a vector, say 'color2', containing the indexes of points that I would like to plot as blue, with the rest of the data as black. It is easy to produce a 3D plot of un-connected points with the following code:
plot3(fig4,t(color1),xp(color1),yp(insideIndex),'k.'); % Plot points as black dots
plot3(fig4,t(color2),xp(color2),yp(color2),'bo'); % Plot points of interest as blue pluses
This produces the following plot:

However, ideally I would like a single, continuous line of data where blue points are joined by blue lines and black points are joined by black lines, similar to the image below:

What's the simplest way of doing this? Cheers.
댓글 수: 0
답변 (1개)
Saurabh Gupta
2017년 7월 31일
Generally speaking, line plot functions combine adjoining points, based on the input vectors, into line segments. All you need to do it separate the data for both cases, and arrange the points in each data set in order of succession (as per line plotting requirements). Then, the 'plot3' command should be able to produce the continuous line plots that you require.
I am guessing that you are aware that your current commands use LineSpec as 'k.' and 'bo' which plot points only and not the connecting lines. But I thought I should mention it also just in case.
Hope this helps!
댓글 수: 4
José-Luis
2017년 8월 8일
I'm afraid it's not going to happen automagically. You will need two lines if you want two different colors.
참고 항목
카테고리
Help Center 및 File Exchange에서 Annotations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!