如何在不使用管道运算符的情况下更改 R(highcharter 包)中 hchart() 函数的图表高度?
How to change chart height in hchart() function in R (highcharter package) without using pipe operator?
我构建了一个闪亮的应用程序,我在其中从 hist()
和 density()
对象创建了一些绘图,它们都保存在列表中,从另一个脚本文件保存到 .RDS 文件中。所以,在 shiny 我只读了 .RDS 并制作了情节。
现在一切正常,除了我没有找到如何使用 hchart()
函数更改高图图的高度。在我的代码中,按照它的构建方式,我无法使用管道“%>%”,因为我在 purrr::map()
函数中使用 hchart
。
为了更好地解释,我创建了一个小示例,如下所示。
# 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)
其实我也想改变图表的更多选项,比如颜色。但是我没有找到我找到的解决方案的方法。
提前致谢。
弗拉基米尔。
我可以看到 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")
我构建了一个闪亮的应用程序,我在其中从 hist()
和 density()
对象创建了一些绘图,它们都保存在列表中,从另一个脚本文件保存到 .RDS 文件中。所以,在 shiny 我只读了 .RDS 并制作了情节。
现在一切正常,除了我没有找到如何使用 hchart()
函数更改高图图的高度。在我的代码中,按照它的构建方式,我无法使用管道“%>%”,因为我在 purrr::map()
函数中使用 hchart
。
为了更好地解释,我创建了一个小示例,如下所示。
# 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)
其实我也想改变图表的更多选项,比如颜色。但是我没有找到我找到的解决方案的方法。
提前致谢。
弗拉基米尔。
我可以看到 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")