Verfasst am: 25.06.2012, 11:32
Titel: Darstellung von Terzen / Oktaven
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?
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.
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?
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 ...
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.
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
Einstellungen und Berechtigungen
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
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.