2015-04-19 2 views
2

Есть много аналогичных вопросов по этому вопросу, и в прошлом они помогли мне получить то, что я хочу, однако, похоже, что переход на переход к Matlab 2015 не работает одинаково.Калибровка печатается Matlab Рисунок

Я хочу экспортировать цифры из Matlab как .eps размером 4 x 3 дюйма, чтобы они соответствовали тому, что я делаю на латексе. Несмотря на то, что .eps является векторным форматом и будет масштабироваться, я хочу убедиться, что размеры шрифта на рисунках верны, поэтому важно, чтобы размер был установлен правильно. Обычный совет установить свойство фигуры, как так:

set(gcf, 'PaperUnits', 'inches', 'PaperPosition', [0 0 4 3], 'PaperPositionMode', 'auto'); 

Делать это не ставит свои .eps 4 х 3 дюйма, он, кажется, масштаб страницы на рисунок, а не фигуру на страницу. Если вместо этого я не устанавливаю PaperPositionMode как автоматический, страница делает экспорт на 4 x 3 дюйма, однако эта цифра слишком велика и обрезана. Независимо от того, что PaperPosition (размер) я укажу, сама фигура не масштабируется на странице.

Почему PaperPositionMode 'auto' игнорирует мой указанный размер бумаги? Как указать размер фигуры, а не размер бумаги?

Использование Matlab R2015a в Arch Linux. Ниже приведен код, который я использую.

FNO = load('data/forced_no_oil'); % forced no oil 
FWO = load('data/forced_with_oil'); % forced with oi 

fig1 = figure; 
plFNO = plot(FNO(:,1),FNO(:,2),'x'); 
hold on 
plFWO = plot(FWO(:,1),FWO(:,2),'x'); 

xl1 = xlabel('Frequency (Hz)'); 
yl1 = ylabel('Displacement Amplitude'); 
legend('Forced Without Oil','Forced With Oil') 

set(fig1, 'PaperUnits', 'inches', 'PaperPosition', [0 0 8 6], 'PaperPositionMode', 'auto'); 
print('-depsc','../latex/images/frequencyDisplacement.pdf') 
+0

Вы могли бы попробовать создать PDF вместо EPS? это упоминается [здесь] (http://www.mathworks.com/matlabcentral/answers/161448-r2014b-problem-exporting-eps). –

+0

Chaning -depsc to -dpdf, файл создается размером A4, который я предполагаю по умолчанию. PaperPositionMode автоматически центрирует фигуру, тогда как руководство поставляет ее произвольно. Эта цифра снова не масштабируется на странице. Я обновляю OP кодом, который я использую. –

ответ

1

См. Следующую ссылку. Это может быть связано с вашими проблемами.

http://www.mathworks.com/matlabcentral/answers/162283-why-is-the-figure-in-my-eps-file-generated-using-matlab-r2014b-in-the-wrong-position-and-with-extra

Я думаю, что это нужно добавить {f1.PaperPositionMode = "Auto"} для примера программы.

+0

Пожалуйста, укажите более подробную информацию, а не только ссылку. – abarisone

Смежные вопросы