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

Problem beim saven von grafiken per gui

 

quant82
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 97
Anmeldedatum: 30.04.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2010, 14:44     Titel: Problem beim saven von grafiken per gui
  Antworten mit Zitat      
ich lass mir per button eine grafik plotten und will diese dann per save button speichern können... dafür hab ich mir eine funktion geschrieben der ich das axes und das legend object übergebe und welche daraus dann eine figure aufmacht und diese dann speichert...

ich bekomme aber irgendwie einen fehler mit dem legend object und wenn ich dieses weglasse ist die gespeicherte grafik dann leer... hoffe mir kann wer helfen wo das problem liegt

button der den plot generiert

Code:


function run_pushbutton_Callback(hObject, eventdata, handles)
% hObject    handle to run_pushbutton (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)




axes(handles.axes1_Overall)
    title('Risk Overall Correlation','FontSize',12,'FontWeight','b','Color','blue');
    %creates a vector from 0 to 10, [0 1 2 3 . . . 10]
    x = 0:10;
    %creates a vector [0 1 4 9 . . . 100]
    y = x.^2;
    plot(x,y);
    handles.legend_plot1_Overall = legend('data');
guidata(hObject, handles);

 


save button

Code:



function save1_Overall_pushButton_Callback(hObject, eventdata, handles)

RASavePlot(handles.axes1_Overall, legend_plot1_Overall);

 


Fehlermeldung:

Zitat:

??? Undefined function or variable 'legend_plot1_Overall'.

Error in ==> RAGui>save1_Overall_pushButton_Callback at 431
RASavePlot(handles.axes1_Overall, legend_plot1_Overall);

Error in ==> gui_mainfcn at 96
feval(varargin{:});

Error in ==> RAGui at 42
gui_mainfcn(gui_State, varargin{:});

Error in ==> @(hObject,eventdata)RAGui('save1_Overall_pushButton_Callback',hObject,eventdata,guidata(hObject))


??? Error using ==> axes
Error while evaluating uicontrol Callback
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 23.06.2010, 15:00     Titel:
  Antworten mit Zitat      
Hallo

sollte man handles.legend_plot1_Overall übergeben und nicht legend_plot1_Overall

Code:

RASavePlot(handles.axes1_Overall, handles.legend_plot1_Overall);
 
Private Nachricht senden Benutzer-Profile anzeigen
 
quant82
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 97
Anmeldedatum: 30.04.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2010, 15:03     Titel:
  Antworten mit Zitat      
jetzt bekomm ich folgenden fehler

Zitat:

??? Reference to non-existent field 'legend_plot1_Overall'.

Error in ==> RAGui>save1_Overall_pushButton_Callback at 375
RASavePlot(handles.axes1_Overall, handles.legend_plot1_Overall);

Error in ==> gui_mainfcn at 96
feval(varargin{:});

Error in ==> RAGui at 42
gui_mainfcn(gui_State, varargin{:});

Error in ==> @(hObject,eventdata)RAGui('save1_Overall_pushButton_Callback',hObject,eventdata,guidata(hObject))


??? Error using ==> axes
Error while evaluating uicontrol Callback

Private Nachricht senden Benutzer-Profile anzeigen
 
quant82
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 97
Anmeldedatum: 30.04.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2010, 15:23     Titel:
  Antworten mit Zitat      
hmm nachm neustart funktioniert es jetzt, also ich bekomme keinen fehler aber die grafik die gespeichert wird ist leer...

also die bmp ist komplett schwarz und die *.emf ist komplett weiss...

habt ihr dafür eine idee ?
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 23.06.2010, 15:59     Titel:
  Antworten mit Zitat      
Tja, mehr Info wäre schön, kannst du die Stelle posten, wo du abspeicherst.
Im Prinzip die Funktionen: RASavePlot und save1_Overall_pushButton_Callback(falls es nicht komplett war)
Private Nachricht senden Benutzer-Profile anzeigen
 
quant82
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 97
Anmeldedatum: 30.04.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2010, 16:03     Titel:
  Antworten mit Zitat      
ich hänge einfach mal beide funktionen an, ich denke es hilft sicher mehr weiter

RASavePlot.m
 Beschreibung:

Download
 Dateiname:  RASavePlot.m
 Dateigröße:  1.68 KB
 Heruntergeladen:  448 mal
RAGui.m
 Beschreibung:

Download
 Dateiname:  RAGui.m
 Dateigröße:  22.43 KB
 Heruntergeladen:  438 mal
RAGui.fig
 Beschreibung:

Download
 Dateiname:  RAGui.fig
 Dateigröße:  151.7 KB
 Heruntergeladen:  437 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
quant82
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 97
Anmeldedatum: 30.04.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2010, 08:00     Titel:
  Antworten mit Zitat      
wäre cool wenn sich einer der gui gurus das mal angucken könnte, ich hab irgendwie die befürchtung das die grafik objecte die ich in den handles übergebe leer sind...

