当我在ggplot2中使用scale_fill_gradient()和geom_bar()时,只为所有条形填充一个默认颜色.但是期待从低到高的绿色为RED.
theTable <- within(data, Tag <- factor(tag, levels=names(sort(table(tag),
decreasing=FALSE))))
histGraph=ggplot(theTable,aes(x=Tag))+
coord_flip() +
scale_fill_gradient(low = "green", high = "red")+
geom_bar(width=0.7)
Run Code Online (Sandbox Code Playgroud)
输出上面的代码,
数据看起来像,
ID Tag
1 BibArticleDOI
1 FirstPage
1 LastPage
2 BibArticleDOI
2 JournalTitle
3 BibArticleDOI
3 FirstPage
Run Code Online (Sandbox Code Playgroud)
编辑: 从罗马的建议,编辑上面的代码.
dataOfTag <- as.data.frame(table(data$tag))
dataOfTag$tag <- factor(dataOfTag$Var1, levels = dataOfTag$Var1[order(dataOfTag$Freq)])
histPlot=ggplot(dataOfTag,aes(x=tag, y = Freq, fill = Freq))+
coord_flip() +
scale_fill_gradient(low = "green", high = "red")+
geom_bar(width=0.7, stat = "identity")
histPlot
Run Code Online (Sandbox Code Playgroud)
Rom*_*rik 10
您可以尝试以下代码的内容.预计算频率并为频率变量分配填充.
library(ggplot2)
xy <- data.frame(letters = sample(letters[1:6], size = 1000, replace = TRUE, prob = c(0.5, 0.3, 0.1, 0.5, 0.25, 0.25)))
xy2 <- as.data.frame(table(xy$letters))
xy2$Var1 <- factor(xy2$Var1, levels = xy2$Var1[order(xy2$Freq)])
ggplot(xy2,aes(x=Var1, y = Freq, fill = Freq))+
coord_flip() +
scale_fill_gradient(low = "green", high = "red")+
geom_bar(width=0.7, stat = "identity")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8128 次 |
| 最近记录: |