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 mit subplot und export_fig

 

Pittus
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 08.05.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.06.2019, 09:31     Titel: Problem mit subplot und export_fig
  Antworten mit Zitat      
Schönen guten Morgen zusammen,

ich habe ein Problem beim Export von pdf-Dateien mit der Kombination von subplot und export_fig.

Und zwar:
    - Exportiere ich eine normale Figure (kein Subplot) in eine pdf-Datei, funktioniert alles (Anhang 1)

    - Exportiere ich eine Figure mit mehreren Subplots in eine png-Datei, funktioniert auch alles (Anhang 2)

    - Möchte ich jetzt aber die Grafik aus Anhang 2 als pdf exportieren, verschieben sich die einzelnen plots innerhalb des Fensters (Anhang 3)


Meine Programmzeilen zum exportieren der Grafiken:
Code:

if diagrammeSpeichern == 1
    nameDiag = 'Anhang_3.pdf';
    export_fig(nameDiag,'-q101','-cmyk');    
end
 


Kennt jemand das Problem oder kann mir jemand dabei helfen, den Fehler zu finden?

Sollte der Code zum Aufbau des Plots benötigt werden, kann ich den natürlich noch beisteuern.

Liebe Grüße und schon mal vorab vielen dank

Anhang_3.pdf
 Beschreibung:

Download
 Dateiname:  Anhang_3.pdf
 Dateigröße:  329.57 KB
 Heruntergeladen:  283 mal
Anhang_2.png
 Beschreibung:

Download
 Dateiname:  Anhang_2.png
 Dateigröße:  93.71 KB
 Heruntergeladen:  273 mal
Anhang_1.pdf
 Beschreibung:

Download
 Dateiname:  Anhang_1.pdf
 Dateigröße:  103.82 KB
 Heruntergeladen:  262 mal
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 18.06.2019, 17:32     Titel: Re: Problem mit subplot und export_fig
  Antworten mit Zitat      
Hallo Pittus,

Ich kann nur den 2. Anhang öffnen. Bei den beiden anderen passiert beim Draufklicken nichts.

Zitat:
Möchte ich jetzt aber die Grafik aus Anhang 2 als pdf exportieren, verschieben sich die einzelnen plots innerhalb des Fensters (Anhang 3)

Das ist mir nicht ganz klar. Welches ist "Die Grafik aus Anhang 2"? Anhang 2 ist ein PDF-File. Möchtest du die Daten aus einem PDF-File exportieren?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Pittus
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 08.05.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.06.2019, 19:38     Titel:
  Antworten mit Zitat      
Guten Abend Jan,

vielen Dank für deine Antwort.

Ich habe es jetzt auf 4 unterschiedlichen Geräte versucht, ich kann alle drei Anhänge problemlos öffnen..

Das Ziel ist der Export der Grafik bzw. des Plots an sich.

Anhang 2 und 3 sollen theoretisch identisch sein, das eine als pdf und das andere als png. Jedoch verschieben sich die einzelnen Plots innerhalb des pdf-Anhangs (Anhang 3) ohne mir ersichtlichen Grund..

Ich hoffe, dass es jetzt klarer ist.

Liebe Grüße und einen schönen Abend
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 19.06.2019, 11:45     Titel:
  Antworten mit Zitat      
Hallo Pittus,

Ich kann die PDFs nun downloaden und dann lokal öffnen.

Zitat:
Das Ziel ist der Export der Grafik bzw. des Plots an sich.

Was genau ist "ein Plot an sich"? Ich sehe 12 axes-Objekte, die jeweils eine blaue und eine rote Linie enthalten.

Zitat:
Jedoch verschieben sich die einzelnen Plots innerhalb des pdf-Anhangs (Anhang 3)

Wenn ich das PDF öffne, sind die 3 oberen axes fast richtig positioniert. Die 9 unteren sind nach links oben verschoben. Der Titel sitzt zu weit oben. Die rote Linie des rechten oberen axes Objekts ist nach links oben verschoben, die blaue Linie fehlt.
Sieht das bei dir auch so aus?

Wie wurden die einzelnen AXES Objekte erzeugt? Es sieht so aus, als wären die Units durcheinander. Was geschieht, wenn man die Größe der Figure ändert?

Gruß, Jan

Capture-1.png
 Beschreibung:

Download
 Dateiname:  Capture-1.png
 Dateigröße:  57.54 KB
 Heruntergeladen:  275 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Pittus
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 08.05.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.06.2019, 12:32     Titel:
  Antworten mit Zitat      
Hallo Jan,

Alle 12 Objekte zusammen meine ich mit "Plot an sich".

Jep, sieht bei mir genauso aus. Rein theoretisch sollten Anhang2 und Anhang3 identisch sein, vom Dateiformat mal abgesehen.

Die Größenveränderung der Figrues hat keinen Einfluss auf das Ergebnis.

Hier mal der Programmcode zum erstellen der Grafik:
Code:

spalten = rawData.Properties.VariableUnits == "[µm/m]";
anzahlDiag = nnz(spalten);
if anzahlDiag == 2 || anzahlDiag == 3
    diagHor = anzahlDiag;
    diagVert = 1;
else
    diagHor = ceil(anzahlDiag / 3);
    diagVert = ceil(anzahlDiag / diagHor);
end

figure('units','normalized','outerposition',[0 0 1 1],'Color','w');
clear title xlabel ylabel;
nameDiag = '6_DMS_mit_sprung.png';

diag = 1;
for i = 1:length(spalten)
    subplot(diagHor,diagVert,diag)
    hold all; grid on;
    if spalten(i) == 1
        yyaxis left;
        plot(rawData.t,rawData.(i),'LineWidth',lSzDiag);
        plot(smoothData.t,smoothData.(i),'LineWidth',lSzDiag,'Color','m');
        legend('raw','smooth','Location','NorthWest');
        ylabel('Dehnung [\mum/m]');
        set(gca,'YColor','k','YGrid','on');
           
        yyaxis right;
        plot(rawData.t,rawData.Sprung,'Color','r','LineWidth',lSzDiag,'HandleVisibility','off');
        plot(rawData.t(sprungX),sprungY,'*','Color','r','MarkerSize',10,'HandleVisibility','off');
        ylabel('Sprung','Color','r');
        set(gca,'YColor','k','YTickLabel',[],'YTick',[]);
           
        title(rawData.Properties.VariableNames(i));
        xlabel('time [s]') ;
       
        if diag < anzahlDiag
            diag = diag + 1;
        end
       
        hold off;
    end
end
   
sgtitle('DMS-Sensoren','FontSize',ftSzHead);

% Diagramm exportieren
if diagrammeSpeichern == 1
    export_fig(fullfile(latex_abb_path,[savename,'_',nameDiag]),'-q101','-cmyk');    
end
 


Liebe Grüße und vielen Dank für deine Mühe!
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.05.2020, 17:53     Titel:
  Antworten mit Zitat      
Hallo,

mit R2020a gibt es auch eine neue Funktion innerhalb von MATLAB, die da helfen kann:
exportgraphics
Falls es da auch Probleme gibt, mal Kontakt mit dem Technischen Support aufnehmen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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 - 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.