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

Häufigkeitsverteilung --> Farbgebung der Häufigkeiten

 

bumbumquietsch*
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 55
Anmeldedatum: 17.10.11
Wohnort: München
Version: R2011b
     Beitrag Verfasst am: 27.10.2011, 14:19     Titel: Häufigkeitsverteilung --> Farbgebung der Häufigkeiten
  Antworten mit Zitat      
Servus Leute,

ich habe mir mit Hilfe des

Code:
-Plots ( Die matrix ist eine 6x12 Matrix) folgende angehängte Häufigkeitsverteilung erstellt!

Das problem ist nur, dass sich die Farbe je nach neuer Spalte auf der X-Achse ändert. In der Z-Achse hab ich meine Häufigkeiten aufgetragen. Ich hätte es nun gerne so, dass sich die Farbgebung meiner Bars in Z-Richtung ändert. Quasi mit 0.4 oder 0.3-Schritten.

Hab schonmal ein bisschen rumgeschaut, aber nichts passendes gefunden. Mein Versuch war
Code:
colorbar('ZTickLabel',{'0-0.5%','0.5-1.0%','1.0-1.5%'})
, ändert aber nur den Wert an der X-Achse ?!?
Kann mir wer helfen ?

Unbenannt.jpeg
 Beschreibung:

Download
 Dateiname:  Unbenannt.jpeg
 Dateigröße:  3.11 MB
 Heruntergeladen:  573 mal
Private Nachricht senden Benutzer-Profile anzeigen


bumbumquietsch*
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 55
Anmeldedatum: 17.10.11
Wohnort: München
Version: R2011b
     Beitrag Verfasst am: 27.10.2011, 14:59     Titel:
  Antworten mit Zitat      
http://www.mathworks.de/help/techdo...../f10-19972.html#f10-22737

Ich hab das hier gefunden. Ihr könnt mal spaßeshalber diesen Code hier eingeben, mal sehn was dabei rauskommt! Also bei mir kommt da was anderes raus.... Kann das sein, dass In der Matlab Hilfe falsche angaben stehen ?


Code:
Z = magic(5);
h = bar3(Z);
colormap cool
colorbar

for i = 1:length(h)
    zdata = get(h(i),'ZData');
    set(h(i),'CData',zdata)
    % Add back edge color removed by interpolating shading
    set(h,'EdgeColor','k')
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
bumbumquietsch*
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 55
Anmeldedatum: 17.10.11
Wohnort: München
Version: R2011b
     Beitrag Verfasst am: 27.10.2011, 15:13     Titel:
  Antworten mit Zitat      
Wer suchet der findet, wer drauf tritt, verschwindet !! Hab jetzt nen Code gefunden der das ganze löst. Wer Lust drauf hat es auszuprobieren oder wem es weiter hilft, hier ist er:

Code:
  m=rand(4,6);
     bh=bar3(m);
for i=1:length(bh)
     set(bh(i),'cdata',...
     get(bh(i),'zdata'));
end
     shading interp; % mandatory...
     set(bh,...
        'edgecolor',[0,0,0],...
        'edgealpha',.25);
     cn=numel(unique(m(:)));
     colormap(jet(cn));
     caxis([min(m(:)),max(m(:))]);
     colorbar;


Das ganze hat auch einer sehr schöne Farbgebung!

Vielleicht sollte einer an die Matlab-Hilfe ne Mail schreiben und sagen, dass ihr Code falsch ist!

MFG
Bumbumquietsch
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: 27.10.2011, 15:31     Titel:
  Antworten mit Zitat      
Hallo bumbumquietsch*,

Ist bei Dir die Farbgebung anders? Das liegt daran, dass im Original-Code aus den Hilfe-Seiten noch ein "shading interp" steht. Damit sieht es dann genauso aus wie abgebildet.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Lemming
Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 14.10.10
Wohnort: Chemnitz
Version: 2009b
     Beitrag Verfasst am: 13.12.2012, 17:19     Titel:
  Antworten mit Zitat      
Hallo zusammen,

ich habe ein ähnliches Problem.

Ich lasse mir mit bar3(...) eine Häufigkeitsverteilung zeichnen.

Im nächsten Schritt möchte ich jeden Balken nicht nach Höhe, sondern nach einem anderen weiteren Parameter eine Farbe geben.

Code:

  m=rand(4,6);
  n =rand(4,6); %Zur Farbgebung
   
  bh=bar3(m);
for i=1:length(bh)
     set(bh(i),'cdata',...
     get(bh(i),'zdata'));
end
     shading interp; % mandatory...
     set(bh,...
        'edgecolor',[0,0,0],...
        'edgealpha',.25);
     cn=numel(unique(n(:)));
     colormap(jet(cn));
     caxis([min(n(:)),max(n(:))]);
     colorbar;


 


Ich habe in dem Code die Variablen m durch n ersetzt. Aber irgendwie zeigt es mir noch immer die falschen Farben an...

Hat jemand eine Idee?
Vielen Dank für die Hilfe


edit: um das etwas näher zu beschreiben: ich möchte eine 4. Dimension einfügen Smile

x - Achse - Art der Übung
y - Achse - Versuchsnummer
z - Häufigkeit
Farbe - Erfolg

Farben.fig
 Beschreibung:
Diese Farben (Erfolg) sollen angenommen werden

Download
 Dateiname:  Farben.fig
 Dateigröße:  14.38 KB
 Heruntergeladen:  297 mal
Häufigkeiten.fig
 Beschreibung:
Diese Häufigkeiten sollen die Farben der "Farben" angenommen werden

Download
 Dateiname:  Häufigkeiten.fig
 Dateigröße:  14.78 KB
 Heruntergeladen:  319 mal
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.