Как избавиться от маржи

Я обозначил ширину, высоту и разрешение графика, затем удалил поля, как в приведенном ниже коде, и нарисовал график.

Но у меня еще есть запасы. Я получил тот же сюжет с командой par и без нее. Загруженное изображение было уменьшено с 7000*5000 до 1400*1000, чтобы уменьшить размер до 2 МБ.

введите здесь описание изображения

library(scatterplot3d)

parwd = 7000
parht = 5000
parres = 1000

par(oma = c(0,0,0,0), mar = c(0,0,0,0))

jpeg(filename="CC_1_fo.jpg", width = parwd, height = parht, res = parres)
scatterplot3d(1:10, 1:10, 1:10,
              cex.symbol = 0.2,
              xlab = expression(T[1]),
              ylab = expression(T[2]),
              zlab = expression(tau))
dev.off()

Как я могу действительно удалить поля?


person user67275    schedule 26.07.2016    source источник
comment
Не могли бы вы добавить воспроизводимый пример?   -  person Jaap    schedule 26.07.2016
comment
@ProcrastinatusMaximus Я не понимаю, почему вы задаете воспроизводимый пример, потому что данные в этом вопросе не имеют значения. В любом случае, я отредактировал вопрос   -  person user67275    schedule 26.07.2016
comment
Я запросил данные, потому что другим людям будет намного проще воспроизвести вашу проблему и, следовательно, будет легче помочь вам.   -  person Jaap    schedule 26.07.2016


Ответы (1)


Я предполагаю, что 3D-графика немного странная, и некоторые аргументы par работают не так, как ожидалось. В частности, если вы хотите установить поля с помощью mar, вы должны использовать фактический аргумент mar в scatterplot3d.

Об этом сказано в примечаниях справки (?scatterplot3d):

Некоторые графические параметры должны быть установлены в качестве аргументов только в scatterplot3d, но не в предыдущем вызове par(). Один из них mar (...)

С использованием:

scatterplot3d(1:10, 1:10, 1:10,
              cex.symbol = 0.2,
              xlab = expression(T[1]),
              ylab = expression(T[2]),
              zlab = expression(tau),
              mar = c(0,0,0,0))

приведет к графику без полей:

введите описание изображения здесь

Однако установка полей на ноль отрезает ваши галочки.

person Axeman    schedule 26.07.2016
comment
mar = c(2.7, 2.7, 0, 2) — это хорошее значение по умолчанию, которое уменьшает поля, не обрезая метки (с c(нижний, левый, верхний, правый)) - person nevrome; 09.08.2020