簡體   English   中英

有條件地填充同一組內的密度圖

[英]Conditional fill in a density plot within same group

我想創建一個帶有嶺的密度圖,其中顏色以超過特定閾值為條件。

目的是說明收入分配情況,同時突出顯示超過一定閾值(每周1368澳元)的收入。 我在下面提供了我的嘗試的簡圖。

ggplot(subset(vic, totalweekslost > 0 & nwe %in% 100:3000), 
       aes(nwe, fill = nwe > 1368)) + 
  geom_density()

它不僅改變了密度圖中單個組中顏色的顏色,還以自己的比例創建了一個新組。

轉載於此

我想要的是使顏色變化在同一組中並顯示清楚的切點。 我可以看到我的代碼有什么問題,但是我不知道如何創建自己想要的代碼。

也許您可以獲取geom_density()的值並使用geom_area()
這里參考
這應該可以解決問題:

library(ggplot2)

# Build some data
vic = data.frame(totalweekslost = 100:3000, nwe = 100:3000)

#Yours code
df = subset(vic, totalweekslost > 0 & nwe %in% 100:3000 )    

# Creating density plot
p = ggplot(df, 
           aes(x = nwe)
          ) + 
  geom_density()

# Getting the values of plot
d = ggplot_build(p)$data[[1]]

# Building shaded area
p = p +  geom_area(data = subset(d, x>1368), aes(x=x,y=y), fill = "#00AFBB", alpha = 0.5)

plot(p)

這里的輸出圖

暫無
暫無

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

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