我想在ggplot2中的堆积条形图上显示数据值.这是我尝试过的代码
Year <- c(rep(c("2006-07", "2007-08", "2008-09", "2009-10"), each = 4))
Category <- c(rep(c("A", "B", "C", "D"), times = 4))
Frequency <- c(168, 259, 226, 340, 216, 431, 319, 368, 423, 645, 234, 685, 166, 467, 274, 251)
Data <- data.frame(Year, Category, Frequency)
library(ggplot2)
p <- qplot(Year, Frequency, data = Data, geom = "bar", fill = Category, theme_set(theme_bw()))
p + geom_text(aes(label = Frequency), size = 3, hjust = 0.5, vjust = 3, position = "stack")
Run Code Online (Sandbox Code Playgroud)

我想在每个部分的中间显示这些数据值.在这方面的任何帮助将受到高度赞赏.谢谢
有谁知道如何在ggplot中使用预定义的调色板?
我有一个我想要使用的颜色矢量:
rhg_cols <- c("#771C19", "#AA3929", "#E25033", "#F27314", "#F8A31B",
"#E2C59F", "#B6C5CC", "#8E9CA3", "#556670", "#000000")
Run Code Online (Sandbox Code Playgroud)
但是当我试图将它传递给任何事情时
ggplot(mydata, aes(factor(phone_partner_products)), color = rhg_cols) +
geom_bar()
Run Code Online (Sandbox Code Playgroud) 我试图定义ggplot中绘制的点组颜色.我改编了这篇文章的代码:
但是只要我有一个由同一个分组变量定义的行(而不是每行的单独颜色),代码就会失败,我无法弄清楚原因.以下是可重现的示例:
#create some data
zone <- c("E","E","C","C","C","E","E") #grouping variable
col <- c(50,100,150,200,250,300,350) #x variable
D <- c(.4,.45,.20,.22,.30,.31,.35) #y variable
df1 <- data.frame(zone, D, col); df1
#create a colour scheme based on grouping variable 'zone'
zone <-c("E","C")
color.codes<-as.character(c("#3399FF", "#FF0000"))
color.names<-c("blue", "red")
df2=data.frame(zone, color.codes, color.names); df2
# merge color specifications with data
df <-merge(df1,df2, by=("zone"), all.x=TRUE, all.y=TRUE); df
Run Code Online (Sandbox Code Playgroud)
然后数据如下所示:
zone D col color.codes color.names
C 0.20 150 #FF0000 red
C 0.22 200 #FF0000 red
C 0.30 250 #FF0000 red
E …Run Code Online (Sandbox Code Playgroud) 我有一个ggplot2图并且百分比标签为白色,但有时条形图的颜色太浅而白色标签变得难以辨认.是否有一个函数,给定一个颜色值将返回,例如isDark或isLight?然后我可以将标签颜色设置为白色或黑色......