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

Legende nachträglich ändern

 

MJR10
Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 12.12.11
Wohnort: ---
Version: R2010b
     Beitrag Verfasst am: 09.03.2012, 11:57     Titel: Legende nachträglich ändern
  Antworten mit Zitat      
Hallo,
ich habe folgendes Problem. Ich hab eine Funktion die Messwerte auswertet und dabei einen Graphen ausgibt. Der Graph besitzt auch eine Legende. da ich die Funktion nicht großartig umschreiben möchte dass Legende von vornherein passt, wollte ich wissen ob es eine möglichkeit gibt die Legende auch im Nachhinein umzubenennen. ALso momentan steht in der Legende bei mir Linie1, Linie 2 usw.
und ich würde gerne 'Linie1' in '20 km/h' ändern
Wenn ich den Plot von Hand bearbeite kann ich ja auf die Bestandteile der Legende klicken und einen neuen Namen eingeben. von daher denke ich mal dass das auch über einen Kommando Befehl gehen müsste oder?
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 09.03.2012, 12:01     Titel:
  Antworten mit Zitat      
hmm mann muss zwar um viele ecken denken aber der begriff klingt im englischen doch ähnelich.
Code:
Private Nachricht senden Benutzer-Profile anzeigen
 
MJR10
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 12.12.11
Wohnort: ---
Version: R2010b
     Beitrag Verfasst am: 09.03.2012, 13:46     Titel:
  Antworten mit Zitat      
Hallo,
jetzt hab ich noch eine andere frage:
ich habe vor einen plot in 2 schritten zu generieren, da ich zwischendurch einen wert umstellen muss.
also plotte ich den ersten teil und im graph kommen 3 linien mit den farben rot, blau grün an,
stell meinen wert um
stell
Code:
ein
und plotte dann meinen zweiten graphen in dem jetzt wieder 3 linien mit rot blau grün zu sehen sind. jetzt würd ich aber gerne die letzten 3 linien in schwarz, lila, magenta oder irgendwas ändern.
wie ich eine linie ändern kann hab ich bereits rausgefunden.
mit
Code:
set(p,'Color','black','LineWidth',2)

wie aber färbe ich die anderen beiden linien um? und wie mache ich das wenn ich den plot nicht benannte habe wie hier im beispiel mit p?
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 09.03.2012, 13:52     Titel:
  Antworten mit Zitat      
handles halt unter untschiedlichem namen abspeichern.
Code:
x=1:10;
for k=1:3
p(k)=plot(k*x);
hold on
end
%%
set(p(1),'Color','green')
set(p(2),'Color','black')
 
Private Nachricht senden Benutzer-Profile anzeigen
 
MJR10
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 12.12.11
Wohnort: ---
Version: R2010b
     Beitrag Verfasst am: 09.03.2012, 13:59     Titel:
  Antworten mit Zitat      
das problem ist dass beide plots von einer funktion erstellt werden an der ich nichts ändern darf. und dass die funktion in jeden plot schon mal 3 linien reinschmeißt.
Private Nachricht senden Benutzer-Profile anzeigen
 
MJR10
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 12.12.11
Wohnort: ---
Version: R2010b
     Beitrag Verfasst am: 12.03.2012, 14:04     Titel:
  Antworten mit Zitat      
Hallo,
also ich habs jetzt mal so abgeändert dass ich die Funktion die ich nicht ändern dürfte umgeschrieben habe und die plots benenne.
Jetzt hab ich mal eine Frage, da ich selber noch nicht so viel Ahnung von Programmieren habe: Was hat es damit auf sich dass man die Plots nicht benennen sollte bzw die Funktion umschreibe. Mein Vorgesetzer meint, die Funktion welche die Plots erstellt, darf nicht umgeschrieben werden. aber was kann das großartig für auswirkungen haben wenn ich jetzt statt:
Code:

neuerdings den Plot einfach benenne:
Code:
plot1 = plot(x,y)

ich persönlich sehe da jetzt keinen Nachteil daran, außer dass ich jetzt auf die Plots schöner zugreifen kann. Oder bin ich da noch zu unerfahren?
wie gesagt ich ändere in der Funktion nur dass ich den plot benenne und eine weitere ausgabe mit der plotvariable hinzufüge.
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 12.03.2012, 14:13     Titel:
  Antworten mit Zitat      
die funktion plot ist eine matlab interne funktion. die sollte man auf keinen fall umschreiben. wenn du eine eigene funktion mit dem namen plot erstellst ist das auch nicht schön weil du dann in deinem aktiven ordner nicht mehr die original plot datei benutzen kann. deswegen sollte mann zb variablen namen wie max oder plot oder sowas vermeiden. vieleicht meint dein prof das damit.
mit
Code:
plot1 = plot(x,y)  

 

benennst du nix um. du erstellst blos einen vektor mit dem handle auf deine plot eigenschaften. sihe dazu in der doc unter plot
Private Nachricht senden Benutzer-Profile anzeigen
 
MJR10
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 12.12.11
Wohnort: ---
Version: R2010b
     Beitrag Verfasst am: 12.03.2012, 15:59     Titel:
  Antworten mit Zitat      
Hallo,
sorry ich hab mich ein wenig missverständlich ausgedrückt. Also die Hauptfunktion heißt "Auswertung" und in der Funktion wird die plot Funktion aufgerufen. einfach ganz normal plot(x,y)
ich hab in der Funktion Auswertung genau wie du vorgeschlafen hast anstelle
Code:
jetzt
Code:
geschrieben und in der Funktion Auswertung noch bei der Ausgabe hinten ein plot1 drangehängt so dass es jetzt so ausschaut.

Code:
function [ a1, a2, plot1] = Auswertung ( ein1, ein2)
An der Plot-Funktion selber hab ich nicht verstellt. nur eben an der Auswertung-Funktion. Aber selbst das darf man nicht, laut meinem Vorgesetzten.
Aber ich bring ja eigentlich im darüber angeordneten Programm auch nichts durcheinander, oder?
denn auf die Ausgabe plot1 wird einfahc nicht zugegriffen, auch wenn sie mit ausgegeben würde.
Oder muss jetzt an jeder stelle an der die Funktion Auswertung aufgerufen wird geschrieben werden
Code:
[la, le ,lu] = Auswertung(eins, zwei)?
den vorher stand ja nur
Code:
[la, le] = Auswertung(eins, zwei)
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 12.03.2012, 16:08     Titel:
  Antworten mit Zitat      
nein muss man nicht mit angeben. klappt auch so.
Private Nachricht senden Benutzer-Profile anzeigen
 
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 - 2025 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.