2

代替テキストみなさん、こんにちは。次の溶融データがあります。

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

どんな助けでも大歓迎です。

4

2 に答える 2

8

これがあなたが探しているものであるかどうかはわかりませんが、ポイントをプロットするときにゼロ値を無視する1つのアプローチは、geom_point()ステートメントを次のように変更することです。

geom_point(subset = .(value > 0))

この線は、プロットされるデータフレームのゼロ以外の値のみを渡します。

于 2010-09-12T16:12:56.733 に答える
0

ラムナスの(ありがとう!)提案をどのように使用したかを示すためだけに(私のような初心者を助けるために):

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()
于 2010-09-13T10:14:54.953 に答える