Beschriftete Balkendiagramme in Matlab
Wer viel mit Matlab rechnet und viele Daten generiert, möchte diese auch gerne auswerten – ich zum Beispiel mit Balkendiagrammen. Gut dabei ist, dass man mit Matlab auch über Scripte Diagramme und Figures erstellen kann. Schlecht ist – mal abgesehen davon, dass die vielen vielen Optionen nicht ganz trivial sind – dass nicht alle Funktionen ausgereift sind und einem nicht immer die Funktionalität bieten, die man zum Beispiel von anderen Programmen wie gnuplot, OpenOffice Spreadsheet gewohnt ist.
So musste ich leider feststellen, dass es zwar die Möglichkeit gibt, Balkendiagramme in Matlab zu erstellen, aber eine Annotierung der x- und y-Achsenwerte beschränkt sich auf Zahlen, und ist nicht – wie ich es gern hätte – auf Strings erweiterbar ist. Das ganze läßt sich mit einem kleinen dirty fix umgehen, in dem man einfach “leere” Boxplots zusätzlich verwendet, die eine solche Art von Beschriftung unterstützen. Hier ein Matlab-Beispiel für ein horizontales Balkendiagramm:
g_ = clf; figure(g_); % ABCdescription enthält Strings: Beschreibungen für Gruppen von Werten A B C (A B C müssen gleich groß sein) % zeros - 1 sorgt dafür, dass alle Werte -1 für die Boxplots. boxplot(zeros(size(A)) - 1, ABCdescription, 'orientation', 'horizontal'); % Balkendiagramm horizontal mit barh barh([A, B, C ,'group'); % Anpassen der x-Achse, z.B. nur Werte von 0 bis 1 -> die Boxplots bei -1 sind nicht mehr sichtbar. set(gca,'xlim',[0 1]); legend('A','B','C'); leginfo_ = {'Orientation', 'vertical', 'Location', 'NorthWest'}; legend(leginfo_{:}); % create legend % nach Bedarf abspeichern und schließen saveas(g_, 'myABC', 'png'); close(g_);
Ähnliche Beiträge:
Neuronale Netze und Matlab
Zeilenumbruch in Tooltips – Matlab GUI
Flexible & erweiterte Progressbar in Matlab mit Event-Listener
annotierung ist nicht auf zahlen beschränkt. Versuchs mal mit Xtick und XtickLabel