簡體   English   中英

在ggplot中手動縮放一個因子的顏色

[英]manually scale color of a factor in ggplot

假設我有一個這樣的數據框

id password   year     length    Something
1 1234567      2001     7         good
2 pass4      2001       5         bad
3 angel3     2003       6         bad
4 pizza      2004       5         ok

我試圖獲得一個可以創建一個帶有 3 個變量的 geom_point 的代碼,但我只想突出顯示因子“某事”的單個級別。 而且我不希望因素的任何其他級別(如好或壞)着色。 或者至少他們可以保持黑色。

我在想也許是這樣的:

graph <- dat %>% 
        ggplot(aes(x=(year), y=length, color=Something$ok)+
      geom_point()

但我不能使用 $。

通過將所有點設置為一種顏色並更改要更改的點的顏色,您可以只為一個點着色。 為此,您可以使用scale_color_manual

數據:

dat <- structure(list(id = 1:4, password = structure(c(1L, 3L, 2L, 4L
), .Label = c("1234567", "angel3", "pass4", "pizza"), class = "factor"), 
    year = c(2001L, 2001L, 2003L, 2004L), length = c(7L, 5L, 
    6L, 5L), Something = structure(c(2L, 1L, 1L, 3L), .Label = c("bad", 
    "good", "ok"), class = "factor")), class = "data.frame", row.names = c(NA, 
-4L))

Plot:

dat %>% 
  ggplot(aes(x=(year), y=length, color = Something == "ok"))+
  geom_point() +
  scale_color_manual(values = c("blue", "orange"))

例子

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM