2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Полосы при экспорте DensityPlot в Mathematica
Сообщение23.04.2015, 21:53 


24/07/14
138
При экспорте DensityPlot получаются какие-то полосы, как будто бы разные куски картинки сдвинуты друг относительно друга. Вот пример, как это выглядит:
Изображение
Картинка слева экспортировалась как Rasterize[plot] – на ней видны полосы. Картинка справа – Rasterize[plot, RasterSize->5000]. На правой картинке полос уже нет, но такая картинка экспортируется примерно в 10-20 раз дольше и при этом какого-то особого выигрыша в качестве у нее нет. Кроме того чем больше ставишь RasterSize тем меньше становятся Ticks, которые внутри рамки (справа над 0.1 он вообще пропал, например) и подписи координат и прочие буквы и цифры выглядят немного коряво. Подобные полосы я встречаю уже давно, но обычно проблема решалась просто установкой большого параметра ImageSize (я всегда ставил 4000) – картинка по-прежнему создавалась с полосами, но т.к. размер изображения был большой, то сдвиг одного ряда пикселей уже особо и не был заметен. А сейчас нужно делать картинки строго фиксированного размера, без возможности пережать их потом.
Может кто-нибудь знает как можно полосы убрать? В других типах графиков, например, в 3D графиках таких проблем при экспорте вроде не возникало.

 Профиль  
                  
 
 Re: Полосы при экспорте DensityPlot в Mathematica
Сообщение23.04.2015, 21:59 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
А зачем вы вообще используете Rasterize, ведь достаточно Export.

 Профиль  
                  
 
 Re: Полосы при экспорте DensityPlot в Mathematica
Сообщение23.04.2015, 22:04 


24/07/14
138
Aritaborian, у меня картинка состоит из пары графиков. Сверху ListDensityPlot, снизу обычный ListLinePlot. Чтобы сделать из них одну картинку я использую GraphicsColumn. У обоих графиков стоит почти одинаковый ImageSize, но если перед DensityPlot не поставить Rasterize, то графики почему-то экспортируются в разных размерах, например DensityPlot на картинке в 4 раза меньше чем ListLinePlot.

 Профиль  
                  
 
 Re: Полосы при экспорте DensityPlot в Mathematica
Сообщение23.04.2015, 23:12 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Мне не удалось воспроизвести баг.
Код:
g1 = ListDensityPlot[{{1, 1, 1, 1}, {1, 2, 1, 2}, {1, 1, 3, 1}, {1, 2, 1, 4}}, Mesh -> All]
g2 = ListLinePlot[Prime[Range[25]], Filling -> Axis]
g = GraphicsColumn[{g1, g2}]
Export["D:/g.png", g, ImageSize -> 400]
Всё получилось нормально. Mathematica 10.0.0.0, Win7x86.

 Профиль  
                  
 
 Re: Полосы при экспорте DensityPlot в Mathematica
Сообщение23.04.2015, 23:33 


24/07/14
138
Aritaborian, вот пример того, что я говорил про изменение размеров.
Код:
g1 = ListDensityPlot[{{1, 1, 1, 1}, {1, 2, 1, 2}, {1, 1, 3, 1}, {1, 2,
      1, 4}}, Mesh -> All, ImageSize -> 500, AspectRatio -> 1/2];
g2 = ListLinePlot[Prime[Range[25]], Filling -> Axis, ImageSize -> 500,
    AspectRatio -> 0.2];
g = GraphicsColumn[{g1, g2}]


g2 = Rasterize[
   ListLinePlot[Prime[Range[25]], Filling -> Axis, ImageSize -> 500,
    AspectRatio -> 0.2]];
g = GraphicsColumn[{g1, g2}]

Насчет бага с полосами. Я все-таки последовал вашему совету и убрал все Rasterize. Пришлось заново подбирать размеры графиков, чтобы они ровненько легли в GraphicsColumn, но проблема вроде бы решена: картинки сохраняются без полос, и вроде все работает нормально. Я и раньше думал убрать Rasterize, но мне не хотелось этого делать потому что, во-первых, весь код уже был написан и все работало хорошо, за исключением этих полос при экспорте, и там пришлось бы в ряде мест вносить изменения из-за того что размер графиков разный стал, а во-вторых, хотелось уже все-таки узнать из-за чего она эти полосы чертит и разобраться с этим.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group