MATLAB: How to change a legend to a circle with a line crossing it

changechangingcirclelegendlinelinewidthmarkeredgecolormarkersMATLABmatlab guiplotplottingreference

Hi. So this is the code I am using:
i
X = [500,1000,2000,4000,8000,16000];
Y = [6.55,6.25,6.15,6.1,6.07,6.05];
ref = [6.048,6.048,6.048,6.048,6.048,6.048];
plot(X,Y,'k','Linewidth',1)
hold on
plot(X,Y,'o','MarkerEdgeColor','black')
hold on
plot(X,ref,'k','Linewidth',1)
hold on
grid on
legend('I dont want this', 'I want this', 'reference')
And here's a picture of how the graph looks like and a second picture with the graph I would like to achieve(edited in Paint):
Any ideas of how I can achieve that in Matlab without having to edit the file in Paint? Also how to get rid of the first item in the legend? Also there is no "i" at the beginning of my code, I just don't know how to delete it.

Best Answer

Hi,
I saw that you plotted X and Y as a line and again plotting the X and Y as a marker.
That is why you get 2 legend entries and the third for reference.
If you would like to eliminate the this problem, you can use '-ok' to plot the data with line and the marker with black color in the same time.
plot(X,Y,'-ok','MarkerEdgeColor','black')
hold on
plot(X,ref,'k','Linewidth',1)
hold on
grid on
legend( 'I want this', 'reference')
and I got this
I hope this is what you were looking for.