Verfasst am: 24.01.2008, 00:45
Titel: Bar Plot nutzen?
Hi!
Ich habe mehrere arrays mit doubles. Diese schauen so aus:
a = [ 0.5 1; 1.2 2.51; 5 7; 100.32 500.132 ]
Diese möchte ich jetzt linear plotten aber mit Linien/Balken zwischen den Werten.
Im Moment bin ich so weit, dass ich die Punkte zeichnen kann:
plot(a(1:end),1)
Wie kann ich nun eine Linie zwischen der 1. und 2. Spalte des arrays machen?
Also ich möchte gern eine Verbindung zwischen 0.5 und 1, dann leer und dann wieder 1.2 bis 2.51.
Ein Balken wäre auch toll, so als extra Option falls das geht.
---------------------------------------------------------------
Leider habe ich daheim zwar Internet aber kein Matlab - daher sind alle Syntaxbeispiele circa Angaben.....
So hab ich es jetzt mal geplottet, der Übersichtlichkeit halber mit logarithmisch skalierter x-Achse.
Um Linien zu bekommen muss man darauf achten, dass die Variable mit den y-Werten so viele Elemente hat wie die mit den x-Werten. In diesem Fall also eine 1x2-Matrix.
Anmerkung: Mit ones(n,m) erzeugt man eine nxm-Matrix mit lauter Einsen als Zelleninhalt.
Danke für das Angebot, welches ich gleich annehme!
Ich habe jetzt mal versucht das irgendwie mit einer for Schleife zu machen. Aber leider keinen Erfolg. Du hast ja das ones() gleich bei plot mit eingegeben.
Nur muss ich das ja jetzt in das array mit einfügen?? Bin da ein bisschen ratlos...
Also ich habe eine cell mit 10 oder mehr arrays. Die arrays bestehen wie oben aus 2 Spalten, wobei die erste Spalte Anfang und zweite Spalte Ende der Linie darstellt.
Hier ein Beispiel:
So durchläuft er alle Array-Einträge im Cell-Array (size(cell,1} gibt die Anzahl an Wertearrays, size(cell{i,1},1) gibt die Anzahl Wertepaare pro Wertearray) und plottet die Wertepaare der Reihe nach mit Einsen als y-Werten.
Ach so machst du das...
In der Hilfe zu uigetfile(...,'multiselect','on') steht aber, dass filenames breits ein cell-array mit strings ist. Du brauchst es also nicht mehr umschreiben in titel, sondern kannst es gleich für die Legende verwenden.
_________________
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.