如何从ggplot2包中仅绘制geom_point中的一系列值?

Sch*_*Cat 2 r scatter-plot ggplot2

替代文字大家好,我有以下熔融数据:

 X      variable       value    
1 StationA SAR11.cluster 0.001309292
2 StationB SAR11.cluster 0.002712237
3 StationC SAR11.cluster 0.002362708
4 StationD SAR11.cluster 0.002516751
5 StationE SAR11.cluster 0.004301075
6 StationF SAR11.cluster 0.0

.
.
.
etc.
etc.
Run Code Online (Sandbox Code Playgroud)

我使用以下代码绘制数据的气泡图:

ggplot(foomelt, aes(x=foomelt$Station, y=variable, angle=45, size=(value))) + 
+geom_point() +  opts(theme_bw(), axis.text.x = theme_text(size=10, angle = 70)) 
+ scale_area()
Run Code Online (Sandbox Code Playgroud)

一切都很好,除了我想忽略0(零)值并且仅用于比所有那些比零更大的点和最大值之间的点值缩放.我不想从数据中删除零值行,因为为了证明一个点,我希望包含所有的站和变量,并将具有零值的行留空.

我设法使用它忽略零值但缩放不起作用:

   ggplot(foomelt, aes(x=foomelt$Station, y=variable, angle=45, size=(value>0))) +
    + geom_point() +  opts(theme_bw(), axis.text.x = theme_text(size=10, angle = 70)) 
    + scale_area("Ratio") + scale_size_identity()
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

Ram*_*ath 7

我不确定这是否是您正在寻找的,但是在绘制点时忽略零值的一种方法是将geom_point()语句修改为

geom_point(subset = .(value > 0))
Run Code Online (Sandbox Code Playgroud)

该行仅传递要绘制的数据帧中的非零值.