ich war hier: Plots

Einfache verschiedene Grundplots


Liniendiagramm


Einfacher Sinus

x = 0:pi/100:2*pi;
	y = sin(x);
	plot(x,y)


Multiple Linien

x = linspace(-2*pi,2*pi);
	y1 = sin(x);
	y2 = cos(x);
	plot(x,y1,x,y2)


Linienvariation

x = 0:pi/100:2*pi;
	y1 = sin(x);
	y2 = sin(x-0.25);
	y3 = sin(x-0.5);
	plot(x,y1,x,y2,'--',x,y3,':')




Säulendiagramm


Einfaches Säulendiagramm

y = [10 15 20 30 22];
	bar(y)


Beschrifteter X-Achse

x = 1900:10:2000;
	y = [10 15 20 30 22];
	bar(x,y)


Säulendicke

y = [10 15 20 30 22];
	bar(y,0.5)


Säulengruppierung

y = [1 2 3; 4 5 6; 7 8 9; 10 11 12];
	bar(y)


Gestapelt

y = [1 5 9; 2 6 10; 3 7 11; 4 8 12];
	bar(y,'stacked')




Balkendiagramm


Einfaches Balkendiagramm

y = [10 15 20 30 22];
	barh(y)


Beschrifteter X-Achse

x = 1900:10:2000;
	y = [10 15 20 30 22];
	barh(x,y)


Balkendicke

y = [10 15 20 30 22];
	barh(y,0.5)


Balkengruppierung

y = [1 2 3; 4 5 6; 7 8 9; 10 11 12];
	barh(y)


Gestapelt

y = [1 5 9; 2 6 10; 3 7 11; 4 8 12];
	barh(y,'stacked')




Histogramm


Einfache aus Zufallszahlen

x = randn(500,1);
	histogram(x)


Balkenanzahl

x = randn(500,1);
	nbins = 25;
	histogram(x,nbins)




Histogramm - 3D


Einfache aus Zufallszahlen

x = randn(500,1);
	y = randn(500,1);
	histogram2(x,y)


Balkenanzahl (in jeder Dimension)

x = randn (1000,1);
	y = randn (1000,1);
	nbins = 5;
	histogramm2 (x, y, nbins)




Kuchendiagramm


Einfaches

X = [1 2 3 4 5];
	pie(X)


Explodiertes

X = [1 2 3 4 5];
	explode = [0 1 0 1 0]; // bei 1 ist das Kuchenstück herausgenommen
	pie(X,explode)


Küchenstücke Beschriftet

X = [1 2 3 4 5];
	labels = {'PIE 1', 'PIE 2', 'PIE 3', 'PIE 4', 'PIE 5'};
	pie(X,labels)




Kuchendiagramm - 3D


Einfaches

X = [1 2 3 4 5];
	pie3(X)


Explodiertes

X = [1 2 3 4 5];
	explode = [0 1 0 1 0]; // bei 1 ist das Kuchenstück herausgenommen
	pie3(X,explode)


Küchenstücke Beschriftet

X = [1 2 3 4 5];
	labels = {'PIE 1', 'PIE 2', 'PIE 3', 'PIE 4', 'PIE 5'};
	pie3(X,labels)




Streudiagramm


Einfache Sinus mit Zufallszahlen

x = linspace(0,3*pi,200);
	y = sin(x) + rand(1,200);  
	scatter(x,y)


Unterschiedliche Kreisgröße (wird auf X-Achse größer)

x = linspace(0,3*pi,200);
	y = sin(x) + rand(1,200);
	sz = linspace(1,100,200);
	scatter(x,y,sz)


Unterschiedliche Kreisfarben

x = linspace(0,3*pi,200);
	y = sin(x) + rand(1,200);
	c = linspace(1,10,length(x));
	scatter(x,y,[],c)




Streudiagramm - 3D


Einfache Sinus mit Zufallszahlen

[X,Y,Z] = sphere(16);
	x = [0.5*X(:); 0.75*X(:); X(:)];
	y = [0.5*Y(:); 0.75*Y(:); Y(:)];
	z = [0.5*Z(:); 0.75*Z(:); Z(:)];

	scatter3(x,y,z)


