2014-10-02 2 views
0

Я использовал большинство используемых обычно опций (print (figr, '-depsc', 'cross_corr.eps');), чтобы сохранить фигуру в формате MATLAB как eps/pdf, но каждый раз, когда я это делаю, содержимое фигуры частично сохраняется, и, возможно, одна четверть его теряется. я разделил фигуру здесь: http://ge.tt/2ZrsdD02/v/0?cСодержание фигуры Matlab потеряно при сохранении в виде eps/pdf

Используя параметры, такие как следующие сохранить его полностью, но я предпочитаю его сохранить его непосредственно Инти EPS/PDF:

print(figr, '-dpng', 'cross_corr.png'); 
+0

Что именно теряется? Я не могу воспроизвести. Во всяком случае, несколько вещей, которые вы могли бы попробовать: 'set (gcf, 'PaperPositionMode', 'auto')' перед печатью. В обмене файлами matlab есть функция, называемая 'export_fig', с которой мне повезло с точки зрения сохранения содержимого фигуры, вы также можете найти ее полезной. – KevinMc

+0

К сожалению, это не помогло. Загляните в мой «ответ», чтобы узнать, что именно потеряно. – Martin

ответ

1

Проблема, кажется, что у вас есть очень малые значения в свойстве 'PaperPosition' фигуры. Попробуйте изменить их к умолчанию,

set(figr, 'PaperPosition', [0.634517 6.34517 20.3046 15.2284]) 

, а затем применить print(figr, '-depsc', 'cross_corr.eps').

прилагает результаты на моем компьютере без и с 'PaperPosition' коррекции (с использованием GSview с ограничивающим параллелепипедом показал):

enter image description here

enter image description here

Кроме того, рассмотреть вопрос о сокращении размера шрифта, чтобы избежать наложенного текста:

set(findobj('type','text'), 'Fontsize', 5) 

enter image description here

+0

Спасибо, но качество, похоже, не в порядке. См. Мой ответ ниже. – Martin

+0

Качество очень хорошее, потому что это векторный файл (eps). Не вводите в заблуждение приведенные выше цифры; это всего лишь снимки экрана. –

0

Если я первый увеличить размер фигуры (используя среднюю кнопку в правом верхнем углу), а затем сохранить его как ЭПС, я получаю это: http://ge.tt/1Pv8YE02/v/0

Качество очень хорошо по сравнению со всеми другими вариантами и содержание тоже в порядке.

Его невозможно автоматизировать с помощью сценария? ...

+0

Сделайте свой рисунок большим с самого начала: 'scrsz = get (0, 'ScreenSize'); fig_handle = figure ('Position', [0 0 scrsz (3), scrsz (4)]); ' – KevinMc

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