r绘图标签显示缩放值

时间:2017-06-28 15:42:54

标签: r ggplot2 label

enter image description here

我的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)值。

1 个答案:

答案 0 :(得分:0)

这将需要两个步骤。您必须弄清楚ggplot放置中断的位置,然后手动将它们输入scale调用。我们来使用虹膜数据集。我想用Sepal.Length立方体添加另一个列来强调大小差异:

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

现在我可以绘制它:

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

传说中断为100,200,300和400.所以我只需要使用scalebreaks来调查labels来电中那些的立方根。 :

> 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

您也可以使用文本标签的向量,只要元素的数量等于中断的数量。