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

Plot erscheint ausserhalb von Axe

 

Micha87

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2009, 10:42     Titel: Plot erscheint ausserhalb von Axe
  Antworten mit Zitat      
Hallo Zusammen,

ich habe folgendes Problem:

ich habe in einem GUI ein Axe mit mehreren Plots. Beim letzten Plot fuege ich mit 'text' nummern an die geplotteten Punkte hinzu. Wenn ich nun mit Pan oder Zoom die Ansicht meiner Axe veraendere habe ich das Problem, das die mit text geplotteten Punkte ausserhalb des Axes erscheinen.
Habe schon im Internet gesucht, leider nichts gefunden.

Ueber jeglichen Rat oder Ideen freue ich mich.

Micha


Micha87

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.11.2009, 08:29     Titel: Plot erscheint ausserhalb von Axe
  Antworten mit Zitat      
Hallo Zusammen,

hat wirklich keiner eine Idee?
Eigentlich duerfte das nicht so schwer sein, habe aber schon ueberall gesucht und leider nichts gefunden.
Freue mich ueber jede Antwort!

Micha
 
Fragewurm
Forum-Century

Forum-Century


Beiträge: 180
Anmeldedatum: 23.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.11.2009, 08:43     Titel:
  Antworten mit Zitat      
Hi Micha
hast du schonmal dein Program debug ?? Wenn nein dann mach das doch mal und poste dann den Teil deines Programms wo der Fehler auftritt.
Vielleicht kann dir dann auch jemand helfen.

Gruss Fragewurm
_________________

Fehler jeglicher Art Dienen zur allgemeinen Belustigung
Private Nachricht senden Benutzer-Profile anzeigen
 
Micha87
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 30.11.09
Wohnort: Valencia
Version: ---
     Beitrag Verfasst am: 30.11.2009, 09:37     Titel:
  Antworten mit Zitat      
Hey,

habe im mal einen Screenshot von meinem GUI angehängt. Dann sieht man sofort, was mein Problem ist.

Der entsprechende Teil des Matlab-Codes ist folgender:

handles.plot_text = text(Long,Lat,Nummer,'fontsize' ,10,'BackgroundColor',[0 1 0]);

Long und Lat sind einfach nur die Koordinaten und Nummer ist der String.
Vielleicht fehlt hier einfach noch ein Zusatz, ich weiß bloss nicht welcher?
Aufgefallen ist mir auch, dass dieses Problem nur bei dem letzten Plot von meinen Dreien auftritt...

Micha

Problem Matlab.JPG
 Beschreibung:

Download
 Dateiname:  Problem Matlab.JPG
 Dateigröße:  104.37 KB
 Heruntergeladen:  620 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Fragewurm
Forum-Century

Forum-Century


Beiträge: 180
Anmeldedatum: 23.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.11.2009, 12:31     Titel:
  Antworten mit Zitat      
Die einzige Idee die ich jetzt hätte wäre das du den text deiner Grafik zuweisen musst. Das müsste eigendlich mit 'parent','myAxes' gehen.


Gruss Fragewurm
_________________

Fehler jeglicher Art Dienen zur allgemeinen Belustigung
Private Nachricht senden Benutzer-Profile anzeigen
 
Micha87
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 30.11.09
Wohnort: Valencia
Version: ---
     Beitrag Verfasst am: 03.12.2009, 16:55     Titel:
  Antworten mit Zitat      
Hallo Fragewurm,

Danke für Deine Antwort. Leider verstehe ich nicht ganz was Du meinst. Könntest Du mir das vielleicht ein wenig erklären?

Danke!

Micha
Private Nachricht senden Benutzer-Profile anzeigen
 
Fragewurm
Forum-Century

Forum-Century


Beiträge: 180
Anmeldedatum: 23.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2009, 08:26     Titel:
  Antworten mit Zitat      
Sorry das es so lange gedauert hat.

Also mit zuweisen meinte ich das du dein Text-Element einem anderem Element zum Beispiel einem Panel oder einem Axes-Element zuweist das geht mit
Code:

handel.lb= uicontrol('style','text',...
                              'parent',handel.mypanel,.... % hier weißt du den Text dem Panel zu
                              ........);
 

Das kannst du auch mit einem Plot machen
Code:

plot(handel.myAxes,x,y) % hier gibst du mit an wo der plot dargestellt werden soll
 


Das ganze ist nur eine Idee woran es liegen könnte.

Gruss Fragewurm
_________________

Fehler jeglicher Art Dienen zur allgemeinen Belustigung
Private Nachricht senden Benutzer-Profile anzeigen
 
Micha87
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 30.11.09
Wohnort: Valencia
Version: ---
     Beitrag Verfasst am: 14.12.2009, 13:37     Titel:
  Antworten mit Zitat      
hey,

ich glaube das funktioniert in meinem Fall vermutlich nicht, da ich so viele Beschriftungen habe.

Ich habe quasi eine Fahrstrecke, mein erster Plot. Dann plote ich alle Kurven dieser Fahrstrecke noch einmal mit rot, mein zweiter Plot. Mit diesen zwei Plots habe ich überhaupt keine Probleme, wenn ich zoome sind diese zwei Plots immer nur im Axes zu sehen und nicht über meinen anderen Buttons. Das Problem macht mein dritter Plot, mit dem ich jeden einzelnen Kurvenmittelpunkt noch einmal Plote und mit mit Nummern beschrifte...

