2015-04-27 5 views
1

Я столкнулся с проблемой низкого качества графического вывода в Matlab, аналогично this, но решения, предоставленные там, не работали для меня. Использование Matlab 2014b или 2015a приводит к той же проблеме.Matlab Graphics: Jagged Lines in Output

Создать пример фигуры со следующими командами:

a = rand(200, 1) 
b = .1 * rand(200, 1) + .4 
plot([a b]) 
patch([1 100 100 1], [0 0 1 1], [-.1, -1., -.1, -.1], .1*ones(4, 1)) 
export_fig('test4.pdf') 

Полученное изображение имеет зубчатую линию соединения и линии, которые пересекаются в непоследовательно - иногда синяя линия впереди, иногда оранжевая линия.

enter image description here

Обратите внимание, что проблема присутствует только в случае, если Z-данные включены в команду патча.

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

/J { setlinecap } def 

в

/J { 1 setlinecap } def 

Однако, противоречивость которого линия была на переднем плане сохраняется.

enter image description here

Используя родной вывод из результатов Matlab в том же номере, как с помощью export_fig. Объединение строк может быть аналогичным образом исправлено путем редактирования файла .eps, на этот раз заменяя любые строки 2 setlinecap на 1 setlinecap, но проблема с порядком размещения строк осталась.

Я тогда искал ответ на один из двух вопросов:

  • Есть ли способ вывода векторной графики изображение из Matlab, что позволяет избежать оба этих проблем?
  • Есть ли способ исправить проблему заказа строки после обработки файла, выводимого Matlab аналогично тому, как можно устранить проблему с объединением строк?
+0

Есть ли какая-то конкретная причина, по которой вам нужно использовать 'export_fig'? Устанавливаются ли встроенные функции Matlab в результате таких же проблем? – David

+0

Оба метода приводят к одной и той же проблеме. Файлы .eps, созданные этими двумя методами, совершенно разные, но решение связанного вопроса не работает ни для одного из них, ни при редактировании вручную, оба они заканчивают проблему приоритета переднего плана. –

+0

'export_fig', казалось, создавал более читаемый файл .eps, и мне нравится автоматический размер страницы, который он делает, но кроме этого у меня нет причин предпочитать его над встроенными. –

ответ

0

Эта проблема разрешена в Matlab 2015b. В 2014b или 2015a не существует известной работы.