Jak widać na załączonym zrzucie ekranu, wyjście EPS programu matlab powoduje cięcie etykiety po prawej stronie osi Y.Matlab odcięcie przy użyciu funkcji plotyy
Używam funkcji plotyy i drukowania do eps z: print (f1, '- depsc2', 'figure1.eps');
Próbowałem zmienić właściwość paperposition, a także właściwość paperize, i te wydają się nadal skalować z innymi przy każdej regulacji, a zatem nigdy nie mogę zwiększyć rozmiaru papieru po prawej stronie.
Ustawiłem tryb PaperPosition na ręczny.
Czy ktoś ma jakieś pomysły?
Utworzono przykładowy kod, który jest samowystarczalny i replikuje problem. Problem jest tworzony podczas zwiększania rozmiaru znaczników i czcionek. Jest to jednak niezbędne w mojej sytuacji.
close all;
% example data:
x = 0:0.01:4;
y1 = 5*sin(2*pi*x+0.1) + 20;
y2 = 0.09*sin(2*pi*x);
tickfontsize = 18;
labelfontsize = 20;
% begin figure:
f1 = figure(1);
[ax, h1, h2 ] = plotyy(x,y1,x,y2)
% axis labels and font size:
set(get(ax(2),'Ylabel'),'String','Test1') ;
set(get(ax(1),'Ylabel'),'String','test2') ;
set(get(ax(1),'Ylabel'),'FontSize',labelfontsize) ;
set(get(ax(2),'Ylabel'),'FontSize',labelfontsize) ;
% left hand side ticks:
set(ax(1),'YLim',[6 10]);
set(ax(1),'YTick',[6:1:10]);
set(ax(1),'FontSize',tickfontsize);
% right hand side ticks:
set(ax(2),'YLim',[-0.13 0.14]);
set(ax(2),'YTick',[-0.1:0.05:0.1]);
set(ax(2),'FontSize',tickfontsize);
%print figure to eps:
print(f1,'-depsc2', './simpleoutput.eps');
Czy możesz podać minimalny przykład pracy, który odradza Twój problem? Z szybkim i brudnym 'plotyy' i twoim' print'-command nie mogłem dostać odciętej etykiety. – Schorsch
@Schorsch Dzięki za komentarz, dodałem kod, który powie ci problem. – CptLightning
Ktoś zadał podobne pytanie w Mathworks Newsgroup trzy lata temu: [link] (http://www.mathworks.com/matlabcentral/newsreader/view_thread/286282). Wydaje się, że nie było łatwego automatycznego rozwiązania tego problemu i musisz to zrobić tak, jak w odpowiedzi Luisa. – Roun