severity <- c("Major","Serious","Minor","Negligible")
probability <- c("Highly Probable","Probable","Possible","Remote","Unlikely","Impossible")
df <- expand.grid(x=severity,y=probability)
df$x <- factor(df$x, levels=rev(unique(df$x)))
df$y <- factor(df$y, levels=rev(unique(df$y)))
df$color <- c(1,1,2,2,1,2,2,2,2,2,2,3,2,2,3,3,2,3,3,3,3,3,3,3)
ggplot(df,aes(x,y,fill=factor(color)))+
geom_tile(color="black")+
scale_fill_manual(guide="none",values=c("red","yellow","green"))+
scale_x_discrete(expand=c(0,0))+scale_y_discrete(expand=c(0,0))+
labs(x="",y="")
生成风险评估得分卡图表。我想通过添加记录使用CSV文件来增加点数。每个记录有3个字段,即项名称、x坐标和y坐标。其中,x表示严重程度,y表示概率。
da <- data.frame(list(name=c("ENVIRONMENTAL","COSTS","SUPPLY","HEALTH"),
severity=c("Major","Serious","Minor","Serious"),
probability=c("Probable","Possible","Probable","Unlikely")))
da
name severity probability
1 ENVIRONMENTAL Major Probable
2 COSTS Serious Possible
3 SUPPLY Minor Probable
4 HEALTH Serious Unlikely
> p1 <- p + data.frame(da, aes(severity, probability)) + geom_point()
Error in as.data.frame.default(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors) :
cannot coerce class ""uneval"" to a data.frame
>
> d <- data.frame(list(name=c("ENVIRONMENTAL","COSTS","SUPPLY","HEALTH"),
severity=c(2,3,4,1),probability=c(3,5,4,6)))
> d
name severity probability
1 ENVIRONMENTAL 2 3
2 COSTS 3 5
3 SUPPLY 4 4
4 HEALTH 1 6
> ggplot(d,x=severity, y=probability)+ geom_point()
Error in exists(name, envir = env, mode = mode) :
argument "env" is missing, with no default
我该如何向ggplot / geom_tile图形添加点呢?
data.frame(list(...))
等同于data.frame(...)
。 - flies