【发布时间】:2022-01-17 20:15:20
【问题描述】:
我有一个与 22 个城市相关的融合数据框,每个城市有 5 个大小带。变量列与日期有关。数据框如下所示:
| City | size_band | variable | value |
|---|---|---|---|
| Madrid | 1 to 3 | April 2020 | 0.74 |
| Madrid | 4 to 6 | April 2020 | 0.71 |
| Madrid | 7 to 9 | April 2020 | 0.78 |
| Madrid | 10 to 12 | April 2020 | 0.77 |
| Madrid | 13 to 15 | April 2020 | 0.72 |
| Madrid | 1 to 3 | May 2020 | 0.81 |
| Madrid | 4 to 6 | May 2020 | 0.79 |
| ... | ... | ... | ... |
我正在尝试创建一个函数,该函数使用 geom_point 为每个城市绘制时间序列。我试过下面的代码:
Cities_List<-split(data,
f = data$City)
# Function to plot different cities
plot.cities <- function(x) {
for (i in 1:length(Cities_List)) {
p<- x[[i]] %>%
ggplot(aes(variable, value)) +
geom_point(aes(color = size_band,
group = size_band),
size = 3,
shape = size_band)
}
}
plot.cities(Cities_list)
颜色变量未被识别:
Error in geom_point(aes(color = size_band, group = size_band), size = 3, :
object 'size_band' not found
【问题讨论】:
标签: r function for-loop ggplot2