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

Grafikeigenschaften nach Grafik editor übernehmen

 

PHEV
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 10.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.10.2015, 13:51     Titel: Grafikeigenschaften nach Grafik editor übernehmen
  Antworten mit Zitat      
Hallo,

mein Problem besteht oft in der Feinanpasssung von Grafiken. So dauert es ungemein lang diese wirklich so hinzubekommen, wie ich sie letztendlich haben möchte, wenn ich dies per Code generiere.

Mit dem Grafik editor geht dies recht fix, allerdings dann eben jedes mal neu und nicht immer identisch.

Man kann ja den Code generieren nachdem man eine Grafik / Figure editiert hat.

Kann ich hierraus irgendwie die Eigenschaften übernehmen?

Andere Tipps?
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: 04.10.2015, 16:10     Titel: Re: Grafikeigenschaften nach Grafik editor übernehmen
  Antworten mit Zitat      
Hallo PHEV,

Zitat:
Kann ich hierraus irgendwie die Eigenschaften übernehmen?

Diese Frage ist noch nicht klar. Welche Eigenschaften möchtest Du woraus übernehmen?
Welche Matlab-Version verwendest Du?
Hast Du Dich schon mal in Matlab's FileExchange umgesehen? Dort gibt es einige Funktionen, um Grafiken für Publikationen aufzuhübschen.

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 10.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.10.2015, 13:33     Titel:
  Antworten mit Zitat      
Hallo Jan,

meine Version ist R2013a

Angenommen ich erstelle eine Grafik. Diese sieht dann zu 95% so aus wie ich es möchte. Nun ändere ich im Grafikeditor manuell noch die Position oder Größe oder sonstiges. Dies würde ich gerne so speichern, dass jedes mal wenn das Programm plottet, die Grafik genau so ausgegeben wird. Oder ich zumindest die Koordinaten auslesen kann, damit ich nicht Jahre rumprobieren muss.

Wo finde ich diese File Exchange? Meinst du die Skripte Ecke?
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 06.10.2015, 13:38     Titel:
  Antworten mit Zitat      
Zitat:
Wo finde ich diese File Exchange?
http://lmgtfy.com/?q=matlab+file+exchange
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
PHEV
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 10.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.10.2015, 13:50     Titel:
  Antworten mit Zitat      
Winkow hat Folgendes geschrieben:
Zitat:
Wo finde ich diese File Exchange?
http://lmgtfy.com/?q=matlab+file+exchange


Ist exakt nicht das was ich suche und oder nach dem ich gefragt habe, aber danke dass du mir google gezeigt hast.
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: 06.10.2015, 15:01     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Nun ändere ich im Grafikeditor manuell noch die Position oder Größe oder sonstiges. Dies würde ich gerne so speichern, dass jedes mal wenn das Programm plottet, die Grafik genau so ausgegeben wird. Oder ich zumindest die Koordinaten auslesen kann, damit ich nicht Jahre rumprobieren muss.

In Figures gibt es File --> Generate Code.
In den Plot Tools, mit inspect oder mit get kann man einzelne Graphik-Elemente ansprechen und deren Eigenschaften sehen.

Zitat:
Ist exakt nicht das was ich suche und oder nach dem ich gefragt habe

Du hast gefragt, was File Exchange ist (14:33). Wenn du danach googelst, ist es der erste Treffer.

Grüße,
Harald
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: 07.10.2015, 12:25     Titel:
  Antworten mit Zitat      
Hallo PHEV,

Bevor es hier Missverständnisse gibt: Du kannst "FileExchange" sehr einfach mit einer Internetsuchmaschine finden, zur Not hilft das zusätzliche Stichwort "Matlab". Es passiert im Forum sehr häufig, dass Leute nach Dingen fragen, die man in Sekundenbruchteilen findet, wenn man nur auf die Idee kommt selbst danach zu suchen. Das ist nichts ungewöhnliches: Man hat das Problem selbst zum allerersten mal und denkt genau deswegen nicht daran, dass Millionen andere Leute das Problem schon viel früher hatten und es längst gelöst worden ist. Genau für diese Fälle ist LMGTFY da. Und wenn Du daran denkst, dass Moderatoren den Tipp doch einfach mal selbst zu suchen, über Jahre hinweg fast jeden Tag geben, wird es vielleicht klar, dass dies als augenzwinkernder Hinweis gedacht ist.

