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

hist3 mit Prozent in Z-Achse

 

Wall-E
Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 21.06.11
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 28.09.2011, 11:19     Titel: hist3 mit Prozent in Z-Achse
  Antworten mit Zitat      
Hallo Leute!
Habe auch nach langem Suchen nichts Treffendes gefunden.

Ich habe einen Vektor der Leistungen für die Y-achse Pmax
Genauso einen Datumsvektor für die X-Achse DateP
Nun plotte ich :
Code:

hist3([DateP,Pmax],[30 30])
 

So das klappt auch alles wunderbar!
In der Z-Achse sind leider jeweils nur die Anzahl der auftretenden Werte in meinem Vektor.Die Anzahl wie oft der Wert auftritt interessiert mich aber nicht sondern mich interessiert nur der prozentuale Anteil.Vor allem weil ja die Länge der Vektoren sich auch ändert und ich dann immer wieder ganz andere Zahlen in der Z-Achse stehen habe.
Meine Frage also:
Wie bekomme ich im hist3 plot die Z-achse auf Prozent des jeweiligen Balken skaliert?
In 2-D habe ich schonmal eine Lösung gefunden,nur bringt mir die nichts weil ich es nicht auf den hist3 plot übertragen kann.
Hier eine Beispiellösung in 2D:
Code:

[counts,Werte] = hist(Werte,100);
bar(Werte,counts.*100./sum(counts));
 

sowas in dieser Art vielleicht...?!

Also schonmal Danke im Voraus
Grüße
Wall-E
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.09.2011, 12:29     Titel: Re: hist3 mit Prozent in Z-Achse
  Antworten mit Zitat      
Hallo Wall-E,

Ich habe die Statistics-Toolbox nicht, deshalb kann ich es nicht probieren.
Hast Du mal in den Source-Code von HIST3 reingeschaut? Dort müßte maneigentlich recht einfach die Höhe aller Daten nochmal durch die Summe teilen können und mit 100 multiplizieren. Das macht man natürlich in einer Kopie von HIST3, etwa "hist3_procent.m".

Eine andere Idee wäre es, die ZData der Children des aktuellen AXES-Objekts zu ändern. Also:
Code:
Child = get(gca, 'Children');
Z = get(Child, 'ZData');
Z = Z / sum(Z(:)) * 100;  % Oder ähnlich!
set(Child, 'ZData', Z);

Ich weiß aber nicht, ob das so funktioniert, da ich es wie gesagt nicht probieren kann. get('ZData') könnten ja auch einen CELL zurückgeben.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Wall-E
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 21.06.11
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 28.09.2011, 12:57     Titel:
  Antworten mit Zitat      
Hallo Jan!

Dein Code funktioniert! Very Happy
Echt genau das was ich gebraucht habe! Cool
Sehr nett
vielen vielen Dank!
gruß Wall-E
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.