Remove the legends for some lines in a plot (2024)

77 Ansichten (letzte 30 Tage)

Ältere Kommentare anzeigen

CS am 25 Jun. 2020

  • Verknüpfen

    Direkter Link zu dieser Frage

    https://de.mathworks.com/matlabcentral/answers/554764-remove-the-legends-for-some-lines-in-a-plot

  • Verknüpfen

    Direkter Link zu dieser Frage

    https://de.mathworks.com/matlabcentral/answers/554764-remove-the-legends-for-some-lines-in-a-plot

Kommentiert: Star Strider am 2 Mai 2022

Akzeptierte Antwort: Star Strider

In MATLAB Online öffnen

Hello,

I want to plot some data points and fit a line to the data. I have done so and everything is ok; the only issue is there are some more items in the legend box corresponding to the fitted lines.

C=['b','r','g','m'];

format short

a=1:4;

for i=1:length(a)

scatter(LT, Ra(i,:),C(i),'filled');

hold on

end

grid on

grid minor

xticks([30, 40, 50, 60, 70])

xticklabels({'30','40','50','60','70'})

for i=1:4

coeffs = polyfit(LT, Ra(i,:), 1);

% Get fitted values

fittedX = linspace(min(LT), max(LT), 200);

fittedY = polyval(coeffs, fittedX);

% Plot the fitted line

plot(fittedX, fittedY,C(i) , 'LineWidth', 2);

end

lgd=legend('25%','50%','75%','100%','FontSize',20)

lgd.Title.FontSize = 20;

The resulted figure is as follows:

Remove the legends for some lines in a plot (2)

Although I only have

lgd=legend('25%','50%','75%','100%','FontSize',20)

in the script, the fitted lines are unwantedly shown in the legend box with no dedicated name:

Remove the legends for some lines in a plot (3)

My question:

How can I get rid of those extra lines in the legend box?

Any help is highly appredicated!

0 Kommentare

-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

Melden Sie sich an, um diese Frage zu beantworten.

Akzeptierte Antwort

  • Verknüpfen

    Direkter Link zu dieser Antwort

    https://de.mathworks.com/matlabcentral/answers/554764-remove-the-legends-for-some-lines-in-a-plot#answer_457093

  • Verknüpfen

    Direkter Link zu dieser Antwort

    https://de.mathworks.com/matlabcentral/answers/554764-remove-the-legends-for-some-lines-in-a-plot#answer_457093

In MATLAB Online öffnen

How can I get rid of those extra lines in the legend box?

Refer only to the scatter plots by handle reference:

LT = 0.5:9.5;

Ra = randn(4,numel(LT));

C=['b','r','g','m'];

hold on

for i = 1:size(Ra,1)

hs(i) = scatter(LT, Ra(i,:),C(i),'filled'); % Return Handles To ‘scatter’ Objects

coeffs = polyfit(LT, Ra(i,:), 1);

fittedX = linspace(min(LT), max(LT), 200);

fittedY = polyval(coeffs, fittedX);

plot(fittedX, fittedY,C(i) , 'LineWidth', 2);

end

hold off

lgd=legend(hs, '25%','50%','75%','100%','FontSize',20); % Use Only ‘scatter’ Objects In ‘legend’ call

Include the other lines in your code that I omitted here.

.

4 Kommentare

2 ältere Kommentare anzeigen2 ältere Kommentare ausblenden

CS am 25 Jun. 2020

Direkter Link zu diesem Kommentar

https://de.mathworks.com/matlabcentral/answers/554764-remove-the-legends-for-some-lines-in-a-plot#comment_913576

  • Verknüpfen

    Direkter Link zu diesem Kommentar

    https://de.mathworks.com/matlabcentral/answers/554764-remove-the-legends-for-some-lines-in-a-plot#comment_913576

It worked very well! Thanks!

Star Strider am 25 Jun. 2020

Direkter Link zu diesem Kommentar

https://de.mathworks.com/matlabcentral/answers/554764-remove-the-legends-for-some-lines-in-a-plot#comment_913582

  • Verknüpfen

    Direkter Link zu diesem Kommentar

    https://de.mathworks.com/matlabcentral/answers/554764-remove-the-legends-for-some-lines-in-a-plot#comment_913582

As always, my pleasure!

Rodrigo Martinez am 2 Mai 2022

Direkter Link zu diesem Kommentar

