# Create the data framelibrary(tIDyverse)dat <- read.table(text = "A B C 1 23 234 324 2 34 534 120 3 56 324 124 4 34 234 124 5 123 534 654",sep = "",header = TRUE) %>% gather(key = "variable",value = "value") %>% group_by(variable) %>% mutate(ind = as.factor(rep(1:5)),perc = value / sum(value)) %>% arrange(variable,-perc) %>% mutate(ordering = row_number()) %>% mutate(lab.y = cumsum(perc),lab.y.mID = lab.y - (perc / 2))# Toggle whether red is on top/bottom with '1L' or '-1L'red <- 1Ln_ord <- length(unique(dat$ordering))fill_scale <- c("darkred",rep("black",n_ord - 1L)) %>% setnames(red * seq(n_ord))Alpha_scale <- c(0.5,rep(0.3,n_ord - 1L)) %>% setnames(red * seq(n_ord))# Plot the dataggplot(dat,aes(variable,perc,fill = factor(red * ordering),Alpha = factor(red * ordering))) + geom_col(color = "white",size = 1.5) + scale_fill_manual(guIDe = "none",values = fill_scale) + scale_Alpha_manual(guIDe = "none",values = Alpha_scale) + facet_grID(~ variable,scales = "free_x") + theme_minimal() + theme(panel.grID.major.x = element_blank(),axis.Title.x = element_blank(),axis.text.x = element_blank(),axis.ticks.x = element_blank(),axis.Title.y = element_blank(),legend.position = "none") + scale_y_continuous(labels = scales::percent_format()) + geom_text(aes(y = 1 - lab.y.mID,label = ind),color = "black")
我一直假设ggplot按顺序绘制事物,逐行逐项.我上面的ggplot的最后一行是:
geom_text(aes(y = 1 - lab.y.mID,color = "black")
但似乎这个命令不是ggplot“做”的最后一件事.如果你看一下上面的情节,你会发现我的文字标签非常微弱.文本要么是在情节的某些部分的后面,要么是继承了某种类型的Alpha级别,或者其他正在发生的事情,我没有想到.
如何让文字变暗(就像通常那样)?如下图所示.
解决方法 geom_text从ggplot()继承了Alpha美学,这就是文本没有出现在“黑色”中的原因.将您的最后一行更改为
... + geom_text(aes(x = variable,y = 1 - lab.y.mID,inherit.aes = FALSE)
得到这个结果
另一种选择是覆盖Alpha
... +geom_text(aes(y = 1 - lab.y.mID,Alpha = 1)总结
以上是内存溢出为你收集整理的`geom_text()`标签非常轻/暗 – 需要它们正常/黑暗全部内容,希望文章能够帮你解决`geom_text()`标签非常轻/暗 – 需要它们正常/黑暗所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)