Треугольные сплит патчи с рендером художников в MATLAB 2014b и выше
Новый графический движок MATLAB, HG2, не может правильно печатать патчи с помощью средства визуализации:
hist(randn(1,1000));
colorbar('Location','SouthOutside');
print('test.pdf','-dpdf');
Полученные патчи, генерируемые лиhist
или жеcolorbar
, имеют треугольные расщепления:
Этот вопрос обсуждался на MATLAB CentralВот а такжеВот, где было предложено, что отключение опции «гладкой линии» в pdf-viewer должно решить эту проблему. Это скрывает проблему у некоторых читателей (например, в Adobe Reader, но не в Apple Preview), но вряд ли это решение попросить соавторов и читателей использовать определенный просмотрщик PDF с нестандартными настройками для правильного отображения графики. Глядя на полученный файл в Inkscape, становится ясно, что в выходной векторной графике присутствует разделение. Здесь я переместил одну половину цветовой шкалы, доказав, что она на самом деле разделена на две части, а не просто неправильно интерпретирована программой просмотра PDF:
Проблема отсутствует при использовании рендерера OpenGL (print('test.pdf','-opengl')
, но тогда выход не векторизован). Проблема сохраняется в MATLAB 2015a.
Есть ли способ экспортировать векторную графику без артефактов в MATLAB 2014b или новее?