Ich verstehe absolut nicht, warum ich bei diesem letzten Plot dieses Problem habe.

Hat vielleicht noch jemand eine Idee?

Micha
Private Nachricht senden Benutzer-Profile anzeigen
 
Fragewurm
Forum-Century

Forum-Century


Beiträge: 180
Anmeldedatum: 23.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.12.2009, 13:42     Titel:
  Antworten mit Zitat      
Hi
poste doch mal den Teil des Quell-Codes wo der Fehler auftritt.

Gruss Fragewurm
_________________

Fehler jeglicher Art Dienen zur allgemeinen Belustigung
Private Nachricht senden Benutzer-Profile anzeigen
 
Micha87
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 30.11.09
Wohnort: Valencia
Version: ---
     Beitrag Verfasst am: 14.12.2009, 15:12     Titel:
  Antworten mit Zitat      
alles klar, also hier der Code:

Code:
compare=get(handles.checkbox_compare,'Value');
hold on, grid on;
ylabel('Latitude');
xlabel('Longitude');

if(compare==1)%plots complete route --> plot number 1
    Versatz=0.1;
    latitud=latitud-Versatz;
    plot(longitud,latitud,'g')
else
    Versatz=0;
    plot(longitud,latitud,'b')
end

%plot of the curves

hold on
for(n=1:1:Ku)
 plot(K{n,3},K{n,2}-Versatz,'r.-')%plots all curves of the route --> plot number 2
end
       
  for(n=1:1:length(K))
     Position=round(length(K{n,2})/2);
     Lat(n)=K{n,2}(Position)-Versatz;
     Long(n)=K{n,3}(Position);
 end
q=1:1:length(K);
Nummer=num2str(q');

hold on;
handles.plot_text_v=text(Long,Lat,Nummer,'fontsize' ,10,'BackgroundColor',[0 1 0]);


Ich glaube eigentlich müsste ich nur irgendwas in der letzten Zeile hinzufügen, nur was?

Micha
Private Nachricht senden Benutzer-Profile anzeigen
 
thea

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.12.2009, 15:21     Titel: Bug in Matlab
  Antworten mit Zitat      
Ich denke, das Problem hängt mit diesem Matlab-Bug zusammen. Habe gerade nach einer ähnlichen Fragestellung gegoogelt und bin über euer Thread gestolpert. Das Überquellen der Achsen tritt auch bei bar, patch und anderen Grafikobjekten in GUIs auf. Vielleicht hilft es ja weiter...

http://www.mathworks.com/support/bu.....=0&selected_products=

Gruß
Alex
 
Micha87
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 30.11.09
Wohnort: Valencia
Version: ---
     Beitrag Verfasst am: 14.12.2009, 15:55     Titel:
  Antworten mit Zitat      
danke, leider verstehe ich das nicht ganz. Falls das jemand versteht oder ne andere Idee hat, wäre ich sehr dankbar.

Micha
Private Nachricht senden Benutzer-Profile anzeigen
 
thea

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.12.2009, 17:17     Titel:
  Antworten mit Zitat      
Ergänze einfach an der Stelle im M-File, an der du dein GUI initialisierst entweder

set(gcf,'renderer','opengl');

oder

set(gcf,'renderer','zbuffer');

ein und schau, ob der Fehler immer noch auftritt und das Figure noch ok aussieht. gcf steht für get current figure und ist in dem Fall dein GUI-Handle. Zbuffer und opengl sind die renderer, die Matlab benutzt um die Grafikobjekte zu erzeugen (schau mal in die Hilfe, wenn du genaueres wissen willst). Anscheinend hilft es in einigen Fällen, die renderer direkt festzulegen, wenn Achsobjekte über die Achsen hinausquellen. Bei mir hat es funktioniert.

Gruß
Alex
 
Micha87
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 30.11.09
Wohnort: Valencia
Version: ---
     Beitrag Verfasst am: 15.12.2009, 09:34     Titel:
  Antworten mit Zitat      
Danke Alex. Ich habe beides schon ausprobiert und eben nochmal versucht. Leider nicht mit dem erwünschten Ergebnis... Bei
set(gcf,'renderer','opengl');
verschwindet dann leider mein Text, den ich dem Plot zugeordnet habe.
Weiß jemand vielleicht ne Möglichkeit, wie ich die Beschriftung meiner Kurven des Straßenverlaufs anders machen könnte?

Micha
Private Nachricht senden Benutzer-Profile anzeigen
 
Micha87
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 30.11.09
Wohnort: Valencia
Version: ---
     Beitrag Verfasst am: 11.01.2010, 14:37     Titel:
  Antworten mit Zitat      
hallo Zusammen,

ich arbeite zwar inzwischen an einem anderen Thema, habe dieses Problem aber leider immer noch nicht gelöst. Also falls jemand irgendeine Idee hat, wäre ich sehr dankbar.

Liebe Grüße
Micha
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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 - 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.