2016-12-27 44 views
0

我試圖創建一個alpha圖,但我找不到正確的方式來做到這一點。我嘗試了不同的組合,並且我幾乎在那裏,但我需要一點幫助。
我的問題是如何擺脫情節中的藍色。ggplot比例尺alpha連續填充顏色

我的劇本是'

p <- ggplot(df, aes(x=x, y=y)) 
p + geom_hex(aes(alpha=..count..),bins=20)+ 
    scale_x_log10("ratio following/followers", 
       labels = trans_format("log10", math_format(10^.x))) + 
    scale_y_log10("ratio messages received/sent", 
       labels = trans_format("log10", math_format(10^.x))) + 
    theme_bw() + 
    theme(panel.background = element_blank(), 
     panel.grid.major = element_blank(), panel.grid.minor=element_blank(), 
     plot.background = element_blank())+ 
    #guides(fill=FALSE)+ 
    scale_alpha_continuous ("Counts",breaks=c(0,2000,4000,6000,8000,10000))+ 
    geom_vline(xintercept =1, color="red", size=0.25, linetype=5)+ 
    geom_hline(yintercept =1, color="red", size=0.25, linetype=5) + 
    annotate('text', x=500, y=0.01, size=3, label="4\ncommon\nusers") + 
    annotate('text', x=0.0001, y=0.01, size=3, label="3\nbroadcasters") + 
    annotate('text', x=0.0001, y=7000, size=3, label="1\ninfluentials") + 
    annotate('text', x=500, y=7000, size=3, label="2\nhidden\ninfluentials") 

此腳本創建該地塊

This scrip creates this plot

我能夠擺脫掉藍色傳奇與激活 「指南(填寫= FALSE)+」在腳本中,它給這個:

guides(fill=FALSE)+

You can reach sample data from here

謝謝@Didzis Elferts的回答。我無法確定傳奇和情節破碎的顏色。正如你可以看到這些圖片10K和8K具有相同的顏色(我是對的!),所以10K應該是較暗的,不應該是。 10K 8K

+0

從您的地塊熱電聯產和HDP看來你使用不同的數據。如果這是真的,那麼根據您的實際數據分配最大的alpha值。 –

+0

你是對的,在這種情況下,我需要合併數據還是有辦法在劇情中修復它。 – eabanoz

+0

最簡單的方法是合併數據並使用構面繪製它們。然後你將有兩個組的圖例 –

回答

3

功能geom_hex()默認地圖計數的填充和等你拿(默認爲藍色)填充漸變。如果您只是想將地圖數量設置爲alpha值,則必須在geom_hex()aes()之外將fill =指定爲某種顏色(以grey45爲例)。由於fill =設置在aes()之外,因此不會有填充值的圖例。

p + geom_hex(aes(alpha=..count..),bins=20, fill = "grey45")+ ... 

enter image description here

+0

我實際上使用了fill =「#00000」,但我無法確定圖例顏色是否中斷,情節顏色是否具有相同的顏色。 – eabanoz

+0

如果你在'aes()'之外設置了'fill =',那麼你的圖例和圖將具有相同的中斷/值,因爲所有元素將具有相同的顏色(填充),並且只有alpha值會改變) –

+0

謝謝@Didzis Elferts。我剛剛更新了更具體的問題。我希望我能說清楚。 – eabanoz