Белые линии на рисунке после экспорта в PDF - PullRequest
0 голосов
/ 12 июня 2018

Матрица 2D-данных была построена в MATLAB 2016a с использованием contour (первый рисунок ниже), а затем я сохранил как рисунок в формате *.emf.Затем я вставил рисунок (emf) в документ MS Word.И, наконец, документ word был преобразован в файл pdf.

Я обнаружил, что на рисунке много белых линий (в формате pdf), как показано на втором рисунке ниже.Мой вопрос, как я могу удалить эти белые линии?

Figure 1 Figure 2

Код прилагается здесь:

path = 'C:\Users\Administrator\Desktop\';
data = importdata([path, 'lsa2.txt'], ' ', 6);
cdata = data.data;
n = 25;
contourf(cdata,n, 'LineStyle', 'none');
colormap(jet);
axis equal;

Доступ к данным можно получить здесь: https://www.dropbox.com/s/hzf75qiju6zsy9i/lsa2.txt?dl=0

1 Ответ

0 голосов
/ 12 июня 2018

Как я уже упоминал в своем комментарии, это ошибка, связанная с тем, что MATLAB экспортирует графику, как объяснили Яир Альтман и Дене Фаррелл :

Я обнаружил, что эти артефакты белой линии возникают при использовании средства визуализации painters ... [которое] является рендерингом по умолчанию [ format engine] для векторизованных (EPS / PDF) форматов.

Существуют две отдельные проблемы с экспортом Matlab:

1.Главное, что все замечают, - это то, что патчи разбиты на треугольники, каждый из которых является отдельным объектом пути, если его осмотреть в иллюстраторе.

2.Matlab иногда добавляет посторонние «пути обрезки», которые создают видимую белую линию, даже когда нет проблем с трещинами.

Один из способов, предложенных ambramson , - этоследующее:

1.Сохраните рисунок в виде файла .eps (с помощью команды print).
2.Используя текстовый редактор, измените строку в заголовке eps с:

/f/fill ld

на:

/f{GS 1 LW S GR fill}bd

и переместите строкувниз на несколько строк, прямо под строкой /LW/setlinewidth ld.
Отсюда ваш файл eps должен отображаться нормально во всех средствах просмотра pdf.

...