https://de.mathworks.com/matlabcentral/answers/554764-remove-the-legends-for-some-lines-in-a-plot#comment_2135950

  • Verknüpfen

    Direkter Link zu diesem Kommentar

    https://de.mathworks.com/matlabcentral/answers/554764-remove-the-legends-for-some-lines-in-a-plot#comment_2135950

Dear Star Strider,

I've been working for a while with Matlab but I have always worked with my own data and figures. This time, however, my colleague sent me these figures I need to put in a paper. The legneds I need to modify are exactly the same as the ones in this post: scatter data and fit curves for which I don't need legends. Is it possible to get rid of the extra legends without needing to ask for the data to create new figures?

All the best,

Star Strider am 2 Mai 2022

Direkter Link zu diesem Kommentar

https://de.mathworks.com/matlabcentral/answers/554764-remove-the-legends-for-some-lines-in-a-plot#comment_2136100

  • Verknüpfen

    Direkter Link zu diesem Kommentar

    https://de.mathworks.com/matlabcentral/answers/554764-remove-the-legends-for-some-lines-in-a-plot#comment_2136100

In MATLAB Online öffnen

@Rodrigo Martinez — I am not certain that I understand what you want.

One option to select only some data series for the legend might be to use 'DisplayName' —

LT = 0.5:9.5;

Ra = randn(4,numel(LT));

C=['b','r','g','m'];

dnv = 25:25:100;

hold on

for i = 1:size(Ra,1)

hs(i) = scatter(LT, Ra(i,:),C(i),'filled', 'DisplayName',sprintf('%.0f%%',dnv(i))); % Return Handles To 'scatter' Objects, Use 'DisplayName'

coeffs = polyfit(LT, Ra(i,:), 1);

fittedX = linspace(min(LT), max(LT), 200);

fittedY = polyval(coeffs, fittedX);

plot(fittedX, fittedY,C(i) , 'LineWidth', 2);

end

hold off

lgd=legend(hs([1 4]),'FontSize',20, 'Location','best'); % Use Only Selected 'scatter' Objects In 'legend' Call

Remove the legends for some lines in a plot (9)

.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

dpb am 25 Jun. 2020

  • Verknüpfen

    Direkter Link zu dieser Antwort

    https://de.mathworks.com/matlabcentral/answers/554764-remove-the-legends-for-some-lines-in-a-plot#answer_457096

  • Verknüpfen

    Direkter Link zu dieser Antwort

    https://de.mathworks.com/matlabcentral/answers/554764-remove-the-legends-for-some-lines-in-a-plot#answer_457096

In MATLAB Online öffnen

If you only want the scatter points in legend, set the 'Annotation' property to not show the lines...

plot(fittedX, fittedY,C(i) , 'LineWidth', 2,'Annotation','off');

0 Kommentare

-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

Melden Sie sich an, um diese Frage zu beantworten.

Siehe auch

Kategorien

MATLABGraphicsFormatting and AnnotationLabels and AnnotationsLegend

Mehr zu Legend finden Sie in Help Center und File Exchange

Tags

  • extra lines in legend box
  • fitted line to data

Community Treasure Hunt

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

Start Hunting!

Es ist ein Fehler aufgetreten

Da Änderungen an der Seite vorgenommen wurden, kann diese Aktion nicht abgeschlossen werden. Laden Sie die Seite neu, um sie im aktualisierten Zustand anzuzeigen.


Translated by Remove the legends for some lines in a plot (11)

Remove the legends for some lines in a plot (12)

Website auswählen

Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .

Sie können auch eine Website aus der folgenden Liste auswählen:

Amerika

  • América Latina (Español)
  • Canada (English)
  • United States (English)

Europa

  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
  • United Kingdom(English)

Asien-Pazifik

Kontakt zu Ihrer lokalen Niederlassung

Remove the legends for some lines in a plot (2024)
Top Articles
Latest Posts
Article information

Author: Rueben Jacobs

Last Updated:

Views: 5851

Rating: 4.7 / 5 (57 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Rueben Jacobs

Birthday: 1999-03-14

Address: 951 Caterina Walk, Schambergerside, CA 67667-0896

Phone: +6881806848632

Job: Internal Education Planner

Hobby: Candle making, Cabaret, Poi, Gambling, Rock climbing, Wood carving, Computer programming

Introduction: My name is Rueben Jacobs, I am a cooperative, beautiful, kind, comfortable, glamorous, open, magnificent person who loves writing and wants to share my knowledge and understanding with you.