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 überlagert im GUIDE mein Hintergrundbild

 

maze
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.11
Wohnort: Hamburg
Version: 7.11.0 R2010b
     Beitrag Verfasst am: 12.01.2012, 18:38     Titel: Plot überlagert im GUIDE mein Hintergrundbild
  Antworten mit Zitat      
Ich habe eine GUIDE (Gui_Glaze_4_Variablen) mit Hintergrundbild (vulkan_Bild). Dieses GUIDE ruft ein Programm (glaze) auf. In dem wird eine Berechnung durchgeführt und das Ergebnis dann im GUIDE geplottet. Wenn ich das GUIDE das erste Mal aufrufe, erscheint das Hintergrundbild. Wenn ich aber dann auf den Startknopf des GUIDES drücke, welches den Befehl zur Berechnung des externen Programms gibt erfolgt die Berechnung und mein Plot-Bild im GUIDE. Der Plot soll auch im GUIDE erscheinen, aber das Hintergrundbild soll im Hintergrund immer noch zu sehen sein. In dem Moment ist das Hintergrundbild im GUIDE verschwunden. Zudem erscheint mein Plot-Bild kopfüber. Ich finde leider nichts in diesem oder auch im englischen Forum. Wenn jemand auch nur eine leise Idee hat, bin ich schon sehr dankbar...


Hier schreibe ich den Code für meine Hintergrundbild. Wenn ich das auskommentiere, ist das Hintergrundbild weg, aber mein Plot nicht mehr Kopfüber, sondern normal.

Code:

function GUI_Glaze_4_Variablen_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to GUI_Glaze_4_Variablen (see VARARGIN)

% Choose default command line output for GUI_Glaze_4_Variablen
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

backgroundImage = importdata('vulkan_Bild.jpg');
%select the axes
axes(handles.Image);
%place image onto the axes
image(backgroundImage);


 


GUI_Glaze_4_Variablen.m
 Beschreibung:

Download
 Dateiname:  GUI_Glaze_4_Variablen.m
 Dateigröße:  18.57 KB
 Heruntergeladen:  447 mal
vulkan_Bild.JPG
 Beschreibung:

Download
 Dateiname:  vulkan_Bild.JPG
 Dateigröße:  9.14 KB
 Heruntergeladen:  579 mal
glaze.m
 Beschreibung:

Download
 Dateiname:  glaze.m
 Dateigröße:  16.05 KB
 Heruntergeladen:  444 mal
GUI_Glaze_4_Variablen.fig
 Beschreibung:

Download
 Dateiname:  GUI_Glaze_4_Variablen.fig
 Dateigröße:  12.75 KB
 Heruntergeladen:  417 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.01.2012, 22:30     Titel:
  Antworten mit Zitat      
Hallo,

deine GUI wirft bei mir schon beim Starten eine Fehlermeldung.
Code:

könnte das Problem lösen.

Das "kopfüber" dürfte an der geänderten 'YDir' Eigenschaft liegen - bei Bildern liegt der Koordinatenursprung ja "links oben".

Ein (funktionierendes) Minimalbeispiel könnte helfen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
maze
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.11
Wohnort: Hamburg
Version: 7.11.0 R2010b
     Beitrag Verfasst am: 13.01.2012, 11:16     Titel:
  Antworten mit Zitat      
Harald, entschuldige vielmals wegen dem nicht-funktionierenden Gui. Ich hatte aus Versehen in der Opening-Function das global machen durch guidata(hObject, handles) auskommentiert und so so abgespeichert. Mein Beispiel läuft wieder fehlerfrei. Mein Bild wird jetzt auch korrekt geplottet durch das Einfügen
Code:
set(gca,'YDir'.'normal' )

nach dem Plot. Mein Hintergrundbild verschwindet aber weiterhin. Ich hoffe, es ist ok, wenn ich mein aktuelles Programm dann nochmal sende, anstatt ein Minimalbeispiel? Der Plot im Glazeprogramm geht in Zeile 247 los.
Ich habe einen Teil des Plotbefehls hier gepostet. Es gibt zu Beginn den Plot-Befehl, der mir den Radius gegen die Höhe plottet. Diese beiden Varialben sind zuvor vom glaze-Programm berechnet worden.

Des weiteren "baue" ich noch was in das Bild via patch-Befehl ein. Doch auch wenn ich das weglasse, verschwindet das Hintergrundbild. Lasse ich axis ([-40000 35000 -5000 40000]) weg, gibts einen verzerrten plot, aber das hintergrundbild verschwindet trotzdem.

Es kann also nur an der Kombination mit dem Plot-Befehl liegen. Ich hoffe, das ist dir klar genug, wie ich das meine? Sonst versuche ich ein anderes Beispiel zu konstruieren?

Die korrekten Files sind unten nochmal angehangen.


Code:


hold on

  z_vec = (hstep:hstep:z)'; % um alle Werte von 0 bis Ende für die Höhe in einem Vektor zu erhalten.

  plot (r_vec,z_vec,'r-')
  plot (-r_vec,z_vec,'r-')  % negative Werte auch plotten, um ein achsensymmetrisches Bild zu erhalten - einen kegel
  z2 =[z_vec; z_vec(end:-1:1)];
  r2= [r_vec;-r_vec(end:-1:1)];
 
  hold all
  axis ([-40000 35000 -5000 40000]);
  xlabel('Breite (km)')
  ylabel('Höhe über Kraterradius (km)')
 

 


