How to change a legend to a circle with a line crossing it?

11 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Addy
Addy il 29 Ott 2018
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.
  5 Commenti
madhan ravi
madhan ravi il 29 Ott 2018
It’s a bit rude because I was taking my time to explain you and then you accept other answer , (nothing personal though)
Lukasz Skowron
Lukasz Skowron il 29 Ott 2018
To be honest I liked Addy's answer a bit more. So even if I had seen that yours before, I wouldn't have clicked accept the answer because Addy has just posted his solution.

Accedi per commentare.

Più risposte (1)

madhan ravi
madhan ravi il 29 Ott 2018
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];
h1=plot(X,Y,'-ok','Linewidth',1)
hold on
h2=plot(X,Y,'*','MarkerEdgeColor','black')
hold on
h3=plot(X,ref,'k','Linewidth',1)
hold on
grid on
legend([h1 h3],{'I want this' , 'reference'}) % just an example to skip a legend

Prodotti


Release

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by