更改ggplot图例单位比例

时间:2017-05-10 01:09:34

标签: r ggplot2

这个问题的动机是previous post说明了改变轴标度在ggplot图中的绘制方式的各种方法,从默认的指数表示法到完整的整数值(当轴的值非常大时)。虽然我能够将轴刻度从指数表示法转换为完整值,但我不清楚如何为图例中出现的值实现相同的目标。

虽然我知道可以用“scale_color ...”或“scale_fill ...”后跟“limits”参数手动更改图例比例的长度,但这似乎不是解决方法图例值显示“6000000000”而不是“6e + 09”(或“0”而不是“0e + 00”)。

以下示例应该足够了。我希望有人可以指出如何实现'scale'包来申请图例比例而不是轴比例。

非常感谢。

library(ggplot2)
library(scales)
Data <- data.frame(
  pi = c(2,71,828,1828,45904,523536,2874713,52662497,757247093,6999595749),
  e = c(3,14,159,2653,58979,311599,7963468,54418516,1590576171, 99),
  face = 1:10)
p <- ggplot(data = Data, aes(x=face, y=e, colour = pi))
myplot <- p + geom_point() +
  scale_y_continuous(labels = comma) +
  scale_color_gradientn(colours = rainbow(2), limits=c(0,7000000000))
myplot

1 个答案:

答案 0 :(得分:4)

设置Comma formatter例如:

,使用scale_color_gradientn中的labels = comma
p <- ggplot(data = Data, aes(x=face, y=e, colour = pi))
myplot <- p + geom_point() +
  scale_y_continuous(labels = comma) +
  scale_color_gradientn(colours = rainbow(2), limits=c(0,7000000000), labels = comma)
myplot

enter image description here