2017-06-28 64 views
1

enter image description here- [R情節標籤表示換算值

我R代碼裏面繪製上述圖表

p <- ggplot() + 
    geom_point(data=data2, aes(x=df, y=dn, size=avgdice^3, fill = log2(tsSTDCommoncrawl)), shape=21) 

p <- p + xlab("document fraction between commoncrawl and directcrawl") + 
    ylab("document number in commoncrawl") + 
    labs(fill="timestamp \nvariance",size ="average \ndice value") 

所以sizefill在代碼被縮放。但我希望圖表右側的圖例顯示avgdicetsSTDCommoncrawl的原始值,而不是avgdice^3log2(tsSTDCommoncrawl)值。

回答

0

這將採取兩個步驟。你必須找出ggplot在哪裏放置休息,然後手動輸入scale。我們來使用虹膜數據集。我想補充與Sepal.Length另一列立方強調在尺寸上的差異:

example=iris 
example$sizes=example$Sepal.Length^3 

現在,我可以繪製它:在100

gplot(example, aes(x=Petal.Length, y=Petal.Width))+ 
+ geom_point(aes(size=sizes))+ 
+ scale_size_continuous(range=c(1,10)) 

enter image description here

傳說是把休息, 200,300和400.所以我只需要拿scale電話中的那些立方根,使用breakslabels

> ggplot(example, aes(x=Petal.Length, y=Petal.Width))+ 
+ geom_point(aes(size=sizes))+ 
+ scale_size_continuous(range=c(1,10), breaks=c(100, 200, 300, 400), labels=c(100, 200, 300, 400)^(1/3)) 

enter image description here

您可以用文字的矢量標記過,只要元素的個數等於斷線次數。