我不知道从哪里开始。我已经查看了GGPlot和密谋等,试图找到正确的东西,但没有遇到任何问题。
虽然这只是我的数据示例
Skill <- c("Tackling", "Shooting", "Technique", "Passing", "Pace", "Stamina")
Grade <- c("A", "C", "C", "B", "A", "B")
data <- data.frame(Skill, Grade)
我是一名足球侦察员,能够拥有一个这样的图表来将我们拥有的球员与我正在寻找的球员进行比较真是太棒了。
因此,如果成绩为D,它将仅显示红色,如果成绩为C,则将显示红色和橙色。等
怎么样?>
library(ggplot2) ggplot(data = data, aes(Skill, Grade, fill = Grade)) + geom_tile() + coord_polar() + theme_bw()
要使所有低于该等级的等级都编码,您需要在
dataframe
中拥有所有这些较低的等级,这在某种程度上是多余的。是不是?
d = transform(data, gr = as.numeric(factor(data$Grade, c("D", "C", "B", "A"))))
d = do.call(rbind, lapply(split(d, d$Skill), function(x){
foo = with(x, setNames(data.frame(Skill[1], Grade[1], seq(gr)), names(x)))
}))
ggplot(d, aes(Skill, gr, fill = factor(gr))) +
geom_col() +
coord_polar()