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

Punkte mehrerer Subplots in Schleife verbinden

 

Holgi

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.06.2013, 10:27     Titel: Punkte mehrerer Subplots in Schleife verbinden
  Antworten mit Zitat      
Hallo zusammen,

mit dem folgenden Code erstelle ich in einer Schleife eine Reihe von Grafiken, bei denen mit jedem Schleifendurchlauf ein neuer Datensatz aus der Matrix hinzugefügt wird. Die Bilder werden im Anschluss für eine Präsentation benötigt. Ich plotte die Daten in verschiedenen Subplots, um die x-Achsenskalierung jeweils anpassen zu können.

Code:
clear
clc

A=xlsread('GP4');   %gesamte Excel-Liste laden
for i=1:length(A(:,1))
    if A(i,41)==1  
           B(i,:)=A(i,:);   %erstellt eine neue Matrix mit den gewünschten Datensätzen
    end
end
B(all(B==0,2),:)=[];%entfernt alle leeren Zeilen von B

figure(2)

hold on
grid off    
set(gcf,'Units','pixels','Position',[100 100 1200 800]) %Position und Größe der angezeigten Grafik auf dem Bildschirm

for i=1:length(B(:,1))
   
  subplot(3,1,1,'position',[0.3 0.3 0.1 0.1])
  set(subplot(3,1,1),'YTick',[ 6 7 8], 'XTick', [125, 150, 175 200, 250, 300, 350, 400, 500, 600, 700, 800], 'XScale', 'log'); %Achsenbeschriftung
  axis([100 900 6 8]);
  h1=semilogx(10*B(i,1),7,'o','LineWidth',3,'MarkerEdgeColor','k');  
  box off    
  hold on
 
  subplot(3,1,2,'position',[.2 .1 .1 .1])
  set(subplot(3,1,2),'YTick',[5 6 7], 'XTick', [420, 500, 650, 800, 960], 'XScale', 'log'); %Achsenbeschriftung
  axis([400 900 5 7]);
  h2=semilogx(B(i,43),6,'o','LineWidth',3,'MarkerEdgeColor','b','MarkerSize',0.02*B(i,43));  
  box off      
  hold on

  subplot(3,1,3,'position',[0.1 0.3 0.1 0.1])
  set(subplot(3,1,3),'YTick',[4 5 6], 'XTick', [125, 150, 175 200, 250, 300, 350, 400, 500, 600, 700, 800], 'XScale', 'log'); %Achsenbeschriftung
  axis([100 900 4 6]);
  h3=semilogx(B(i,22),5,'o', 'LineWidth',3,'MarkerEdgeColor','g','MarkerSize',0.02*B(i,20));    
  box off
  hold on
 
print(['Test',num2str(i)],'-djpeg','-r150');    %speichert pro Schleifendurchlauf ein Bild im aktuellen Verzeichniss        
             
end


Mein Problem ist nun, dass ich jeweils die einzelnen Datensätze eines Schleifendurchlaufes (also einer Matrix Zeile) mit einer Linie verbinden muss, damit die zusammengehörigen Punkte sofort zu erkennen sind.

Ich habe vergeblich versucht diesen Beitrag: http://www.gomatlab.de/2-punkte-in-.....ght,punkte+verbinden.html in meine Schleife einzuarbeiten. Bin aber kläglich gescheitert.
Habe deshalb auch den dafür verwendeten Code hier nicht extra eingefügt.

Hat jemand vielleicht eine Idee, wie ich diese Verbindungslinien in der Schleife integrieren kann, so dass sie in den jeweiligen Bildern integriert sind?

Vielen Dank
Holger

Test11.jpg
 Beschreibung:

Download
 Dateiname:  Test11.jpg
 Dateigröße:  48.7 KB
 Heruntergeladen:  425 mal


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 26.06.2013, 10:59     Titel: Re: Punkte mehrerer Subplots in Schleife verbinden
  Antworten mit Zitat      
Hallo Holgi,

Vielleicht kannst Du einfach in:
Code:
h3=semilogx(B(i,22),5,'o', 'LineWidth',3,'MarkerEdgeColor','g','MarkerSize',0.02*B(i,20));

"B(i,22)" durch "B(1:i,22)" ersetzen. Eventuell benötigst Du auch "-o" statt "o" als LineStyle.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Holgi

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.06.2013, 12:04     Titel:
  Antworten mit Zitat      
Hallo Jan,

wenn ich deine Anmerkungen einpflege, dann wird der Rand der Kreise einfach nur dicker,wenn mehrere Kreise an der selbe Stelle liegen.(Warum ist mir auch noch nicht ganz schlüssig^^) siehe Bild 1

Um es nochmal zu verdeutlichen, was ich eigentlich erreichen möchte habe ich das 2. Bild nochmal angehängt. Es beinhaltet die gewünschten vertikalen Verbindungslinien, allerdings ist diese Grafik aus einem Plot entstanden und ich brauche die diversen Subplots.


Ist es nun verständlicher, wo mein Problem liegt?
Danke

Holger

Test10.jpg
 Beschreibung:

Download
 Dateiname:  Test10.jpg
 Dateigröße:  20.55 KB
 Heruntergeladen:  484 mal
Test4.jpg
 Beschreibung:

Download
 Dateiname:  Test4.jpg
 Dateigröße:  65.69 KB
 Heruntergeladen:  481 mal
 
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.