Unterschiedliche Kreisgröße

[X,Y,Z] = sphere(16);
	x = [0.5*X(:); 0.75*X(:); X(:)];
	y = [0.5*Y(:); 0.75*Y(:); Y(:)];
	z = [0.5*Z(:); 0.75*Z(:); Z(:)];

	S = repmat([100,50,5],numel(X),1);
	s = S(:);

	scatter3(x,y,z,s)
	view(40,35)


Unterschiedliche Kreisfarben

[X,Y,Z] = sphere(16);
	x = [0.5*X(:); 0.75*X(:); X(:)];
	y = [0.5*Y(:); 0.75*Y(:); Y(:)];
	z = [0.5*Z(:); 0.75*Z(:); Z(:)];

	S = repmat([50,25,10],numel(X),1);
	C = repmat([1,2,3],numel(X),1);
	s = S(:);
	c = C(:);

	scatter3(x,y,z,s,c)
	view(40,35)




Oberflächendiagramm


Einfach

[X,Y] = meshgrid(1:0.5:10,1:20);
	Z = sin(X) + cos(Y);
	surf(X,Y,Z)


Mit Farbbar

[X,Y] = meshgrid(1:0.5:10,1:20);
	Z = sin(X) + cos(Y);
	C = X.*Y;
	surf(X,Y,Z,C)
	colorbar



Netzdiagramm


Einfach

[X,Y] = meshgrid(-8:.5:8);
	R = sqrt(X.^2 + Y.^2) + eps;
	Z = sin(R)./R;
	mesh(X,Y,Z)


Spezifischer Farbe

[X,Y] = meshgrid(-8:.5:8);
	R = sqrt(X.^2 + Y.^2) + eps;
	Z = sin(	R)./R;
	C = gradient(Z);
	mesh(X,Y,Z,C)




Erweiterte/Spezifische Plots


Die Daten für dieses Beispiel sind Bewegungsdaten von einem Balance Board.
Dabei wurde die X-Achse und Y-Achse aufgezeichnet.
Die 2 Signale sollen in 6 Segmente geteilt werden und der 2te Abschnitt soll Hervorgehoben werden.
Danach soll noch eine Zusammenfassung beider Signale in einem Plot erstellt werden.

Bewegungsgrafik
close all, clear all, clc
	% komplett Bereinigung (Variablen, Plotfenster usw.)
	
load('x.mat')
load('y.mat')
	% Läd die Daten für X- und Y-Achse

figure
	% erstellt ein neues Fenster mit Standardeigenschaftswerten

fre = 1500;
seg_sec = 20;
	% Die Daten haben eine Gesamtzahl von 180000 Datensätzen und es sollen 6 Segmente entstehen,
	% deshalb ist die Frequenz bei 1500 Hz und jeder Segment abschnitt sind 20 Sekunden.

i = 1;

subplot(2,2,1)
hold on
	% warten auf alle Daten die in der einen Grafik dargestellt werden sollen

	%Grafik Nummer 1
test = plot(x,'b')
test.Color(4) = 0.3;
plot((i)*seg_sec*fre+1:(i+1)*seg_sec*fre,x((i)*seg_sec*fre+1:(i+1)*seg_sec*fre),'r','LineWidth',2)


	% Formatierung des Plots:
xticks ([0 30000 60000 90000 120000 150000 180000])
xticklabels ({'0','20','40','60','80','100','120'})
xlabel ('Messdauer[s]')
	% Formatierung der X-Achse in die Größen anzeige von 20 Sekunden

yticks ([-4 -3 -2 -1 0 1 2])
yticklabels ({'-40','-30','-20','-10','0','10','20'})
ylabel ('ML [mm]')
	% Formatierung der Y-Achse

