相关疑难解决方法(0)

在R中,如何在ggplot2的scale_fill_brewer中更改一个值的颜色值?

我有一个R数据帧(df),我将其绘制为ggplot2中的条形图,并基于dataframe(df$type)中的列进行着色.现在,我使用默认的着色模式(scale_fill_brewer)来分配颜色.

如何将黑色分配给一个值(scale_fill_brewer)并使用scale_fill_brewer分配其余颜色?(所有其他df $类型都是从1到X的整数集合,其中X是唯一值的数量)

到目前为止,我已经能够通过计算出scale_fill_brewer用于N个不同项目的颜色集然后预先设置颜色黑色并将其传递给我来手动执行此操作df$type == -1.

rhg_cols1<- c("#000000","#F8766D","#7CAE00","#00BFC4","#C77CFF" )
ggplot(y=values,data=df, aes(x=name, fill=factor(type))) + 
  geom_bar()+ scale_fill_manual(values = rhg_cols1)
Run Code Online (Sandbox Code Playgroud)

问题是我需要一个无需手动分配颜色的解决方案,使用十六进制颜色计算器来计算scale_fill_brewer的十六进制值.

就像是:

ggplot(y=values,data=df, aes(x=name, fill=factor(type))) +
  geom_bar()+ scale_fill_brewer(value(-1, "black")
Run Code Online (Sandbox Code Playgroud)

谢谢!

编辑:该解决方案必须适用于30多种颜色,适用于ColorBrewer的"Set2"

r colors ggplot2 colorbrewer

21
推荐指数
2
解决办法
2万
查看次数

如何使用ggplot修改条形图中的图例标题

想象一下,你有一个像这样的简单数据集:

   ive
      region   Edad
  1  Española   23
  2  Española   37
  3  Española   40
  4  Española   21
  5  Africana   29
  6  Española   42
  7   Europea   29
  8  Española   25
  9  Española   32
  10 Española   20
Run Code Online (Sandbox Code Playgroud)

我有兴趣为region按颜色分类的变量执行条形图。所以我创建了以下代码:

 g1 <- ggplot(ive, aes(x=reorder(ive$region, -table(ive$region)[ive$region])))
 g1 + geom_bar(aes(fill=ive$region)) + geom_text(stat='count',aes(label=..count..),vjust=-0.7) + xlab("")
Run Code Online (Sandbox Code Playgroud)

但是图例显示ive$region,我希望它显示自定义标题。

我几乎可以肯定这是一个愚蠢的问题,但我一直在尝试解决它 2 天,但我没有找到解决方法。

谢谢你,阿尔瓦罗

text r legend bar-chart ggplot2

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

ggplot2 ×2

r ×2

bar-chart ×1

colorbrewer ×1

colors ×1

legend ×1

text ×1