Warning: Undefined array key "DW68700bfd16c2027de7de74a5a8202a6f" in /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/lib/plugins/translation/action.php on line 237

Warning: Trying to access array offset on value of type null in /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/lib/plugins/translation/action.php on line 237

Warning: Cannot modify header information - headers already sent by (output started at /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/lib/plugins/translation/action.php:237) in /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/inc/Action/Export.php on line 104

Warning: Cannot modify header information - headers already sent by (output started at /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/lib/plugins/translation/action.php:237) in /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/inc/Action/Export.php on line 104

Warning: Cannot modify header information - headers already sent by (output started at /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/lib/plugins/translation/action.php:237) in /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/inc/Action/Export.php on line 104
====== MAT04 Grafische Darstellung====== ^ Autor | Martin Grimmer | ^ Letzte Bearbeitung | 21. Jan 2014 | ^ Matlab Datei | {{:matlab:testdatenv2.zip|TestdatenV2}} | ==== Grundlegende Ausgabe von Kurvenverläufen ==== Grundlegend kann die grafische Darstellung über den Befehl 'plot' erfolgen.
plot(Mean_Fz_100);
==== Farben ==== Über die Ergänzung des Eintrages 'Color' kann ein RGB Code angegeben werden, der die Farbe des Graphen festlegt.
plot(Mean_Fz_100,'Color',[0.5 0.5 0.5]);
==== Mehrere Graphen in einem Plot ==== Beim Plot einer zweiten Grafik würde der erste Plot überschrieben werden. Um dies zu vermeiden muss der erste über den Befehl 'hold on' beibehalten werden.
plot(Mean_Fz_100,'Color',[0 0 0]);hold on;
plot(Std_Fz_100,'Color',[0.5 0.5 0.5]);
==== Gitternetzlinien ==== Ein Gitternetz kann über den Befehl 'grid on' eingeblendet werden.
plot(Mean_Fz_100,'Color',[0 0 0]);
grid on;
==== Achsenbeschriftung ==== Die Achsenbeschriftung erfolgt getrennt für die X- und Y Achse. In eckigen Klammern sollte die Einheit ergänzt werden.
plot(Mean_Fz_100,'Color',[0 0 0]);
xlabel('gait cycle [%]');
ylabel('force [N]');
==== Titel ==== Ein Titel für die Grafik wird über den Befehl 'title' vergeben.
plot(Mean_Fz_100,'Color',[0 0 0]);
title('Vertical ground reaction forces in running');
==== Linienstärke ==== Die Linienstärke der Kurven kann über das Kürzel 'LineWidth' geändert werden.
plot(Mean_Fz_100,'LineWidth',3);
==== Legende ==== Eine Legende kann automatisch oder manuell erstellt werden. Automatik:
plot(Mean_Fz_100,'Color',[0 0 0]);hold on;
plot(Std_Fz_100,'Color',[0.5 0.5 0.5]);
legend('Mean Fz','Std Fz');
Manuell: Für die manuelle Legende wird erst ein weißes Rechteck mit schwarzem Rand erzeugt. Zusätzlich werden die Linien in entsprechender Farbe und der entsprechende Text eingefügt.
plot(Mean_Fz_100,'Color',[0 0 0]);hold on;
plot(Std_Fz_100,'Color',[0.5 0.5 0.5]);

rectangle('Position',[70,1200,25,300],'Facecolor',[1 1 1],'Edgecolor',[0 0 0]);        %rectangle at position X=70, Y=1200 with a length of 25 and a height of 300, Facecolor defines inner Edgecolor the line color
line([72 76],[1400 1400],'Color',[0 0 0],'LineWidth',3,'LineStyle','-');               %line from [X Min X Max],[Y Min Y Max], LineStyle defines dottet ':', dashed '--' or solid line '-'
line([72 76],[1300 1300],'Color',[0.5 0.5 0.5],'LineWidth',2,'LineStyle','-'); 

text(78,1400,'Mean Fz','FontSize',12);                                                 %Text is displayed at position X=78 and Y= 1400 using a font size of 12
text(78,1300,'Std Fz','FontSize',12);
==== Achsen ==== Achsen können über den Befehl axis geändert werden.
plot(Mean_Fz_100,'Color',[0 0 0]);hold on;
axis([0 100 -50 1600]);      %[X Min X Max Y Min Y Max]
==== Gleichzeitige Ausgabe mehrerer Grafiken ==== Um mehrere Grafiken gleichzeitig anzuzeigen kann jeder Grafik eine Nummer gegeben werden.
figure(1);
plot(STD_Fz_100,'Color',[0.5 0.5 0.5],'LineWidth',2);
figure(2);
plot(Mean_Fz_100,'k','LineWidth',3); 
==== Mittelwert und Standartabweichung ==== Eine sinnvolle Darstellung der Standartabweichung kann wie folgt aussehen. Sie wird in Relation zum Mittelwertverlauf ausgegeben. Dazu wird sie einerseits zum Mittel addiert und zum zweiten subtrahiert. Diese Graphen werden dann ausgegeben.
plot(Mean_Fz_100+STD_Fz_100,'Color',[0.8 0.8 0.8],'LineWidth',2);hold on;
plot(Mean_Fz_100-STD_Fz_100,'Color',[0.8 0.8 0.8],'LineWidth',2);
plot(Mean_Fz_100,'k','LineWidth',3); 
==== Optische Darstellung von Extremwerten ==== Um spezille Punkte wie Maxima und Minima zu beschreiben empfehlen sich Markerpunkte. Vorerst muss das Maximum ermittelt werden. Zusätzlich benötigt man die Position des Maximums. Dies erfolgt über den Befehl find. Bei diesem wird der Zielwert mit der Ursprungsvariable verglichen um die Position zu ermittlen.
Max_Mean_Fz_100=max(Mean_Fz_100);                           %get maximum value 
Pos_Max_Mean_Fz_100 = find(Mean_Fz_100 == Max_Mean_Fz_100); %get position of maximum value

