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

Darstellung von Terzen / Oktaven

 

Jette
Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 13.02.09
Wohnort: München
Version: R2010b, R2015b
     Beitrag Verfasst am: 25.06.2012, 11:32     Titel: Darstellung von Terzen / Oktaven
  Antworten mit Zitat      
Hallo,

ich arbeite im Moment im Akustik-Bereich, in dem grafische Darstellungen von Terzen bzw. Oktaven sehr üblich sind. Ich habe mal ein Bild angehängt, wie eine solche Grafik aussehen sollte. Wichtig ist die x-Achse, die logarithmisch dargestellt ist, wobei jede "Spalte" einer Terz entspricht und jeweils einen Wert hat. Die Beschriftung der Terz sollte dann in der Mitte erfolgen (XTick + XTickLabel).

Weiß jemand, ob und wie man einen solchen Plot geschickt in MATLAB erzeugen kann?

Viele Grüße
Jette

Terz-Plot.gif
 Beschreibung:

Download
 Dateiname:  Terz-Plot.gif
 Dateigröße:  12.46 KB
 Heruntergeladen:  1140 mal
Private Nachricht senden Benutzer-Profile anzeigen


Marco H.
Forum-Guru

Forum-Guru


Beiträge: 404
Anmeldedatum: 12.11.10
Wohnort: Dortmund
Version: 2010a/2012b
     Beitrag Verfasst am: 25.06.2012, 14:42     Titel:
  Antworten mit Zitat      
Hey,

benutze doch einfach den Barplot also bar(). Dann ordnest du jedem bar eine Terz bzw. Oktave zu. Wenn du auch noch oberhalb der einzelnen bars die Pegel anzeigel lasen wilst kannst du dies mittel text() machen. So hat das bei immer gut geklappt... Summenpegel (A-Bewertet, Linear) kannst du natürlich auch gleichzeitig anzeigen lassen.

Greetings
Private Nachricht senden Benutzer-Profile anzeigen
 
Jette
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 13.02.09
Wohnort: München
Version: R2010b, R2015b
     Beitrag Verfasst am: 27.06.2012, 13:48     Titel:
  Antworten mit Zitat      
Hallo Marco,

vielen Dank für den Tipp. Das hat mich schon mal etwas weiter gebracht.

Jetzt habe ich aber noch ein Problem:
Ich habe jetzt so etwas in der Art

Code:

L = [50 60 55 70 40];
bar(L,1,'FaceColor','none')
set(gca,'XTick',1:5,'XTickLabel',{'40','50','63','80','100'})
 


Wenn ich jetzt den DataCursor anschalte, zeigt der mir aber natürlich für den x-Wert immer 1-5 anstelle der Terzfrequenzen an. Kann ich die Ausgabe des DataCursors irgendwie manipulieren? Oder muss ich mir dafür eine Art eigenen Datacursor basteln?

Gruss
Jette
Private Nachricht senden Benutzer-Profile anzeigen
 
Marco H.
Forum-Guru

Forum-Guru


Beiträge: 404
Anmeldedatum: 12.11.10
Wohnort: Dortmund
Version: 2010a/2012b
     Beitrag Verfasst am: 28.06.2012, 02:14     Titel:
  Antworten mit Zitat      
Hey,

tja zum DataCursor kann ich dir nicht soviel sagen, da ich mit dem wenig arbeite, da es mir zu umständlich ist. Es gibt sicherlich Möglichkeiten dies zu Beeinflussen. Da es eine von Matlab mitgelieferte Funktionalität ist könnte ich mir aber vorstellen, dass es nicht ganz einfach ist. Du könntest z.B. hier nachschauen -> http://undocumentedmatlab.com/blog/controlling-plot-data-tips/

Auf der Seite wirst du sicherlich einige Informationen dazu finden. Da es aber sehr umständlich ist bei jeder Terz via Data Cursor zu schauen wie hoch der Pegel ist würde ich dir raten einfach text - Objekte so zu platzieren, dass sie direkt oberhalb der Bars sind. Das ist übersichtlicher. Du kannst natürlich auch eine Checkbox dem User anbieten mit der er diese Werte ein- und ausblenden kann. So kann man auch leicht 2, 3 oder mehr Spektren nebeneinanderlegen und vergleichen. Da ich nicht weiß wo deine Reise hingeht ist dies natürlich nur ein Vorschlag von mir. Anbei ein Screenshot eines älteren Programmes was ich mal geschrieben habe um Messdaten zügig auswerten zu können. Nichts ist schlimmer als 50 oder mehr Messungen mit Excel auszuwerten Wink...

Greetings

Barplot.jpg
 Beschreibung:
Beispiel Barplot

Download
 Dateiname:  Barplot.jpg
 Dateigröße:  458.8 KB
 Heruntergeladen:  1047 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Jette
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 13.02.09
Wohnort: München
Version: R2010b, R2015b
     Beitrag Verfasst am: 28.06.2012, 09:36     Titel:
  Antworten mit Zitat      
Hallo,

nochmal vielen Dank, auch für den Screenshot.

Bei mir ist es in der Tat so, dass ich voraussichtlich mehrere Spektren in einem Diagramm anzeigen lassen muss, vermutlich bis zu 8 auch einmal. Das Ganze dann in einer Größe von weniger als 1/4 einer A4-Seite. Ich bin nicht sicher, dass Deine Methode da noch gut zu erkennen ist. Bei uns reicht meist ein Diagramm ohne Werte - nur manchmal möchte man ausgewählte Punkte genauer ansehen. Daher die Idee mit dem Datencursor.

Eine Nachfrage zu Deinem Screenshot: Womit hast Du die Labels der x-Achse gedreht? Das geht mit Standard-MATLAB ja leider auch nicht so einfach.

Viele Grüße
Jette
Private Nachricht senden Benutzer-Profile anzeigen
 
Marco H.
Forum-Guru

Forum-Guru


Beiträge: 404
Anmeldedatum: 12.11.10
Wohnort: Dortmund
Version: 2010a/2012b
     Beitrag Verfasst am: 28.06.2012, 14:36     Titel:
  Antworten mit Zitat      
Hey,

ok bei 8 Datenreihen wird es dann schon unübersichtlich, aber auch dadurch dass einfach zuviele Informationen im Plot enthalten sind und nicht nur wegen den text - Objekten. Im Oktavbereich habe ich die Beschriftung auf 6 Kurven reduziert bei Terzen sogar auf 2 oder 3 weil es sonst keinen Sinn mehr macht. Hierbei frage ich mich sowieso ob es Sinn macht 8 Datenreihen auf 1/4 A4 Seite in eine Plot darzustellen da der Informationsgehalt dann flöten geht (besonders bei Terzen), es sei denn passende Tabellen sind auch noch vorhanden...

Die Rotation kann man entweder selbst machen indem man das X-Achsenbeschriftung ausblendet und text Objekte gedreht passend platziert oder man verwendet folgendes -> http://www.mathworks.com/matlabcentral/fileexchange/8722 Allerdings habe ich das noch nie benutzt und weiß dadurch nicht wie flexiebel das ist.

Greetings
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.