WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Mehrere Graphen in Legende zusammenfassen

 

Gast1234

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.04.2010, 14:25     Titel: Mehrere Graphen in Legende zusammenfassen
  Antworten mit Zitat      
Hallo zusammen,

ich habe jetzt schon eine weile gesucht finde aber leider keine Lösung zu meinem Problem.
Und zwar habe ich zu verschiedenen Messreihen mehrere Messdaten die gemeinsam in ein plot sollen.
So habe ich z.B. zur Messreihe_1 4 Graphen,
zur Messreihe_2 10 Graphen usw.
Diese plotte ich alle zusammen in eine Graphik wobei die Graphen zu einer Messreihe jeweils die gleiche Farbe haben. Das funktioniert auch alles soweit.
Mein Problem besteht darin jetzt eine Legende zu basteln mit z.B. 3 Einträgen (zu jeder Messreihe einen). Ich habe in der Hilfe auch etwas gefunden (hggroup oder so ähnlich) allerdings kann ich das nicht so richtig umsetzen da meine ausgabe in einer schleife realisiert wird und irgendwie bin ich zu blöd das in der schleife zu realisieren. Würde mich freuen wenn mir da jemand helfen könnte. Vielen dank schonmal.

Noch zur info ich weiß nicht ob es relevant ist ich speicher die Daten in einem Cell Array wobei eine Zeile einer Messreihe entspricht und die Daten der Messreihe stehen alle in einer Matrix. der plott befehl sieht dann so aus.
Code:

plot(t2, zelle{x,5}, zelle{x,10});
 


wobei in zelle{x,5} die Matrix mit den Daten und in zelle{x,10} die Farbinformation steht
MfG Martin


Fourier
Forum-Guru

Forum-Guru


Beiträge: 329
Anmeldedatum: 05.04.10
Wohnort: Karlsruhe
Version: 2009b
     Beitrag Verfasst am: 23.04.2010, 14:31     Titel:
  Antworten mit Zitat      
also ich hab schon mal eine legende so realisiert:

x=1;
index=4
for k=1:index
for m=1:index
text{x,:}=sprintf('S%d%d',k,m);
x=x+1;
end
end

legend(text);

in diesem beispiel kommt eine legende mit 8 einträgen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast1234

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.04.2010, 14:47     Titel:
  Antworten mit Zitat      
Ähm danke für die schnelle Antwort aber ich sehe nicht wie mir das helfen sollte.
 
Fourier
Forum-Guru

Forum-Guru


Beiträge: 329
Anmeldedatum: 05.04.10
Wohnort: Karlsruhe
Version: 2009b
     Beitrag Verfasst am: 23.04.2010, 14:53     Titel:
  Antworten mit Zitat      
Gast1234 hat Folgendes geschrieben:
Ähm danke für die schnelle Antwort aber ich sehe nicht wie mir das helfen sollte.


ich glaube ich hab nicht richtig verstanden was du meinst...
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast1234

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.04.2010, 15:14     Titel:
  Antworten mit Zitat      
also ich hab z.b. in einem plot 30 Graphen davon gehören 8 zur messreihe1, 10 zur messreihe2 und 12 zur messreihe3.
und zu diesen 30graphen will ich eine legende mit drei einträgen.
messreihe1
messreihe2
messreihe3
und natürlich in der richtigen farbe. (alle graphen zu einer messreihe haben die selbe farbe)
in der hilfe habe ich etwas gefunde von wegen hggroup.
allerdings schaffe ich es nicht das in der schleife zu realisieren.
das sind meine versuche. allerdings kommt dann immer ein warning.
Warning: Plot empty.

nur so zur info plot_handle usw existieren. hab nur einen kleinen ausschnitt des programms.
Code:


group1 = hggroup;
group2 = hggroup;
group3 = hggroup;

for x = 1:size(zelle, 1)
    figure(2)
    subplot(311);
    hold on
    plot_handle{x,1} = plot(t2, zelle{x,5}, zelle{x,10});
end

figure(2);
subplot(311);
set(plot_handle{1,1},'Parent',group1);
    set(get(get(group1,'Annotation'),'LegendInformation'),...
    'IconDisplayStyle','on'); % Include this hggroup in the legend
set(plot_handle{2,1},'Parent',group2);
    set(get(get(group2,'Annotation'),'LegendInformation'),...
    'IconDisplayStyle','on'); % Include this hggroup in the legend
set(plot_handle{3,1},'Parent',group3);
    set(get(get(group3,'Annotation'),'LegendInformation'),...
    'IconDisplayStyle','on'); % Include this hggroup in the legend
%legend(num2str(zelle{1,1}), num2str(zelle{2,1}), num2str(zelle{3,1}));
legend('1', '2', '3');
 
 
Gast1234

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.04.2010, 17:01     Titel:
  Antworten mit Zitat      
Hey
also ich hab jetzt mein problem gelöst.
und muss sagen matlab gefällt mir nicht so ^^. alles rumgepfusche bei mir. vielleicht bin auch nur zu blöd es gescheit zu machen ^^.
mfg
 
torsten23
Forum-Anfänger

Forum-Anfänger


Beiträge: 42
Anmeldedatum: 21.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2010, 12:30     Titel: hggroup zusammenfassen, schleife?
  Antworten mit Zitat      
Hallo,

ich hab ein ähnliches Problem, bzw. ein Problem, dass man hier gut fragen kann...

wie kann ich machen, dass

ich statt

Code:

set(plot_handle{1,1},'Parent',group1);
    set(get(get(group1,'Annotation'),'LegendInformation'),...
    'IconDisplayStyle','on'); % Include this hggroup in the legend
set(plot_handle{2,1},'Parent',group2);
    set(get(get(group2,'Annotation'),'LegendInformation'),...
    'IconDisplayStyle','on'); % Include this hggroup in the legend
set(plot_handle{3,1},'Parent',group3);
    set(get(get(group3,'Annotation'),'LegendInformation'),...
    'IconDisplayStyle','on'); % Include this hggroup in the legend
 

z.B. sowas wie

Code:

  for xyz=1:2
      xyzname=['group',int2str(xyz)]
     set(plot_handle{xyzname,1},'Parent',xyzname);
   set(get(get(xyzname,'Annotation'),'LegendInformation'),'IconDisplayStyle','on');
 end


als Fehlermeldung bekomme ich dann immer

Error in ==> plot_an at 83
set(plot_handle{xyzname,1},'Parent',xyzname);

Code:

group1 = hggroup;
group2 = hggroup;
group3 = hggroup;
 


würde ich auch gerne über eine Schleife realisieren...

ich bräuchte hier vermutlich eher "dynamische Variablen" ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 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.