line([30000,30000],[-4,2],'Color',[0 0 0])
line([60000,60000],[-4,2],'Color',[0 0 0])
line([90000,90000],[-4,2],'Color',[0 0 0])
line([120000,120000],[-4,2],'Color',[0 0 0])
line([150000,150000],[-4,2],'Color',[0 0 0])
	% Einzeichnung von Linien zum visuellen Abtrennung der Segmente

	% Andere Variante zur Erstellung von Grafik 2
subplot(2,2,3),plot((i-1)*seg_sec*fre+1:i*seg_sec*fre,y((i-1)*seg_sec*fre+1:i*seg_sec*fre),'b')
hold on
subplot(2,2,3),plot((i)*seg_sec*fre+1:(i+1)*seg_sec*fre,y((i)*seg_sec*fre+1:(i+1)*seg_sec*fre),'r')
subplot(2,2,3),plot((i+1)*seg_sec*fre+1:(i+2)*seg_sec*fre,y((i+1)*seg_sec*fre+1:(i+2)*seg_sec*fre),'b')
subplot(2,2,3),plot((i+2)*seg_sec*fre+1:(i+3)*seg_sec*fre,y((i+2)*seg_sec*fre+1:(i+3)*seg_sec*fre),'b')
subplot(2,2,3),plot((i+3)*seg_sec*fre+1:(i+4)*seg_sec*fre,y((i+3)*seg_sec*fre+1:(i+4)*seg_sec*fre),'b')
subplot(2,2,3),plot((i+4)*seg_sec*fre+1:(i+5)*seg_sec*fre,y((i+4)*seg_sec*fre+1:(i+5)*seg_sec*fre),'b')
	% Das b (blue) und r (red) sind die Farben welche jedes Segment bekommt
	% Beim subplot werden die Positionen für die Grafik mit angefügt an welcher Stelle die Funktion zu sehen ist

xticks ([0 30000 60000 90000 120000 150000 180000])
xticklabels ({'0','20','40','60','80','100','120'})
xlabel ('Messdauer[s]')

yticks ([0 1 2 3 4 5 6])
yticklabels ({'0','10','20','30','40','50','60'})
ylabel ('AP [mm]')

line([30000,30000],[0,6],'Color',[0 0 0])
line([60000,60000],[0,6],'Color',[0 0 0])
line([90000,90000],[0,6],'Color',[0 0 0])
line([120000,120000],[0,6],'Color',[0 0 0])
line([150000,150000],[0,6],'Color',[0 0 0])

	% Grafik Nummer 3
subplot(2,2,[2,4]),plot(x((i)*seg_sec*fre+1:(i+1)*seg_sec*fre),y(i*seg_sec*fre+1:(i+1)*seg_sec*fre),'b:')
hold on
subplot(2,2,[2,4]),plot(x((i+1)*seg_sec*fre+1:(i+2)*seg_sec*fre),y((i+1)*seg_sec*fre+1:(i+2)*seg_sec*fre),'r:','LineWidth',2 )
subplot(2,2,[2,4]),plot(x((i+2)*seg_sec*fre+1:(i+3)*seg_sec*fre),y((i+2)*seg_sec*fre+1:(i+3)*seg_sec*fre),'b:')
subplot(2,2,[2,4]),plot(x((i+3)*seg_sec*fre+1:(i+4)*seg_sec*fre),y((i+3)*seg_sec*fre+1:(i+4)*seg_sec*fre),'b:')
subplot(2,2,[2,4]),plot(x((i+4)*seg_sec*fre+1:(i+5)*seg_sec*fre),y((i+4)*seg_sec*fre+1:(i+5)*seg_sec*fre),'b:')
	% Hinter b und r der ":" zeigt welche Form die Linie im Plot hat, Standardmäßig ist es eine durchgezogene Linie
	% LineWidth,2 legt die Liniendicke des Roten Teilabschnittes fest

xticks ([-4 -3 -2 -1 0 1])
xticklabels ({'-40','-30','-20','-10','0','10'})
xlabel ('medio-lateral [mm]')
yticks ([0 1 2 3 4 5 6])
yticklabels ({'0','10','20','30','40','50','60'})
ylabel ('antorior-posterior [mm]')
Diese Seite wurde noch nicht kommentiert.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki