gpt4 book ai didi

r - 使所有正值条形图与 ggplot 中具有负值的条形图具有相同的颜色主题

转载 作者:行者123 更新时间:2023-12-04 17:48:09 26 4
gpt4 key购买 nike

我昨天才开始玩 ggplot。我的负值条形图代码按我的预期工作:

dtf1 <- data.frame(ID = c(1:10),Diff = c(-5:4))
dtf1$colour <- ifelse(dtf1$Diff < 0, "firebrick1","steelblue")
dtf1$hjust <- ifelse(dtf1$Diff > 0, 1.3, -0.3)
ggplot(dtf1,aes(ID,Diff,label="",hjust=hjust))+
geom_text(aes(y=0,colour=colour))+
geom_bar(stat="identity",position="identity",aes(fill = colour))

Positive and Negative Value
但当我将相同的代码应用于只有正值的不同数据集时,情况并非如此
dtf <- data.frame(ID = c(1:10),Diff = rnorm(10,3))
dtf$colour <- ifelse(dtf$Diff < 0, "firebrick1","steelblue")
dtf$hjust <- ifelse(dtf$Diff > 0, 1.3, -0.3)
ggplot(dtf,aes(ID,Diff,label="",hjust=hjust))+
geom_text(aes(y=0,colour=colour))+
geom_bar(stat="identity",position="identity",aes(fill = colour))

Only positive values

我发现我可以调整代码的最后一行以获得我的正条的蓝色, geom_bar(stat="identity",position="identity",fill="steelblue")
因此,我的两个问题是:
  • 但是,颜色不符合预期:

  • Positive value - to blue

    看起来颜色可能更接近 turquoise3 而不是 steelblue。
  • 此外,我也有兴趣找出为什么相同的代码会
    允许正极条具有不同的颜色。

  • 我一定是问了一个非常简单的问题。我不知道如何最好地表达它,因此很难找到解决方案。如果问题已经被问到,我很抱歉,我很乐意删除自己。

    最佳答案

    美学在 ggplot 中并非如此. $colour被视为具有两个水平的因子,firebrick1 , 和 steelblue ,但这些是 不是 颜色ggplot使用。它们只是色标的标签。 ggplot选择它自己的颜色。如果要覆盖默认值,请添加以下行:

    scale_fill_manual(values=c(firebrick1="firebrick1",steelblue="steelblue"))

    与此相比:
    dtf1$colour <- ifelse(dtf1$Diff < 0, "negative","positive")
    ggplot(dtf1,aes(ID,Diff,label="",hjust=hjust))+
    geom_bar(stat="identity",position="identity",aes(fill = colour))+
    scale_fill_manual(values=c(positive="firebrick1",negative="steelblue"))



    这适用于所有正面(或负面)。
    dtf <- data.frame(ID = c(1:10),Diff = rnorm(10,3))
    dtf$colour <- ifelse(dtf$Diff < 0,"negative","positive")
    dtf$hjust <- ifelse(dtf$Diff > 0, 1.3, -0.3)
    ggplot(dtf,aes(ID,Diff,label="",hjust=hjust))+
    geom_bar(stat="identity",position="identity",aes(fill = colour))+
    scale_fill_manual(values=c(positive="firebrick1",negative="steelblue"))

    关于r - 使所有正值条形图与 ggplot 中具有负值的条形图具有相同的颜色主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26194392/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com