r - R中的函数允许控制ggplot中的2个变量
问题描述
Tourism <- function(...){
tour%>%
filter(Country %in% c(...))%>%
select(Country, `1995`:`2019`)%>%
gather(key = "Year", value="Dollars", -Country)%>%
ggplot(aes(x = Year, y = Dollars, colour = Country, group = Country)) +
geom_line() +geom_point() +
scale_y_log10(label=dollar) +
ggtitle("Tourism Dollars") + theme(plot.title = element_text(hjust = 0.5))
}
Tourism("Italy","Canada")
我有这段代码工作得很好。但是我想更新这个功能,让用户不仅可以设置国家,还可以设置图表中显示的年份。 在此处输入图像描述
解决方案
您可以将两个参数作为向量传递给函数。
library(tidyverse)
Tourism <- function(country, year){
tour%>%
filter(Country %in% country) %>%
select(Country, as.character(year)) %>%
gather(key = "Year", value="Dollars", -Country)%>%
ggplot(aes(x = Year, y = Dollars, colour = Country, group = Country)) +
geom_line() +geom_point() +
scale_y_log10(label=dollar) +
ggtitle("Tourism Dollars") + theme(plot.title = element_text(hjust = 0.5))
}
Tourism(c("Italy","Canada"), 1995:2019)
推荐阅读
- java - 在 Android 上使用带有 Retrofit 的 post 方法在数据库中插入值
- powershell - 用于按顺序获取音频曲目列表时间戳的 Powershell 脚本
- excel - 如何使用宏/vba 获取所有工作表名称及其特定单元格值?
- hibernate - Hibernate 使用 join fetch 获取多个关联
- python - Django - 将 SQL 查询解析为 QuerySet
- sql - PostgreSQL 触发器更新所有表而不是行
- angular - 加载了角度事件侦听器文档
- r - 由于反应困难,Shiny 应用程序中的错误
- reactjs - 如何让 Flatlist 将项目滚动到 1
- r - 检查向量在名称列表中是否具有相同的名称,并仅保留验证向量中条件的名称