EDIT

ich korrigiere, hab grad mal nachgeguckt mit keyboard Smile

Code:

get(handles.legend_plot1_Overall)
    ActivePositionProperty: 'position'
                      ALim: [0 1]
                  ALimMode: 'auto'
         AmbientLightColor: [1 1 1]
                       Box: 'on'
            CameraPosition: [0.5000 0.5000 17.3205]
        CameraPositionMode: 'auto'
              CameraTarget: [0.5000 0.5000 0]
          CameraTargetMode: 'auto'
            CameraUpVector: [0 1 0]
        CameraUpVectorMode: 'auto'
           CameraViewAngle: 6.6086
       CameraViewAngleMode: 'auto'
                      CLim: [0 1]
                  CLimMode: 'manual'
                     Color: [1 1 1]
              CurrentPoint: [2x3 double]
                ColorOrder: [7x3 double]
           DataAspectRatio: [1 1 2]
       DataAspectRatioMode: 'auto'
                  DrawMode: 'fast'
                 FontAngle: 'normal'
                  FontName: 'Helvetica'
                  FontSize: 10
                 FontUnits: 'points'
                FontWeight: 'normal'
             GridLineStyle: ':'
                     Layer: 'bottom'
            LineStyleOrder: '-'
                 LineWidth: 0.5000
        MinorGridLineStyle: ':'
                  NextPlot: 'add'
             OuterPosition: [0.4177 0.9283 0.0739 0.0288]
        PlotBoxAspectRatio: [1 1 1]
    PlotBoxAspectRatioMode: 'auto'
                Projection: 'orthographic'
                  Position: [0.4210 0.9306 0.0689 0.0265]
                TickLength: [0.0100 0.0250]
                   TickDir: 'in'
               TickDirMode: 'auto'
                TightInset: [0.0033 0.0023 0.0017 0]
                     Title: 67.0023
                     Units: 'normalized'
                      View: [0 90]
                    XColor: [0 0 0]
                      XDir: 'normal'
                     XGrid: 'off'
                    XLabel: 68.0023
             XAxisLocation: 'bottom'
                      XLim: [0 1]
                  XLimMode: 'manual'
                XMinorGrid: 'off'
                XMinorTick: 'off'
                    XScale: 'linear'
                     XTick: -1
                XTickLabel: ''
            XTickLabelMode: 'manual'
                 XTickMode: 'manual'
                    YColor: [0 0 0]
                      YDir: 'normal'
                     YGrid: 'off'
                    YLabel: 69.0023
             YAxisLocation: 'left'
                      YLim: [0 1]
                  YLimMode: 'manual'
                YMinorGrid: 'off'
                YMinorTick: 'off'
                    YScale: 'linear'
                     YTick: -1
                YTickLabel: ''
            YTickLabelMode: 'manual'
                 YTickMode: 'manual'
                    ZColor: [0 0 0]
                      ZDir: 'normal'
                     ZGrid: 'off'
                    ZLabel: 70.0023
                      ZLim: [-1 1]
                  ZLimMode: 'auto'
                ZMinorGrid: 'off'
                ZMinorTick: 'off'
                    ZScale: 'linear'
                     ZTick: [-1 0 1]
                ZTickLabel: ''
            ZTickLabelMode: 'auto'
                 ZTickMode: 'auto'
              BeingDeleted: 'off'
             ButtonDownFcn: {2x1 cell}
                  Clipping: 'on'
                 CreateFcn: []
                 DeleteFcn: []
                BusyAction: 'queue'
          HandleVisibility: 'on'
                   HitTest: 'on'
             Interruptible: 'off'
                  Selected: 'off'
        SelectionHighlight: 'on'
                       Tag: 'legend'
                      Type: 'axes'
             UIContextMenu: 28.0023
                  UserData: [1x1 struct]
                  Children: [3x1 double]
                    Parent: 2.0023
                   Visible: 'on'
                  Location: 'NorthEast'
               Orientation: 'vertical'
                 EdgeColor: [0 0 0]
                 TextColor: [0 0 0]
               Interpreter: 'tex'
                    String: {'data'}
 




Code:


