如何让ggplot读取我喂它的颜色

时间:2016-01-14 23:20:41

标签: r

我的数据基本上是这样的:

read.table("table.txt", header = TRUE) -> tbl 
require(ggplot2)
tbl$Populations2 <- factor(tbl$Populations, as.character(tbl$Populations))

#pdf(file="table.pdf", width=11)

ggplot(tbl, aes(y = Populations2, x = alpha, xmin = alpha - 
    SE, xmax = alpha + SE, label = Populations2, colour = 
    color)) + geom_point(colour = "black") + geom_text(hjust = 1.2) + 
    theme_classic() + theme(axis.title = element_blank(), axis.ticks = 
    element_blank(), axis.text.y = element_blank(), legend.position =
    "none")  + geom_errorbarh(height = .1)
#dev.off()

和我正在使用误差线绘制点估计值。我很难让ggplot2读取我的颜色。

types: ['geocode']

当我运行代码时,输​​入中列出的相同颜色的弹出窗口颜色相同,但它们不会成为我想要的颜色。我用引号中的颜色以及十六进制中列出的颜色尝试了这个,但我得到了同样的问题。知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

这个怎么样?

我仍然是R(和SO)的新手但是afaik aes(colour=xxx)没有设置实际颜色,它确定要应用的scale_color_xxx。您似乎希望颜色随每个Populations2而变化,因此如果有意义的话,请更改颜色系列。

对不起,还没有足够的代表来发布我得到的输出图像。

txt <- "Populations alpha   SE  Z   sample  color
Pop1    0.029000    0.003589    8.116   9   red
Pop2    0.031868    0.003498    8.231   9   red
Pop3    0.028969    0.003765    7.942   8   blue
Pop4    0.030651    0.003479    8.792   10  green"

tbl <- read.table(text = txt, header = TRUE)

require(ggplot2)
tbl$Populations2 <- factor(tbl$Populations, as.character(tbl$Populations))

ggplot(tbl, aes(y = Populations2, 
                x = alpha, 
                xmin = alpha - SE, 
                xmax = alpha + SE, 
                label = Populations2,
                colour = Populations2
                )) + 
    geom_point(colour = "black") + 
  geom_text(hjust = 1.2) + 
  theme_classic() + 
  theme(axis.title = element_blank(),
        axis.ticks = element_blank(), 
        axis.text.y = element_blank(), 
        legend.position = "none") + 
  geom_errorbarh(height = .1) +
  scale_color_manual(values = as.character(tbl$color))