控制ggplot中附加点的大小/比例

时间:2017-04-18 14:54:53

标签: r ggplot2

我有一个情节,我试图突出沿线的不同点。我的情节看起来像这样:

library(ggplot2)
X<-c(seq(1:20))
Y<-c(2,4,6,3,5,8,6,5,4,3,2,4,6,6,9,8,9,5,4,3)
Col<-as.character(c(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5))
value<-c(NA,NA,NA,NA,10,NA,NA,NA,20,NA,NA,20,20,10,NA,NA,NA,10,NA,NA)

DF<-data.frame(X,Y,Col,value)


p<-ggplot(DF, aes(x=X, y=Y)) +geom_line(size=.02) +geom_point(col='black', size=.5)+ geom_jitter(aes(color = Col, size = value),position = position_jitter(height = .2, width = .2)) + scale_colour_manual(values=c("red", "violetred","orange",'blue','steelblue'))



p+guides(size = "none")

在基本线图的顶部,我有5个不同的彩色点可能性由“Col”列定义。我还想使用“值”列表示2个不同的大小类。我的问题是,选择用于表示“值”列的默认大小是缩放的,因此与较小的大小相比,较大的大小在图中显得过大。

有没有办法手动设置比例,以便我可以控制添加点的绘制大小(希望它们彼此之间的大小更接近)?最终的情节应该与这里的情节类似,只有值= 10点只会略小于值= 20点。

我尝试过使用一些“手动”选项,但是当我这样做时,总是会绘制其他“Y”列点,这些点现在由于NAs而被抑制

1 个答案:

答案 0 :(得分:1)

使用scale_size变体手动定义点的颜色的方式相同,您可以使用+ scale_size(range = c(4,6))定义尺寸。

在这种情况下,您可以定义要使用的尺寸范围。添加<?php global $post; $listed = get_post_meta($post->ID,'listed',true); if( $listed == 'Sold' ) { echo ' <div class="more-information">Sold By</div><li> [broker] '; } if( $listed == 'For Sale' ) { echo ' <div class="more-information">Contact Information </div><li> [broker]'; } if( $listed == 'Not For Sale' ) { echo ' <div class="more-information">Last Active Agent </div><li> [broker]'; } if( $listed == 'Contingent or Pending Sale' ) { echo ' <div class="more-information">If interested, contact agent for current status. </div><li> [broker]'; } if( $listed == 'Demolished' ) { echo '<li> '; } ?> 似乎可以提供符合您描述的结果。您可以通过更改数字来调整点的大小和点之间的大小差异。