Поиск способа сохранить изображение в предопределенном месте с помощью png (), аналогично успешному подходу с использованием ggsave () - PullRequest
0 голосов
/ 06 декабря 2018

Я использую два разных типа графики: 1.) блокпост, созданный с помощью ggplot2 и 2.) таблицу корреляции.

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

library(easycsv)
choose_dir = function(){
    os = Identify.OS()
    if(tolower(os) == "windows"){
        directory <- utils::choose.dir()
    }
    if(tolower(os) == "macosx"){
        system("osascript -e 'tell app \"RStudio\" to POSIX path of (choose folder with prompt \"Choose Folder:\")' > /tmp/R_folder",
        intern = FALSE, ignore.stderr = TRUE)
        directory <- system("cat /tmp/R_folder && rm -f /tmp/R_folder", intern = TRUE)
    }
    return(directory)
}

Теперь я использую этот код для выбора места, в котором я хочу сохранить графику:

folder = choose_dir()

Чтобы сохранить мою графику, у меня естьнет проблем с боксплотом с использованием ggsave:

ggsave("SL_Boxplot.png", path = folder, width=7, height= 0.7, dpi=500, units = "cm", scale = 5.2)

Однако я не могу сохранить изображение таблицы корреляции так же, как с ggsave, хотя я пробовал много разных способов:

png("folder/Correlation_Table.png", width = 30, height = 25, pointsize = 8, res = 700, units = "cm")

ничего не работает.Очень благодарен за помощь!

1 Ответ

0 голосов
/ 06 декабря 2018

Вам необходимо указать правильный путь для png.

png(paste0(folder,"/Correlation_Table.png"), width = 30, height = 25, pointsize = 8, res = 700, units = "cm")

Вы также можете изменить / на \\.

Правки: чтобы быть более правильным и безопасным, это правильный код, предоставленный @ r2evans.

png(file.path(folder, "Correlation_Table.png"), width = 30, height = 25, pointsize = 8, res = 700, units = "cm")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...