无法在geom_point中更改na.values的磅值

时间:2016-09-14 15:23:07

标签: r ggplot2

我正在尝试更改NA值的磅值。

        ggplot(dataframe, aes(col1, col2)) + 
geom_text(aes(label=col4),size=0.5, hjust=0, vjust=0) +
geom_point(aes(color = col3), size=1)

This is what I get:

我需要灰色(NA)来显示较小的白色。

1 个答案:

答案 0 :(得分:0)

有几种方法,最简单的方法是调用geom_point两次,根据该列值进行子集化。

library(ggplot2)
set.seed(12341234)
dataframe <- data.frame(col1 = rnorm(10, mean = 2, sd = 3),
                        col2 = rnorm(10, mean = 4, sd = 2),
                        col3 = c(rep("A", 4), rep("B", 4), NA, NA))

ggplot(dataframe[!is.na(dataframe$col3),], 
       aes(x = col1, 
           y = col2)) +  
  geom_point(aes(color = col3), 
             size = 4) + 
  geom_point(data = dataframe[is.na(dataframe$col3),], 
             color = "blue", 
             size = 8) + 
  scale_color_manual(breaks = c("A", "B"), 
                     values = c("black", "red"))

enter image description here

注意这会弄乱传奇(如果你需要的话)。

另一个选择是用“NA”替换NA值。