Plot markers as a continuous line

87 views (last 30 days)
P_L
P_L on 28 Feb 2019
Commented: P_L on 4 Mar 2019
Hi there, I am trying to plot lots of points representing a seismic fault over some topography. I am plotting the data in the form plot(x,y,'.') but as the data represnets a shape I need the gaps between each of the points filling so it looks like a smooth line.
plotting in the form plot(x,y'-') is very messy.
Any ides on how to fix this?
  4 Comments
Adam
Adam on 28 Feb 2019
Edited: Adam on 28 Feb 2019
And do you have an example of the points? I know you can get a mess sometimes with line plots, but only usually if the points are in a jumbled order. If they are in the order you want them to be joined they should normally be joined as you would expect them. Are your points sorted in y? I assume if it is a seismic fault that y-values should be monotonically increasing?
P_L
P_L on 28 Feb 2019
Hi Adam thanks for getting back to me. They were in decending order and now i have just tried it by placing them in ascending order - but still no luck :(

Sign in to comment.

Answers (2)

Kevin Phung
Kevin Phung on 28 Feb 2019
Edited: Kevin Phung on 28 Feb 2019
try this :
[new_x, ord] = sort(x);
new_y = y(ord);
plot(new_x,new_y,'r-')
let me know if this helped
  4 Comments
Walter Roberson
Walter Roberson on 2 Mar 2019
You posted a question about splitting your data; I have responded to it a second ago.
P_L
P_L on 2 Mar 2019
Hi Walter thank you, yes i posted that comment over an hour ago. I have deleted it now as it has been resolved :)

Sign in to comment.


Image Analyst
Image Analyst on 2 Mar 2019
Don't use the dash line specifier because it looks like you might be plotting one 2-D array and the ends of one line are connecting to the beginning of the next line.
Just use dot and the MarkerSize property and see if that works for you.
plot(x, y, 'b.', 'MarkerSize', 10);
Adjust color and MarkerSize as needed.
If it's a 2-D array you're plotting, consider plotting each row or column one at a time rather than the 2-D matrix all with one call to plot().
  1 Comment
P_L
P_L on 4 Mar 2019
Hi there, I already tried increasing the marker size but the gaps in data points are too big. I also tried your secong suggestion which I couldn't get to work earlier. The fault data I have read in for a collection of faults which is why I believe it's behaving the way it is. I have now seperated the data into seperate vectors and and I amtrying to plot it this way.
Thank you for your imput anyway, much appreciated :)

Sign in to comment.

Categories

Find more on Vector Fields in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!