Создание чисел с высоким разрешением в R

Это такая основная проблема, которая сводит меня с ума. При создании фигуры в R она выглядит великолепно на экране. Но когда я пытаюсь сгенерировать его непосредственно в файл с помощью png(), tiff() и т.д., Установив разрешение 300 и ширину и высоту на разумные значения, которые хорошо подходят для бумаги журнала, есть две проблемы:

  • Все строки сделаны супер толстыми
  • Все буквы имеют огромный шрифт.

Это было очень неприятно, я пробовал играть с опцией pointize, это помогает уменьшить размер шрифта, но ширина строк все еще густая и уродливая. Не могли бы вы предложить, что происходит в R и как я могу это исправить? Я огляделся, и большинство решений связано с использованием другого программного обеспечения для обработки изображений. Я бы предпочел выяснить, почему R делает это, увеличивая разрешение и почему он делает цифры такими уродливыми. Вот пример:

png(file="test.png",width=5,height=5,units="cm",res=300)
plot(rnorm(1000),rnorm(1000),xlab="some text")
dev.off()

Спасибо!

Ответ 1

Я думаю, что проблема связана с размером точки по умолчанию (см. параметр pointsize в ?png):

Вот что у вас было со значением по умолчанию 12:

enter image description here

Но если вы опустили его до 6:

png(file="test.png",width=5,height=5,units="cm",res=300, pointsize=6)
plot(rnorm(1000),rnorm(1000),xlab="some text")
dev.off()

enter image description here

Как я понимаю, значение 12 означает, что текст в cex=1 равен 12/72-й (например, 1/6-й) дюйма. Ваш png ca. 2 дюйма, поэтому ваш текст составляет 1/12 ширины графика с по умолчанию.