WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Problem mit Farben in Legende

 

lulu2010
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 29.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.07.2010, 12:17     Titel: Problem mit Farben in Legende
  Antworten mit Zitat      
Hallo,

ich habe ein Problem mit den Farben in der Legende von meinem Plot. Ab dem zweiten Eintrag bekommen alle Legenden die gleiche Farbe (siehe Anhang).
Das ist der Code dazu
Code:

plot(1:1155,rx_val_array_woagc,'y',1:1155,channel_attenuation_array(1),'m',1:1155,rx_val_array,'c',1:1155,snr,'r',1:1155,tx_val,'g',1:1155,ps_array,'b');
legend('RX without AGC','Channel Attenuation','RX with AGC','SNR','TX Value','Prescaler');
 


Weiß jemand, woran das liegt?

Danke vorab!

Parameters.png
 Beschreibung:

Download
 Dateiname:  Parameters.png
 Dateigröße:  16.15 KB
 Heruntergeladen:  662 mal
Private Nachricht senden Benutzer-Profile anzeigen


josekamara
Forum-Meister

Forum-Meister


Beiträge: 529
Anmeldedatum: 26.04.08
Wohnort: München
Version: ---
     Beitrag Verfasst am: 14.07.2010, 13:01     Titel:
  Antworten mit Zitat      
Code:

legend({'RX without AGC','Channel Attenuation','RX with AGC','SNR','TX Value','Prescaler'});
 


Geschweifte Klammer müssen noch hi. Oder so lassen aber am Ende die Anzahl dazu gebe.

Code:

legend('RX without AGC','Channel Attenuation','RX with AGC','SNR','TX Value','Prescaler',5);
 

_________________

Simulation
Private Nachricht senden Benutzer-Profile anzeigen
 
lulu2010
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 29.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.07.2010, 13:44     Titel:
  Antworten mit Zitat      
Hi josekamara,

vielen Dank für deine Hilfe. Ich habe beides ausprobiert, aber es hat nicht funktioniert. Stattdessen habe ich immer ein blank hinter jedem Komma nach einer Farbe hinzugefügt, also
Code:

plot(1:1155,rx_val_array_woagc,'y', 1:1155,channel_attenuation_array(:,channel_matrix_width),'m', 1:1155,rx_val_array,'c', 1:1155,snr,'r', 1:1155,tx_val,'g', 1:1155,ps_array,'b' );
 

und das hat fast das Problem gelöst. Jetzt haben nur noch die letzten beiden Einträge die gleiche Farbe.

Noch Ideen, wie ich das lösen kann?
Private Nachricht senden Benutzer-Profile anzeigen
 
josekamara
Forum-Meister

Forum-Meister


Beiträge: 529
Anmeldedatum: 26.04.08
Wohnort: München
Version: ---
     Beitrag Verfasst am: 14.07.2010, 14:11     Titel:
  Antworten mit Zitat      
Ich nehme an dass nicht alle Parameter Vektoren sind, sondern Matrizen.
Vergewissere Dich bitte!
_________________

Simulation
Private Nachricht senden Benutzer-Profile anzeigen
 
lulu2010
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 29.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.07.2010, 14:20     Titel:
  Antworten mit Zitat      
ja das stimmt, channel_attenuation_array ist eine matrix, aber ich greife durch
Code:

channel_attenuation_array(:,channel_matrix_width)
 

ja nur auf eine spalte der matrix zu...

Wieso funktioniert das dann nicht? Bzw. wie kann ich das ändern?
Private Nachricht senden Benutzer-Profile anzeigen
 
josekamara
Forum-Meister

Forum-Meister


Beiträge: 529
Anmeldedatum: 26.04.08
Wohnort: München
Version: ---
     Beitrag Verfasst am: 14.07.2010, 14:39     Titel:
  Antworten mit Zitat      
Schau Dir alle Vektor, ist tx_val ein Vektor?
_________________

Simulation
Private Nachricht senden Benutzer-Profile anzeigen
 
lulu2010
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 29.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.07.2010, 15:00     Titel:
  Antworten mit Zitat      
nein, das ist eine Konstante.
Soll ich daraus einen Vektor machen oder geht das auch anders?
Private Nachricht senden Benutzer-Profile anzeigen
 
josekamara
Forum-Meister

Forum-Meister


Beiträge: 529
Anmeldedatum: 26.04.08
Wohnort: München
Version: ---
     Beitrag Verfasst am: 14.07.2010, 15:08     Titel:
  Antworten mit Zitat      
Ich würde vorschlagen, du plottest es einzeln nacheinandern und schaust wo der Fehler ist:
Code:

plot(x1,y1,'r');
hold on;
plot(x2,y2,'y');
%.....
legend('plot1','plot2',.....);
 

_________________

Simulation
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 14.07.2010, 22:25     Titel: Re: Problem mit Farben in Legende
  Antworten mit Zitat      
Hallo Lulu,

Code:

plot(1:1155, rx_val_array_woagc, 'y', ...
   1:1155, channel_attenuation_array(1), 'm', ...  % ** Scalar ?! **
   1:1155, rx_val_array,'c', ...
   1:1155, snr,'r', ...
   1:1155, tx_val,'g',...
   1:1155, ps_array,'b');
legend('RX without AGC','Channel Attenuation','RX with AGC','SNR','TX Value','Prescaler');
 


Soweit ich das sehe ist "channel_attenuation_array(1)" ein Skalar, was die Legende durcheinander bringt. Das bringt vorallem aber auch PLOT sehr durcheinander. Normalerweise sollte PLOT nämlich 6 Handles der einzelnen Linien zurückliefern. Mit einem Skalar als Y-Wert wie in Deinem Beispiel, werden jedoch LENGTH(X)+1 Handles erzeugt.

Lösung: Entweder einzelne PLOT Befehle verwenden (entweder "hold on" oder direkter "axes('nextplot', 'add')") oder alle X- und Y-Werte mit passender Anzahl eingeben. Z.B:
Code:
... [1, 1155], channel_attenuation_array([1, 1]) ...
oder
... 1:1155, channel_attenuation_array(ones(1155)) ...


Viel Erfolg, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
lulu2010
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 29.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.07.2010, 09:27     Titel:
  Antworten mit Zitat      
Hallo,

das Problem lag bei channel_attenuation_array (Matrix) und tx_val (Konstante).

auf channel_attenuation_array habe ich falsch zugegriffen und was tx_val angeht, so habe ich einfach einen vektor erzeugt, indem halt 1155 mal tx_val drin steht (wusste nicht, wie ich es sonst machen sollte).

Viele Dank für die Hilfe!
Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Yorsch

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.07.2019, 15:23     Titel:
  Antworten mit Zitat      
hatte das selbe Problem mit der Farbe, da ich eine Konstante durch eine Veränderliche geteilt habe. hab dann einfach bei der Konstanten "+d-d" (d war meine Variable/Vektor) hinzugefügt. damit war es quasi keine Konstante mehr und hat funktioniert.
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.