Probleme bei plotyy und legend
Sebbl
Forum-Century
Beiträge: 131
Anmeldedatum: 09.07.09
Wohnort: ---
Version: ---
Verfasst am : 22.07.2009, 16:11
Titel : Probleme bei plotyy und legend
Hi,
ich habe erstelle eine figure mit folgendem Code :
Code:
hFig = figure ( 'Name ','Verlauf Strom und Drehzahl ','NumberTitle ','off ') ;
Matrix_motor = evalin ( 'base ','Matrix_motor ') ;
[ AX,y1,y2] =plotyy ( Matrix_motor( :,1 ) ,( Matrix_motor( :,3 ) *1000 ) ,Matrix_motor( :,1 ) ,Matrix_motor( :,4 ) ,'plot ') ;
xlabel ( 'Zeit [ min ] ','FontSize ',10 ) ;
set ( AX,'FontSize ',10 ) ;
set ( get ( AX( 1 ) ,'Ylabel ') ,'String ','Strom [ mA] ','FontSize ',10 ) ;
set ( get ( AX( 2 ) ,'Ylabel ') ,'String ','Drehzahl [ min ^-^1 ] ','FontSize ',10 ) ;
legend ( AX( 2 ) ,'Test1 ','Test 2 ','Location ','NorthEastOutside ') ;
Nun habe ich jedoch Probleme die Legende der Verläufe oben rechts abzubilden.
Ich möchte beide Verläufe in der Legende benennen und die Legende soll die 2. y-Achse (Rechts) nicht überlappen.
Hat jemand vielleicht einen Vorschlag ?
Gruß Sebbl
Idefix_1024
Forum-Century
Beiträge: 230
Anmeldedatum: 16.10.08
Wohnort: ---
Version: ---
Verfasst am : 22.07.2009, 19:09
Titel :
ich bin nicht so wirklich sicher was das Ziel ist...
derartige Plots sehen bei mir aber zB so aus
Code:
close all
clear all
clc
t = 0 :0.01 :1 ;
set ( figure ,'Name ','Plot_Test ', 'Position ',[ 10 ,100 ,1200 ,800 ] )
axes_1 = axes ( 'XAxisLocation ','bottom ',...
'YAxisLocation ','left ',...
'Color ','none ',...
'Fontsize ', 14 ,'FontName ','Computer modern ',...
'XColor ','k ','YColor ','k ','LineWidth ',2 ,...
'XLim ',[ 0 0.02 ] , 'YLim ',[ -350 350 ] ) ;
hold on
line ( t,5000 .*t +1 ,'Color ','c ','LineWidth ',2 ) ;
line ( t,3000 .*t +2 ,'Color ','b ','LineWidth ',2 ) ;
hold off
ylabel ( 'Signal 1 und 2 ')
legend ( 'Signal 1 ','Signal 2 ',3 )
axes_2 = axes ( 'Position ',get ( axes_1,'Position ') ,...
'XAxisLocation ','bottom ',...
'YAxisLocation ','right ',...
'Color ','none ',...
'Fontsize ', 14 ,'FontName ','Computer modern ',...
'XColor ','k ','YColor ','r ','LineWidth ',2 ,...
'XTickLabel ',' ',...
'XLim ',[ 0 0.02 ] , 'YLim ',[ -25 25 ] ) ;
line ( t,1000 .*t -2 ,'Color ','r ','LineWidth ',2 ,'Parent ',axes_2) ;
xlabel ( 'Zeit [ Sek.] ')
ylabel ( 'Signal 3 ')
legend ( 'Signal 3 ',4 )
set ( gcf ,'PaperOrientation ', 'landscape ','PaperType ', 'A4 ')
set ( gcf ,'PaperUnits ', 'normalized ', 'PaperPosition ',[ 0 0 1 1 ] )
hilft das weiter ?
gib doch mal lauffähigen Code an, damit mans mal selbst durchspielen kann... diese Variable Matrix_motor hab ich grad nicht zur Hand...
Sebbl
Themenstarter
Forum-Century
Beiträge: 131
Anmeldedatum: 09.07.09
Wohnort: ---
Version: ---
Verfasst am : 23.07.2009, 14:23
Titel :
mhh,
danke für den Vorschlag, aber leider ist es nicht ganz die Lösung, die ich suche...
hier mal ein Code der mein Problem vielleicht etwas näher beschreibt..
Code:
hFig = figure ( 'Name ','Verlauf Strom und Drehzahl ','NumberTitle ','off ') ;
Matrix_motor = [ 1 2 3 ; 2 3 10 ; 3 4 12 ; 4 5 8 ] ;
[ AX,y1,y2] =plotyy ( Matrix_motor( :,1 ) ,Matrix_motor( :,2 ) ,Matrix_motor( :,1 ) ,( Matrix_motor( :,3 ) *1000 ) ,'plot ') ;
xlabel ( 'Zeit [ min ] ','FontSize ',10 ) ;
set ( AX,'FontSize ',10 ) ;
set ( get ( AX( 1 ) ,'Ylabel ') ,'String ','Strom [ mA] ','FontSize ',10 ) ;
set ( get ( AX( 2 ) ,'Ylabel ') ,'String ','Drehzahl [ min ^-^1 ] ','FontSize ',10 ) ;
legend ( AX( 2 ) ,'Test1 ','Test 2 ','Location ','NorthEastOutside ') ;
Wie man sieht, wird in der Legende nur Test 1 dargestellt.. die Beschriftung der 2.Kurve fehlt
Wie kann ich diese Beschriftung mit in dieser Legende unterbringen ?
Gruß Sebbl
Idefix_1024
Forum-Century
Beiträge: 230
Anmeldedatum: 16.10.08
Wohnort: ---
Version: ---
Verfasst am : 23.07.2009, 14:46
Titel :
also was ich damit sagen wollte
1. plotyy ist mir unsympathisch
2. ich habe die Legende lieber den Achsen zugeordnet
aber man kann natürlich auch
Code:
close all
clear
clc
hFig = figure ( 'Name ','Verlauf Strom und Drehzahl ','NumberTitle ','off ') ;
Matrix_motor = [ 1 2 3 ; 2 3 10 ; 3 4 12 ; 4 5 8 ] ;
[ AX,handle( 1 ) ,handle( 2 ) ] =plotyy ( Matrix_motor( :,1 ) ,Matrix_motor( :,2 ) ,Matrix_motor( :,1 ) ,( Matrix_motor( :,3 ) *1000 ) ,'plot ') ;
xlabel ( 'Zeit [ min ] ','FontSize ',10 ) ;
set ( AX,'FontSize ',10 ) ;
set ( get ( AX( 1 ) ,'Ylabel ') ,'String ','Strom [ mA] ','FontSize ',10 ) ;
set ( get ( AX( 2 ) ,'Ylabel ') ,'String ','Drehzahl [ min ^-^1 ] ','FontSize ',10 ) ;
legend ( handle,'Test1 ','Test2 ','Location ','NorthEastOutside ') ;
schreiben. Das sollte dann wohl eher das sein was Du gerne hättest...
Sebbl
Themenstarter
Forum-Century
Beiträge: 131
Anmeldedatum: 09.07.09
Wohnort: ---
Version: ---
Verfasst am : 23.07.2009, 15:20
Titel :
fast
Danke schonmal
Also das mit der Legende sieht ja jetzt so aus, wie ich es gern hätte....
nur leider überlagert die Legende ja nun meine Achsenbeschrifung der 2. y-Achse...
kann man dem vielleicht noch Abhilfe schaffen ?
Gruß Sebbl
Idefix_1024
Forum-Century
Beiträge: 230
Anmeldedatum: 16.10.08
Wohnort: ---
Version: ---
Verfasst am : 23.07.2009, 15:42
Titel :
generell kann man die Legende durch
Code:
legend ( handle,'Test1 ','Test2 ','Color ','none ',0 ) ; % automatisch platziert
legend ( handle,'Test1 ','Test2 ','Color ','none ',-1 ) ; % außerhalb platziert
legend ( handle,'Test1 ','Test2 ','Color ','none ',1 ) ; % rechts oben platziert
legend ( handle,'Test1 ','Test2 ','Color ','none ',2 ) ; % links oben platziert
legend ( handle,'Test1 ','Test2 ','Color ','none ',3 ) ; % links unten platziert
legend ( handle,'Test1 ','Test2 ','Color ','none ',4 ) ; % rechts unten platziert
positionieren...
zudem ist sie nun auch durchsichtig...
viel mehr kann man wohl nicht mehr verbessern...
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
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.