kouprianov: (Default)
[personal profile] kouprianov

Вздумалось мне тут положить один нарисованный в R график на другой. Нет, я потом, конечно, сделал все через par(new=T), как подобает настоящему самураю, но поначалу мне показалось, что совместить два готовых PNG изображения в GIMP будет быстрее. Не тут-то было. Сделав это, я тут же обнаружил, что меньший по размеру график нарисован на светло-сером фоне, который хорошо заметен на белом фоне большего по размерам графика. Первая мысль была, конечно, о том, что надо принудительно указать белый цвет фона через par(..., bg="white"). Безрезультатно. Фон остался серым. Вторая -- о том, что можно сделать фон не белым, а прозрачным при помощи par(..., bg="transparent") (паника: за несколько лет успел забыть, как сделать прозрачность в GIMP). Никакого толку. Фон, возможно, стал прозрачным, но вместе с ним прозрачными стали и черные линии, причем они стали бледно серыми до почти полной невидимости. Зашел в тупик, отправился гуглить.

По результатам гугления поставил imagemagick (почему-то его по умолчанию не стояло), после чего все оказалось элементарно. Написал в командной строке:

convert filename.png -transparent white filename.png

Получил на выходе файл с идеально прозрачным фоном и черными линиями на оном. Положил его в GIMP на основной график, все срослось.

Подсказку про imagemagick нашел тут: http://stackoverflow.com/questions/25354479/opaque-legend-in-an-r-plot-with-transparent-background

Но через par(new=T), разумеется, проще...

March 2025

S M T W T F S
      1
2345678
910 1112131415
16171819202122
23242526272829
3031     

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 28th, 2025 10:00 am
Powered by Dreamwidth Studios