我想顯示多條曲線顯示多條曲線與在使用一次在GGPLOT2使用R. GGPLOT2 R中
有數據的200多個城市,但我只創建一個隨機抽樣數據爲環如下:
#sample data
df <- data.frame(
city = c('paris', 'tokyo', 'seoul', 'shanghai', 'berlin', 'rome')
, week = c(41,42)
, type = c('A','B','C')
, count = sample(1:100, 24, replace = F)
)
df <- data.table(df)
df[, .(count=sum(count)), by =.(city,type, week)]
在原始數據中,有200多個城市,但我只是爲此創建了隨機數據。
我想根據計數數量提取排名前10位的城市, 將排名前10位的城市放入列表中, 並循環以自動繪製在查看器上。
我可以使用facet_grid選項,但爲此目的,我需要以這種方式。
This article幫助我塑造到目前爲止,但它不工作,因爲我不是數數值,而是循環圖表的因素。
# function
plotCities <- function(cityName){
df <- df[city == cityName,]
ggplot(df,
aes(x = as.factor(week), y = count,
color = as.factor(week), group = as.factor(week))) +
scale_y_continuous(labels = comma) +
geom_point() +
geom_line() +
labs(title = "cities monthly counts",
x = "month",
y = "counts")+
theme(axis.text.x=element_text(angle=90,hjust=1,vjust=1))
}
plotCities("paris")
這不會帶來很好的圖形,但並不在這一點上無論是這裏的目標是繪製多個在顯示。
for(cityName in df$city) {
plotCities(cityName)
}
認爲這會工作,但沒有創建我想要的列表...所以失敗。
我的下一個嘗試是:
p <- list()
for(i in 1:length(df$city)){
cityName = df2[i, 1]
p[[i]] = plotCities(cityName)
}
因爲城市價值因素不大概工作?
請分享我一些提示!
'爲(的cityName在DF $市) {plottery(cityName)) }將輸出圖表。但是,有很多重複。所以也許增加'唯一(df $城市)' – Haboryme
這個問題:http://stackoverflow.com/q/40366468/4477364有可能幫助的信息。 – Joe