Viele Grüße, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
PHEV
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 10.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.10.2015, 15:07     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke für deine Antwort. Wie ich bereits geschrieben habe, sind mir diese funktionen bekannt. Ich weiß aber nicht, wie ich dass dann einfach als automatisierten Code übernehmen kann. Sprich wie ich den generierten Code benutze. In diesem Code finde ich leider nichts über koordinaten etc.


Beispiel:

Code:
function createaxes(Parent1, X1, Y1, X2, Y2, X3, Y3, X4, Y4)
%CREATEAXES(PARENT1, X1, Y1, X2, Y2, X3, Y3, X4, Y4)
%  PARENT1:  axes parent
%  X1:  vector of x data
%  Y1:  vector of y data
%  X2:  vector of x data
%  Y2:  vector of y data
%  X3:  vector of x data
%  Y3:  vector of y data
%  X4:  vector of x data
%  Y4:  vector of y data

%  Auto-generated by MATLAB on 07-Oct-2015 15:50:03

% Create axes
axes1 = axes('Parent',Parent1,...
    'Position',[0.0348958333333333 0.0681293302540416 0.941666666666667 0.890300230946882]);
%% Uncomment the following line to preserve the X-limits of the axes
% xlim(axes1,[0 55]);
%% Uncomment the following line to preserve the Y-limits of the axes
% ylim(axes1,[0 1.03]);
box(axes1,'on');
grid(axes1,'on');
hold(axes1,'all');

% Create plot
plot(X1,Y1,'LineWidth',2,'Color',[0 0 1]);

% Create title
title('Performance curve');

% Create xlabel
xlabel('time [s]');

% Create ylabel
ylabel('pressure [bar]');

% Create plot
plot(X2,Y2,'MarkerSize',15,'Marker','.','LineStyle','none','Color',[1 0 0]);

% Create plot
plot(X3,Y3,'MarkerSize',15,'Marker','.','LineStyle','none','Color',[1 0 0]);

% Create plot
plot(X4,Y4,'MarkerSize',15,'Marker','.','LineStyle','none','Color',[1 0 0]);

 



Hier habe ich die Position etc so angepasst, dass es für einen eps export perfect ist.
Mit den Grundeinstellungen bekomme ich das auch nach Tagen nicht hin. Auch nicht mit der Hilfe hier im Forum.

Also Haudi!

[EDITED, Off-topic entfernt]
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: 07.10.2015, 15:35     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
In diesem Code finde ich leider nichts über koordinaten etc.

Welche Koordinaten genau, bzw. die Koordinaten von was?

Die Position des Koordinatensystems wird hier gesetzt:
Code:
% Create axes
axes1 = axes('Parent',Parent1,...
    'Position',[0.0348958333333333 0.0681293302540416 0.941666666666667 0.890300230946882]);


Diesen Befehl könntest du also genau so in deinen Code übernehmen, um immer ein Koordinatensystem an dieser Stelle zu bekommen.

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 10.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.10.2015, 16:00     Titel:
  Antworten mit Zitat      
Wie genau übernehme ich das?

Wenn ich den Code in meine Figure umgebung kopiere funktiniert nichts.

Was ich möchte ist:

Ich plotte eine Grafik mit zich voreinstellungen. Dann sieht sie aber immer noch nicht so aus wie ich sie haben möchte um sie zu exportieren.

Also editiere ich diese so dass sie passt.

Das möchte ich dann automatisch ausgeben.

Ich bin auch weniger an dem Interessiert wie es auf dem Bildschirm aussieht, als wie es als PDF aussieht.

Der PDF export bspw. klappt auch kaum. Ich plotte eine Figure mit einer Tabelle. Die Figure ist scharf, die Tabelle total verpixelt dargestellt. Mit eps export und dann das eps in pdf umwandeln, was super umständlich ist, gehts.

Mit dem Befehl sieht es einfach nur schlecht und unscharf aus:

Code:
print(f,'-dpdf','-r1200','Dateiname.pdf');  