K>> get(handles.axes1_Overall)
   ActivePositionProperty = position
   ALim = [0 1]
   ALimMode = auto
   AmbientLightColor = [1 1 1]
   Box = on
   CameraPosition = [5 50 17.3205]
   CameraPositionMode = auto
   CameraTarget = [5 50 0]
   CameraTargetMode = auto
   CameraUpVector = [0 1 0]
   CameraUpVectorMode = auto
   CameraViewAngle = [6.60861]
   CameraViewAngleMode = auto
   CLim = [0 1]
   CLimMode = auto
   Color = [1 1 1]
   CurrentPoint = [ (2 by 3) double array]
   ColorOrder = [ (7 by 3) double array]
   DataAspectRatio = [5 50 1]
   DataAspectRatioMode = auto
   DrawMode = normal
   FontAngle = normal
   FontName = Helvetica
   FontSize = [10]
   FontUnits = points
   FontWeight = normal
   GridLineStyle = :
   Layer = bottom
   LineStyleOrder = -
   LineWidth = [0.5]
   MinorGridLineStyle = :
   NextPlot = replace
   OuterPosition = [-0.0545218 0.502883 0.606701 0.499886]
   PlotBoxAspectRatio = [1 1 1]
   PlotBoxAspectRatioMode = auto
   Projection = orthographic
   Position = [0.0243493 0.55787 0.470193 0.407407]
   TickLength = [0.01 0.025]
   TickDir = in
   TickDirMode = auto
   TightInset = [0.0207814 0.0193402 0.00665004 0.0295791]
   Title = [5.00244]
   Units = normalized
   View = [0 90]
   XColor = [0 0 0]
   XDir = normal
   XGrid = off
   XLabel = [6.00244]
   XAxisLocation = bottom
   XLim = [0 10]
   XLimMode = auto
   XMinorGrid = off
   XMinorTick = off
   XScale = linear
   XTick = [ (1 by 11) double array]
   XTickLabel = [ (11 by 2) char array]
   XTickLabelMode = auto
   XTickMode = auto
   YColor = [0 0 0]
   YDir = normal
   YGrid = off
   YLabel = [7.00244]
   YAxisLocation = left
   YLim = [0 100]
   YLimMode = auto
   YMinorGrid = off
   YMinorTick = off
   YScale = linear
   YTick = [ (1 by 11) double array]
   YTickLabel = [ (11 by 3) char array]
   YTickLabelMode = auto
   YTickMode = auto
   ZColor = [0 0 0]
   ZDir = normal
   ZGrid = off
   ZLabel = [21.0023]
   ZLim = [-1 1]
   ZLimMode = auto
   ZMinorGrid = off
   ZMinorTick = off
   ZScale = linear
   ZTick = [-1 0 1]
   ZTickLabel =
   ZTickLabelMode = auto
   ZTickMode = auto

   BeingDeleted = off
   ButtonDownFcn =
   Children = [4.00293]
   Clipping = on
   CreateFcn =
   DeleteFcn =
   BusyAction = queue
   HandleVisibility = on
   HitTest = on
   Interruptible = on
   Parent = [2.00232]
   Selected = off
   SelectionHighlight = on
   Tag =
   Type = axes
   UIContextMenu = []
   UserData = []
   Visible = on
 


also stimmt vlt was nicht mit der RASavePlot ?
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 24.06.2010, 09:34     Titel:
  Antworten mit Zitat      
Hallo
das sind viele Tabs, etwas fehlt damit ich es starten kann.

Also ich bin auf Tab->Overall gegangen und dort das Speichern von oberen Axes versucht.
Es kommt zum Fehler, da bei mir wohl LegendObject korruptes handle hat.

Jedenfalls sind folgende Fehler, die du verbessern muss:
in Zeile 34,48 und 54 in RASavePlot immer der gleiche Fehler
lies Kommentare, hier muss du alleine verbessern, am besten mit Debugger durchgehen.
Code:

% axis_units ist normalized
% das bedeutet dass die Werte sind zw 0 und 1
set(axesObject2,'Units',axes_units);

% in Zeile 34 übergibst du schon die Werte 15 und 5  
% also rutscht dein Axes ins ungewisse,
% deshalb leere Graphik
set(axesObject2,'Position',[15 5 axes_pos(3) axes_pos(4)]);
 


in Zeile 37 frage noch ab, ob das handle existiert
Code:

if  exist('legendObject','var')&& ishandle(legendObject)
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
quant82
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 97
Anmeldedatum: 30.04.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2010, 09:44     Titel:
  Antworten mit Zitat      
ok ich hab mal die beiden zeilen auskommentiert, jetzt funktioniert zumindest der save... nur ist die grafik jetzt in der figure nur oben links... gibts da ne möglichkeit die auf die ganze fläche zu strecken ?
Private Nachricht senden Benutzer-Profile anzeigen
 
quant82
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 97
Anmeldedatum: 30.04.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2010, 10:27     Titel:
  Antworten mit Zitat      
ok hat sich erledigt danke für die hilfe
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 24.06.2010, 10:31     Titel:
  Antworten mit Zitat      
meinst so:

Code:

set(axesObject2,'Position',[ 0.05 0.05 0.90 0.90]);
 


oder so?
Code:

set(axesObject2,'Position',[ 0 0 1 1]);
 
Private Nachricht senden Benutzer-Profile anzeigen
 
quant82
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 97
Anmeldedatum: 30.04.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2010, 10:42     Titel:
  Antworten mit Zitat      
joa ich wähle die erste position absolut und die anderen dann relativ

Code:

set(legendObject2,'Position',[0.11 0.85 legend_pos(3) legend_pos(4)]);
 
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.