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

Z achse von meinem Histogramm ändern in Prozent

 

IT_geek_ozi
Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 25.10.19
Wohnort: ---
Version: 2018a
     Beitrag Verfasst am: 26.11.2019, 15:50     Titel: Z achse von meinem Histogramm ändern in Prozent
  Antworten mit Zitat      
Guten Tag,

ich möchte das in meinem Histogramm, bei der Z-achse nicht die Häufigkeit anzeigen lassen also zb 15477 sondern Prozent Zahlen 0% bis 100%.

Ist das möglich?

Das ist mein Code:

Code:
% distribution of the filtered lateral and longitudinal acceleration
    freq = histogram2(LatAcc, LongAcc,10);
    title('Distribution of acceleration ');
    xlabel('lateral acceleration [m/s²]');
    ylabel('longitudinal acceleration [m/s²]');
    zlabel ('distribution');


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


Harald
Forum-Meister

Forum-Meister


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

du kannst 'normalization' auf 'probability' setzen, siehe das Beispiel "Normalized Histogram" in der Doku von histogram2.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
IT_geek_ozii

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.12.2019, 11:48     Titel:
  Antworten mit Zitat      
Hi harald, das hat nicht funktioniert.
Ich möchte an der y achse ja nur die Prozentzahl haben.

dann habe ich das versucht

Code:
h1 = histogram2(straightLatAcc, straightLongAcc,30);

yt = get(gca, 'YTick');                    
set(gca, 'YTick',yt, 'YTickLabel',yt.*(100 ./size(straightLatAcc)));


Jedoch dann kommt der fehler mit den Dimensionen:

Matrix dimensions must agree.

Error in Analysis_Main (line 114)
set(gca, 'YTick',yt, 'YTickLabel',yt.*(100 ./size(straightLatAcc)));
 
Harald
Forum-Meister

Forum-Meister


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

Zitat:
Ich möchte an der y achse ja nur die Prozentzahl haben.

Was stört dich dann an probability? Die Skalierung auf 0 bis 1?

Zitat:
Jedoch dann kommt der fehler mit den Dimensionen:

Woran könnte das denn liegen? size gibt ja einen Vektor der Länge >= 2 zurück, hast du vielleicht length gemeint? Zudem brauchst du für die Labels Zeichenketten statt numerischer Werte, du musst das also noch umwandeln.

Einfacher kann es sein, histcounts2 zu verwenden, die Ergebnisse anzupassen, und dann zu plotten.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
IT_geek_ozii

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.12.2019, 10:20     Titel:
  Antworten mit Zitat      
Hallo Harald,

also 'probability' ändert auf jeden fall die Skalierung der Z achse. Das ist schon mal gut. Nur liegen diese werte im 0.001 - 0.0006 Bereich. Das ist schon sehr sehr wenig. Ich kann mir nicht erklären wieso.

Wenn ich die Anzahl die Balken ändere zb auf 5 oder so dann kommt 0.1 - 0.6 als z Skalierung. Aber die Balken sind mir dann natürlich zu 'ungenau'.

Ich dachte ich seh eine Skalierung von 0 - 100 oder von 0-1 aber ne da kommen komische Zahlen.

Was meinst du mit Ergebnisse anpassen von histcount2?

Liebste Grüße
Özi
 
Harald
Forum-Meister

Forum-Meister


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

Zitat:
Nur liegen diese werte im 0.001 - 0.0006 Bereich.

Wenn du z.B. in jeder Dimension 100 Säulen hast, dann sind das insgesamt 10000 Säulen. Die durchschnittliche Wahrscheinlichkeit für jede Säule ist also 1/10000, und in manchen Säulen sind halt mehr Werte und in anderen weniger.

Zitat:
Ich dachte ich seh eine Skalierung von 0 - 100 oder von 0-1 aber ne da kommen komische Zahlen.

Bei probability ist die Skalierung von 0-1 bzw. sie wäre von 0-1, wenn alle Ereignisse in der selben Säule wären. Die Zahlen sind m.E. alles andere als komisch, sondern sehr erwartbar.

Zitat:
Was meinst du mit Ergebnisse anpassen von histcount2?

Sowas:
Code:
r = randn(10000,2);
counts = histcounts2(r(:,1), r(:,2), 'Normalization', 'probability');
counts = counts * 100; % oder andere Anpassung
bar3(counts)


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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 - 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.