Как изменить высоту диаграммы в функции hchart() в R (пакет highcharter) без использования оператора pipe?
Я создал блестящее приложение, в котором создаю сюжет из hist()
а также density()
объекты, оба сохраняются в списке в файл.RDS из другого файла сценария. Итак, в блестящем я только читаю.RDS и делаю сюжет.
Теперь все работает, за исключением того, что я не нахожу, как изменить высоту графика старшей диаграммы, используя hchart()
функция. В моем коде, как он был построен, я не могу работать с каналами "%>%", потому что я использую hchart
внутри purrr::map()
функция.
Чтобы объяснить лучше, я создал небольшой пример, который следует.
# Example of how the objects are structured
list <-
list(df1 = list(Sepal.Length = hist(iris$Sepal.Length, plot = FALSE)),
df2 = list(Sepal.Length = density(iris$Sepal.Length)))
# Example of a plot built with hchart function
list[['df2']]['Sepal.Length'] %>%
purrr::map(hchart, showInLegend = FALSE)
# Example of what does not work
list[['df2']]['Sepal.Length'] %>%
purrr::map(hchart, showInLegend = FALSE, height = 200)
На самом деле, я также хотел бы изменить другие параметры диаграммы, например, цвета. Но я не нахожу способ с этим решением, которое я нашел.
Заранее спасибо.
Wlademir.
0 ответов
Я вижу 2 основных способа сделать то, что вам нужно (не знаю, почему вы не можете использовать трубу):
Опция 1
Создайте функцию для обработки всех данных и добавьте параметры внутри этой функции:
get_hc <- function(d) {
hchart(d, showInLegend = FALSE) %>%
hc_size(heigth = 200) %>%
hc_title(text = "Purrr rocks")
}
Затем:
list_of_charts <- list[['df2']]['Sepal.Length'] %>%
purrr::map(get_hc)
Вариант 2
Вы можете использовать последовательно purrr::map
:
list_of_charts <- list[['df2']]['Sepal.Length'] %>%
purrr::map(hchart, showInLegend = FALSE)
# change heigth
list_of_charts <- purrr::map(list_of_charts, hc_size, height = 200)
# change title
list_of_charts <- purrr::map(list_of_charts, hc_title. text = "Purrr rocks")
Или вы можете использовать последовательно purrr::map
/ %>%
комбо:
list_of_charts <- list[['df2']]['Sepal.Length'] %>%
purrr::map(hchart, showInLegend = FALSE) %>%
purrr::map(hc_size, height = 200) %>%
purrr::map(hc_title, text = "Purrr rocks")