Ich möchte die Abbildung einfach als PDF im vektor format bzw. möglichst hoch aufgelöst bei kleiner größe. Dabei soll die Abbilung einfach das gesamte PDF dokument ohne ränder einnehmen. Ich erreiche dies, in dem ich im Grafik editor manuell die Ränder der Grafik an den Bildschirm rand ziehe. Aber automatisiert bekomme ich dies nicht hin.

Insbesondere, wie ich es schon mehrfach in einem anderen Thread erwähnt habe, bereitet mir die zweite Abbildung in der Abbilung, genauer die Tabelle, probleme. Diese kann ich zwar schön nach dem Plot noch verschieben ect. ich hätte es aber lieber als ein Bild, was durch das plotten zusammen gehört.


Ich habe mir das paket getPlotPosition runtergeladen. http://www.mathworks.com/matlabcent.....nge/21351-getplotposition


Leider sagt es mir

"Error: Function definitions are not permitted in this context."

wenn ich es ausführe. Ich habe auch keine Ahnung ob ich erst die Abbildung öffnen muss, dann die Funktion ausführe, oder umgekehrt. Beides funktioniert nicht.


Hier mein Plot:

Code:
CURVE=xtVacuumSupplyPressure2HSBa(Start_time: length(xtVacuumSupplyPressure2HSBa)) ;
 T=Offset(1: length(CURVE))  ;  %generates time vektor in seconds with the length of the measured value


 
 
 plot(T,CURVE,'b','LineWidth',2)
 title('Performance curve'); % creates a title above the plot
 axis([0 55 0.0 1.030]); % the function axis([x1 x2 y1 y2]) scales the axis between the sections x1-x2 and y1-y2
 xlabel('time [s]'); % labels the x- axis
 ylabel('pressure [bar]'); % labels the y-axis
 Create axes
 hold on;
 grid % generates a grid on the plot
 
 plot(t_500mbar,p_500mbar,'r.','MarkerSize',15); % creates a bullet point
 plot(t_700mbar,p_700mbar,'r.','MarkerSize',15); % creates a bullet point
 plot(t_900mbar,p_900mbar,'r.','MarkerSize',15); % creates a bullet point
 
 
 f = figure(1);
set(f,'Units', 'normalized', 'outerposition',[0 0 1 1]);
dat =  {'        Time 1 to -500mBar', 6.0 , num2str(xtTime_2_Referenz_point_500mbar), '        [s]';...
        '        Time 2 to -700mBar',  13.0 , num2str(xtTime_2_Referenz_point_700mbar), '        [s]';...
        '        Time 3 to -900mbar', 55.0 , num2str(xtTime_2_Referenz_point_900mbar), '        [s]';...
        '        Total vacuum after 55s', -930, num2str(TotalVacuum_after_55seconds), '        [mbar]';...
        '        Barometric Pressure', 1000, num2str(BarometricPressure), '        [mbar]';...
        '        Oil Temperature', 100.00 , num2str(Temp_Oil), '        []'};
columnname =   {'Parameter', 'Value should', 'Value is','Units'};
columnformat = {'char','char', 'numeric', 'char'};
t = uitable('Units','normalized','Position',...
            [0.7 0.7 0.25 0.16], 'Data', dat,...
            'ColumnName', columnname,...
            'ColumnFormat', columnformat,...
            'RowName',[]);
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: 07.10.2015, 16:26     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Ich plotte eine Grafik mit zich voreinstellungen. Dann sieht sie aber immer noch nicht so aus wie ich sie haben möchte um sie zu exportieren.
Also editiere ich diese so dass sie passt.

Auf die Gefahr, dass es nervt: bitte so genau wie möglich sagen, was nicht passt und wie es passend gemacht wird.

Zitat:
Der PDF export bspw. klappt auch kaum. Ich plotte eine Figure mit einer Tabelle. Die Figure ist scharf, die Tabelle total verpixelt dargestellt.

Hier hilft häufig das:
http://www.mathworks.com/matlabcent.....exchange/23629-export-fig

Zitat:
Mit eps export und dann das eps in pdf umwandeln, was super umständlich ist, gehts.

Wenn du sagen kannst, wie du das genau machst, kann man dir vielleicht dabei helfen, das zu automatisieren.

