使用coord_fixed调整绘图大小

时间:2016-08-15 23:12:07

标签: r ggplot2

我有这个情节

  library(ggplot2)
   value = sample(c(1,2,3,4,5,10,8,10,50,78),100,TRUE)
     data = data.frame(value = value)
     data$color = ifelse( data$value>.05 ,"red","blue")
     ggplot(data, aes(x =sort(value),y=sequence(table(value)))) + 
       geom_point(color = data[order(data$value),]$color  ) 

enter image description here

我想让它更具可读性,所以我使用coord_fixed来降低比例,但情节会缩小。

有没有办法使用coord_fixed或通过巧妙地调整圈子来使其更具可读性?

你如何巧妙地调整圆圈的大小以使其看起来更好,即在保持与绘图相同大小的同时更具可读性。

我需要保持相同的尺寸,因为我使用gridExtra将此图与其他图组合在一起,因此尺寸必须相同。

我需要使用此代码而不是geom_dotplot()或其他任何内容,它必须使用任意数量的点。

   value = sample(c(1,2,3,4,5,10,8,10,50,78),100,TRUE)
     data = data.frame(value = value)
     data$color = ifelse( data$value>.05 ,"red","blue")
     ggplot(data, aes(x =sort(value),y=sequence(table(value)))) + 
       geom_point(color = data[order(data$value),]$color  ) +coord_fixed(ratio=1)

enter image description here

1 个答案:

答案 0 :(得分:1)

library(ggplot2)
set.seed(123)
value = sample(c(1,2,3,4,5,10,8,10,50,78),100,TRUE)
## you can increase this to "squash down" the points along the vertical direction
squash.factor <- 0.8
data = data.frame(value = value)
data$color = ifelse( data$value>.05 ,"red","blue")
g <- ggplot(data, aes(x=sort(value), y=sequence(table(value)))) + 
    geom_point(color = data[order(data$value),]$color  ) +
    scale_y_continuous(limits=c(min(data$value), max(data$value)*squash.factor))
print(g)