Сохраненное изображение EPS отличается от графика - PullRequest
2 голосов
/ 17 февраля 2010

Я создаю несколько графиков в Matlab, а затем сохраняю их как изображения EPS.

Что важно, я создаю наборы из 4 изображений, беру значение «YLim» из первого изображения, а затем устанавливаю его для других 3 изображений. Я делаю это, чтобы установить одинаковые пределы оси Y для каждого изображения в наборе.

Итак, для первого изображения я создаю какую-то фигуру, наносю на нее что-то и принимаю свойство YLim:

    f = figure('position', [50, 70, 900, 700], 'Units', 'normalized'); 
    p = plot(s+n, 'k');
    set(gca, 'XLim', [0, 2048]);
    set(gca, 'XTick', 200:400:1800);

    ylim = get(gca, 'YLim');

    saveas(gcf, 'some_name', 'epsc');

Затем для следующих трех изображений я также создаю фигуру, строю график и устанавливаю все необходимые свойства:

    f = figure('position', [50, 70, 900, 700], 'Units', 'normalized'); 
    p = plot(s, 'k');
    set(gca, 'XLim', [0, 2048]);
    set(gca, 'XTick', 200:400:1800);

    set(gca, 'YLim', ylim)

    saveas(gcf, 'some_other_name', 'epsc');

Теперь, что странно. Matlab правильно отображает эти изображения, и все они имеют одинаковые пределы по оси Y (например, -10: 60)

Но сохраненные файлы EPS имеют разные ограничения, например, у первого есть -10: 60, а у второго -20: 60. Таким образом, другими словами, сохраненные файлы EPS не совсем совпадают с отображаемыми диаграммами.

Что я делаю не так?

1 Ответ

2 голосов
/ 17 февраля 2010

Я просто скопировал / вставил ваш код с s и n, определенными как rand(2048,1), и не обнаружил никаких проблем с сохраненными файлами EPS; у-диапазон был [0,2] в обоих, как и ожидалось ...

Сначала убедитесь, что дважды проверили фактический код, затем, возможно, вы можете попробовать установить для свойства PaperPositionMode значение auto:

set(gcf, 'PaperPositionMode', 'auto')

, чтобы включить WYSIWYG печать рисунков.

PS: кажется, что вы используете позиции пикселей для своих фигур, что противоречит указанным «нормализованным» единицам, но это не связано с вашей проблемой.

...