Zitat:
Ich erreiche dies, in dem ich im Grafik editor manuell die Ränder der Grafik an den Bildschirm rand ziehe. Aber automatisiert bekomme ich dies nicht hin.

Das sollte gehen mit
Code:
figure('units', 'normalized', 'Position', [0 0 1 1])


Zitat:
"Error: Function definitions are not permitted in this context."

Das könnte darauf hindeuten, dass du die Funktion unten an ein bestehendes Skript hinkopiert hast. Eine Funktion sollte aber in einer eigenen Datei bzw. einem eigenen Editor-Fenster stehen.

Ich hoffe, damit ist ein wenig geholfen.

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 10.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.10.2015, 18:15     Titel:
  Antworten mit Zitat      
Danke für die Hilfe!!!!

[EDITED, Jan, bitte keine kompletten Nachrichten quoten, Danke]
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: 07.10.2015, 19:01     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Ich hätte gerne dass es einfach ein Bild ist. Ohne nachträgliche anpassmöglichkeit.

Also einen Screenshot? Wie wäre es hiermit?
http://www.mathworks.com/matlabcent.....figure-frame-or-component

Zitat:
Ich öffne das ganze in Latex mit der Konsole und tippe ein "epstopdf filename.pdf"

Ist mir nicht ganz klar. Falls es eine Betriebssystemkonsole ist, kannst du das auch mit
Code:
!epstopdf filename.pdf

von MATLAB aus ausführen.

Zitat:
Bereits probiert. Führt nicht zum Ergebnis! ( Ist ca 70% nicht 100%)

Merkwürdig. Ich habe in den letzten 15 Jahren MATLAB auf vielen Rechnern und mit vielen Bildschirmen erlebt, und das noch nie.

Zitat:
Nein ist in einer eigenständigen Datei ohne anderen code.

Dann habe ich keine Erklärung dafür. Ich hatte bei der Anwendung der Funktion keine Probleme.

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 10.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.10.2015, 13:45     Titel:
  Antworten mit Zitat      
Ich denke ich habe noch ein verständnis problem zwischen Ansicht im Browser fenster und datei export als pdf etc. Ich weiß das es unterschiedlich ist, aber nicht wie ich es handhaben muss. Mir ist nur der PDF export wichtig und das Browerfenster ist nice to have, bzw soll grob stimmen.

Ich habe mal screen shot angefügt die beschreiben wie es wann aussieht.

Danke für die Hilfe!

[EDITED, Jan, Bitte keine kompletten Nachrichten quoten, Danke]

direkt eps 2 pdf aus m-file.JPG
 Beschreibung:
So sieht es aus wenn ich direkt aus dem m-file ohne manuelles zutun plotte

Download
 Dateiname:  direkt eps 2 pdf aus m-file.JPG
 Dateigröße:  132.36 KB
 Heruntergeladen:  274 mal
soll.JPG
 Beschreibung:
so soll es im browser fenster aussehen. Wenn ich dann manuell plotte sieht es im pdf normal genauso aus. Allerdings sind dann die Linien dünner.

Download
 Dateiname:  soll.JPG
 Dateigröße:  208.35 KB
 Heruntergeladen:  256 mal
orginal.JPG
 Beschreibung:
das ist die orginal ansicht der browser fensters wenn ich den code ausführe und sich die figure öffnet

Download
 Dateiname:  orginal.JPG
 Dateigröße:  185.66 KB
 Heruntergeladen:  277 mal
Ausgabe eps 2 pdf aus Grafikeditor manuell.JPG
 Beschreibung:
So sieht es aus wenn ich erst plotte, dann im browser nichts ändere und nur manuell als eps speicher

Download
 Dateiname:  Ausgabe eps 2 pdf aus Grafikeditor manuell.JPG
 Dateigröße:  128.62 KB
 Heruntergeladen:  272 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: 08.10.2015, 14:22     Titel:
  Antworten mit Zitat      
Hallo PHEV

Zitat:
Ich denke ich habe noch ein verständnis problem zwischen Ansicht im Browser fenster und datei export als pdf etc.

Was meinst Du mit "Browserfenster"? Bitte stelle eine konkrete Frage zu Deinem Verständnis-Problem, denn dann kann man dies effizienter beantworten.

Gruß, Jan
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 - 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.