alt text大家好,我有以下熔融数据:

 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.

我使用以下代码来绘制数据的调整量:

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()

一切都很好,除了我要忽略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()

任何帮助将不胜感激。

有帮助吗?

解决方案

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

geom_point(subset = .(value > 0))

该行仅通过要绘制的数据框中的非零值。

其他提示

只是说明我如何使用Ramnath的建议(谢谢!)(因此可以帮助像我这样的新手):

foo= read.csv('~/Desktop/foo.csv', header=T)
foomelt = melt(foo)
foomelt$Station<-factor(foomelt$Station, levels=unique(as.character(foo[[1]]))) #to keep the order of the x axis the same
                                                                                # as in the original file`
bigfoo <- subset(foomelt, value > 0) #use only those values that are larger than 0
ggplot(bigfoo, aes(x=bigfoo$Station, y=variable, angle=45, size=(value))) +  geom_point() 
+  opts(theme_bw(), axis.text.x   = theme_text(size=9, angle = 90)) + scale_area()
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top