%Plot circle at maximum value
plot(Mean_Fz_100,'k','LineWidth',3);
plot(Pos_Max_Mean_Fz_100,Max_Mean_Fz_100,'o','Markersize',12,'LineWidth',5,'MarkerEdgeColor',[0.2 0.2 0.2]);
plot(Pos_Max_Mean_Fz_100,Max_Mean_Fz_100,'o','Markersize',9,'LineWidth',4,'MarkerEdgeColor',[0.9 0.9 0.9]);
==== Kombinierte Anzeige aller gelisteten Funktionen ==== Eine vollständige Grafik könnte dann wie folgt aussehen.
figure(1);
plot(Mean_Fz_100+STD_Fz_100,'Color',[0.8 0.8 0.8],'LineWidth',2);hold on;
plot(Mean_Fz_100-STD_Fz_100,'Color',[0.8 0.8 0.8],'LineWidth',2);
plot(Mean_Fz_100,'k','LineWidth',3); 
grid on;

axis([0 100 -50 1600]);  

Max_Mean_Fz_100=max(Mean_Fz_100);             %get maximum value 
Pos_Max_Mean_Fz_100 = find(Mean_Fz_100 == Max_Mean_Fz_100); %get position of maximum value

%Plot circle at maximum value
plot(Pos_Max_Mean_Fz_100,Max_Mean_Fz_100,'o','Markersize',12,'LineWidth',5,'MarkerEdgeColor',[0.2 0.2 0.2]);
plot(Pos_Max_Mean_Fz_100,Max_Mean_Fz_100,'o','Markersize',9,'LineWidth',4,'MarkerEdgeColor',[0.9 0.9 0.9]);

rectangle('Position',[70,1100,25,400],'Facecolor',[1 1 1],'Edgecolor',[0 0 0]);
line([72 76],[1400 1400],'Color',[0 0 0],'LineWidth',3,'LineStyle','-');         text(78,1400,'Mean Fz','FontSize',12);        %line from [X Min X Max],[Y Min Y Max]
line([72 76],[1300 1300],'Color',[0.8 0.8 0.8],'LineWidth',2,'LineStyle','-');   text(78,1300,'Std Fz','FontSize',12);
plot(74,1200,'o','Markersize',12,'LineWidth',5,'MarkerEdgeColor',[0.2 0.2 0.2]); text(78,1200,'Max Fz','FontSize',12);
plot(74,1200,'o','Markersize',9,'LineWidth',4,'MarkerEdgeColor',[0.9 0.9 0.9]);

%Labeling
xlabel('gait cycle [%]','FontSize',12);
ylabel('force [N]','FontSize',12);
title('Vertical ground reaction force during the gait cycle in running','FontSize',12);
==== Balkendiagramme unter Matlab ==== Balkendiagramme werden in Matlab über den Befehl bar erzeugt. Die Füllfarbe wird über 'Facecolor' die Rahmenfarbe über 'Edgecolor' angegeben. Die Linienstärke des Rahmens über 'LineWidth'.
figure(2);
bar(Mean_Max_Fz_100,'FaceColor',[0.5 0.5 0.5],'EdgeColor',[0,0,0],'LineWidth',3);
ylabel('maximum GRF [N]');                                                          %define label
grid on;                                                                            %grid for X and Y axes
set(gca,'XTICK',[]);                                                                %labeling of the X axis and the grid for the X axis is removed
axis([0.3 2.7 0 2000]);                                                             %defining new axes
text(0.85,-100,'Subj. 1');                                                          %put a text to specify two compared conditions
text(1.85,-100,'Subj. 2');
Um die Standartabweichung einzubinden kann man den Befehl errorbar nutzen. Über den Befehl 'LineWidht' lässt sich allerdings nur der vertikale Balken des Fehlers vergrößern. Beide horizontale Balken müssen von Hand hinzugefügt werden. Weitere Methoden dazu sind im Internet zu finden. Da der erste Balken bei X=1 und der zweite bei X=2 ausgegeben wird werden die horizontalen Linien jeweils von 0.9 bis 1.1 und 1.9 bis 2.1 ausgegeben.
hold on;
h=errorbar(Mean_Max_Fz_100,Std_Max_Fz_100,'Color',[0 0 0],'LineWidth',3);set(h,'linestyle','none','MarkerSize',50);                          %no line in between both error values
line([0.9 1.1],[Mean_Max_Fz_100(1)+Std_Max_Fz_100(1) Mean_Max_Fz_100(1)+Std_Max_Fz_100(1)],'Color',[0 0 0],'LineWidth',3,'LineStyle','-');
line([0.9 1.1],[Mean_Max_Fz_100(1)-Std_Max_Fz_100(1) Mean_Max_Fz_100(1)-Std_Max_Fz_100(1)],'Color',[0 0 0],'LineWidth',3,'LineStyle','-');

line([1.9 2.1],[Mean_Max_Fz_100(2)+Std_Max_Fz_100(2) Mean_Max_Fz_100(2)+Std_Max_Fz_100(2)],'Color',[0 0 0],'LineWidth',3,'LineStyle','-');
line([1.9 2.1],[Mean_Max_Fz_100(2)-Std_Max_Fz_100(2) Mean_Max_Fz_100(2)-Std_Max_Fz_100(2)],'Color',[0 0 0],'LineWidth',3,'LineStyle','-');
{{indexmenu_n>4}}