glaze_programm.m
 Beschreibung:

Download
 Dateiname:  glaze_programm.m
 Dateigröße:  8.71 KB
 Heruntergeladen:  398 mal
GUI_Glaze_4_Variablen.m
 Beschreibung:

Download
 Dateiname:  GUI_Glaze_4_Variablen.m
 Dateigröße:  21.48 KB
 Heruntergeladen:  416 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.01.2012, 19:37     Titel:
  Antworten mit Zitat      
Hallo,

die Fehlermeldung beim Öffnen der GUI ist weg, die beim Ausführen des Callbacks besteht weiter. Du versuchst Parameter zu übergeben, obwohl glaze.m keine entgegennimmt.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
maze
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.11
Wohnort: Hamburg
Version: 7.11.0 R2010b
     Beitrag Verfasst am: 13.01.2012, 21:07     Titel:
  Antworten mit Zitat      
Hallo Harald,

hier kommt ein anderes, kleineres Beispiel, wo ich jetzt zur Veranschaulichung nur einen Slider, Edit-Tool und Pushbutton eingefügt habe.
Wenn ich die Gui aufrufe erhalte ich mein Backgroundbild, sobald ich jedoch den Pushbutton betätige, der dann einen Wert an meine Funktion ellipse2 übergibt und dieses Programm dann plottet ist mein Hintergrundbild verschwunden?
Wie kann ich es nur schaffen, dass mein Hintergrundbild bleibt und sich der Plot nur darüber legt. Also nur die Ellipse, nichts anders?

Liebe Grüsse,
Claudia

vulkan_Bild.jpg
 Beschreibung:

Download
 Dateiname:  vulkan_Bild.jpg
 Dateigröße:  9.14 KB
 Heruntergeladen:  594 mal
Elipsen_GUI.m
 Beschreibung:

Download
 Dateiname:  Elipsen_GUI.m
 Dateigröße:  5.72 KB
 Heruntergeladen:  450 mal
Elipsen_GUI.fig
 Beschreibung:

Download
 Dateiname:  Elipsen_GUI.fig
 Dateigröße:  4.86 KB
 Heruntergeladen:  404 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
maze
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.11
Wohnort: Hamburg
Version: 7.11.0 R2010b
     Beitrag Verfasst am: 13.01.2012, 21:10     Titel:
  Antworten mit Zitat      
soory, das Programm ellipse2 fehlte noch...

ellipse2.m
 Beschreibung:

Download
 Dateiname:  ellipse2.m
 Dateigröße:  188 Bytes
 Heruntergeladen:  411 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
maze
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.11
Wohnort: Hamburg
Version: 7.11.0 R2010b
     Beitrag Verfasst am: 13.01.2012, 21:31     Titel:
  Antworten mit Zitat      
stop, ich habe grade noch einen fehler entdeckt. ich hatte was richtig laufendes, habe es irgendwie gelöscht und die falsche version hochgeladen. ich bin schon so übermüdet, dass ich es grad nicht so hinbekomme. sobald alles fix ist und ich mir sicher bin ist lade ich nochmal hoch.
Private Nachricht senden Benutzer-Profile anzeigen
 
maze
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.11
Wohnort: Hamburg
Version: 7.11.0 R2010b
     Beitrag Verfasst am: 13.01.2012, 22:24     Titel:
  Antworten mit Zitat      
ok, jetzt passt das beispiel. irgendwie hatte ich die creatfcn der achse zuvor versaut gehabt. ich habs nicht gebacken bekommen das zu reparieren und musste das nochmal neu machen.

vulkan_Bild.jpg
 Beschreibung:

Download
 Dateiname:  vulkan_Bild.jpg
 Dateigröße:  9.14 KB
 Heruntergeladen:  585 mal
ellipse2.m
 Beschreibung:

Download
 Dateiname:  ellipse2.m
 Dateigröße:  188 Bytes
 Heruntergeladen:  400 mal
ELIPSE.m
 Beschreibung:

Download
 Dateiname:  ELIPSE.m
 Dateigröße:  5.5 KB
 Heruntergeladen:  397 mal
ELIPSE.fig
 Beschreibung:

Download
 Dateiname:  ELIPSE.fig
 Dateigröße:  4.87 KB
 Heruntergeladen:  388 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
maze
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.11
Wohnort: Hamburg
Version: 7.11.0 R2010b
     Beitrag Verfasst am: 17.01.2012, 14:24     Titel:
  Antworten mit Zitat      
ich habs.

das hintergrund bild muss via

Code:


backgroundImage = importdata('vulkan_Bild.jpg');
%select the axes
axes(handles.Image);
%place image onto the axes
image(backgroundImage);
%remove the axis tick marks
%axis off
% % Choose default command line output for GUI_Glaze_4_Variablen
 handles.output = hObject;
%
% % Update handles structure

 


in die Opening Function des Gui.

Gleichzeitig muss dieses Hintergrundbild vor dem Plotbefehl in das Programm aufgenommen werden. Dabei muss angegeben werden, wo das Bild hin muss via Achsenbefehl. In diesem Fall muessen die Achsen mit den Werten des ganzen Bildes angegeben werden.

Code:


backgroundImage = importdata('vulkan_Bild.jpg');
%place image onto the axes
image([-35 35 ],[35 -15],backgroundImage);
hold on
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.