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

title plotten

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.03.2013, 00:07     Titel: title plotten
  Antworten mit Zitat      
ich rufe in meinem hauptprogramm
figure(1)
und habe noch vier unterscripte, indem ich jeweils folgende zeilen stehen habe

Code:

title('test1'); subplot(2,2,1); bar(A)
title('test2'); subplot(2,2,2); bar(B)
title('test3'); subplot(2,2,3); bar(C)
title('test4'); subplot(2,2,4); bar(D)


leider werden nur drei angezeigt.

ich rufe die Funktionen nach der fiolgender Reihe auf:

test1
test2
test3
test4


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.03.2013, 00:11     Titel:
  Antworten mit Zitat      
Hallo,

ich sehe keinen Grund dafür. Du müsstest wohl ein Beispiel liefern, anhanddessen wir das reproduzieren können.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.03.2013, 08:04     Titel:
  Antworten mit Zitat      
Code:

title('test1'); subplot(2,2,1);
title('test2'); subplot(2,2,2);
title('test3'); subplot(2,2,3);
title('test4'); subplot(2,2,4);
 


Einfach die bar Befehle weglassen, dann sieht man das Problem. Der title Befehl muss nach dem subplot Befehl stehen:

Code:

subplot(2,2,1); title('test1');
subplot(2,2,2); title('test2');
subplot(2,2,3); title('test3');
subplot(2,2,4); title('test4');
 


viele Grüße
Thomas
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.03.2013, 10:44     Titel:
  Antworten mit Zitat      
Ah, das meinte er. Ich dachte, einer der Subplots würde fehlen. Und das wäre doch merkwürdig gewesen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.03.2013, 14:59     Titel:
  Antworten mit Zitat      
Das habe ich jetzt umgesetzt,

nun sind die titles gar nicht mehr zu sehen, komisch

Code:
subplot(2,2,1); title('test1'); bar(A)
subplot(2,2,2); title('test2'); bar(B)
subplot(2,2,3); title('test3'); bar(C)
subplot(2,2,4); title('test4');bar(D)
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.03.2013, 15:36     Titel:
  Antworten mit Zitat      
Hallo,

bar überschreibt das Koordinatensystem, und damit ist der zuvor erstellte Titel weg. Also: erst bar, dann title.
Code:
subplot(2,2,1); bar(A); title('test1')


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.03.2013, 16:14     Titel:
  Antworten mit Zitat      
Code:

subplot(2,2,1); bar(1:10); title('test1');
 


jetzt haben wir ja fast alle Permutationen durch. warum ein plot den Titel löscht ist mir auch nicht ganz klar. Ist ja schon fast ein bug.

viele Grüße und schöne Ostern
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: 28.03.2013, 21:42     Titel:
  Antworten mit Zitat      
Hallo Thomas,

High-Level-Funktionen wie PLOT und IMSHOW löschen alle Properties des AXES-Objektes, wenn nicht 'NextPlot' auf 'add' steht, was z.B. durch "hold on" geschieht.
Dies ist dokumentiert und damit kein Bug. Aber es erzeugt immer wieder Probleme. Das z.B. auch der 'Tag' gelöscht wird, ist sehr unpraktisch.

Lösung: 'NextPlot' auf 'add' setzen und sich nicht mehr darauf verlassen, dass ein PLOT alle vorherigen Elemente im AXES löscht. Oder Low-Level-Funktionen verwenden, z.B. LINE und IMAGE.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.03.2013, 23:43     Titel:
  Antworten mit Zitat      
eine Frage bleibt noch offen.

wenn ich die funktion bar verwende, dann wird mir die grafik in blau angezeigt, dabei möchte ich bestimmte werte, bspw bis zur einer schwelle in rot angezeigt bekommen? siehe anhang. wie realisier ich es

Unbenannt.png
 Beschreibung:

Download
 Dateiname:  Unbenannt.png
 Dateigröße:  10.07 KB
 Heruntergeladen:  437 mal
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 29.03.2013, 00:12     Titel:
  Antworten mit Zitat      
Hallo,

Wenn Du die Ausgabe von BAR abfragst, bekommst Du die Handles der erzeugten Objekte. Die kannst Du dann nutzen, um die Farben zu ändern. Siehe:
Code:

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Nras
Forum-Meister

Forum-Meister


Beiträge: 608
Anmeldedatum: 21.02.12
Wohnort: ---
Version: 7.12.0.635 (R2011a)
     Beitrag Verfasst am: 29.03.2013, 10:29     Titel:
  Antworten mit Zitat      
Hallo Jan,

bist Du dir sicher, dass man damit einzelne Säulen einfärben kann - und nicht immer direkt alle Säulen gleich einfärbt? Ich hatte letztens ein sehr ähnliches Problem und bin letztendlich zu dem Schluss gekommen, dass ich meine Daten aufteilen und dann zwei barplots in eine figure zeichnen muss - einen in jeder Farbe. Zum Beispiel so.

Code:

[werte,bins] = hist(u_richtung,360);
idx_valid_bins = find(bins>=lower_b & bins <=upper_b); % in [lower_b, upper_b]
idx_restliche_bins = [find(bins<lower_b),find(bins>upper_b)]; % nicht in [lower_b, upper_b]
bar(bins(idx_restliche_bins),werte(idx_restliche_bins),'facecolor','black')
hold on
bar(bins(idx_valid_bins),werte(idx_valid_bins),'facecolor','red','edgecolor','red')
 


Wäre auch an der alternativen Lösung über die Handles interessiert.

Viele Grüße,
Nras
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.03.2013, 23:46     Titel:
  Antworten mit Zitat      
kannst du noch sagen, wie du die variabelen gefüttert hast, möchte das beispiel bei mir lokal ausführen. will es verstehen.
 
Nras
Forum-Meister

Forum-Meister


Beiträge: 608
Anmeldedatum: 21.02.12
Wohnort: ---
Version: 7.12.0.635 (R2011a)
     Beitrag Verfasst am: 29.03.2013, 23:57     Titel:
  Antworten mit Zitat      
Hallo,

falls Du mein Beispiel meinst, dann geht z.B.:
Code:

u_richtung = rand(1,10000)*360;
lower_b = 240;
upper_b = 290;
 


Färbt alle Säulen der Werte von 240 bis 290 rot und alle anderen schwarz.

Viele Grüße,
Nras.
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.03.2013, 00:55     Titel:
  Antworten mit Zitat      
dumme Frage, aber was steckt in
Code:
[werte,bins] = hist(u_richtung,360);
für werte
 
Nras
Forum-Meister

Forum-Meister


Beiträge: 608
Anmeldedatum: 21.02.12
Wohnort: ---
Version: 7.12.0.635 (R2011a)
     Beitrag Verfasst am: 30.03.2013, 01:35     Titel:
  Antworten mit Zitat      
Hallo,

Code:
könnte hier helfen. "werte" ist hier vielleicht nicht so gut gewählt, es sind die Häufigkeiten. Mit hist() fasst man Daten zu Klassen (bins) zusammen. Wie häufig so eine Klasse vorkommt, steht dann im ersten Argument (hier: werte).

Viele Grüße,
Nras
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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.