2016-09-08 36 views
0

ggplot2を使用して、極線グラフで2つの処理をグラフ表示しようとしています。私は両方の治療のポイントをグラフ化し、入力した最初の治療のためのラインを得ることができますが、2番目のサブセットを接続したいラインは2番目のサブセットにオーバーレイしています。r-ggplot2:2行の極座標プロット

category highest lowest 
    1  A  71  23 
    2  B  81  38 
    3  C  77  22 
    4  D  83  56 
    5  E  84  32 
    6  F  82  55 
    7  G  73  26 

はこれまでのところ、私のコードは、そのこの

plot

すべてのヘルプのように見えるこの

p1<-ggplot(data=d,aes(x=factor(category),y=highest,group=1)) + 
ylim(0,NA) + 
geom_point(color='purple',stat='identity')+ 
geom_polygon(color='purple',fill=NA)+ 
coord_polar(start =-pi* 1/7) 

p1 

p1 + 
geom_point(aes(x=factor(category),y=lowest),color='green',stat='identity')+ 
geom_polygon(color='green',fill=NA)+ 
coord_polar(start =-pi* 1/7) 

とのように見えますか?ありがとう!!

+0

を再現性の例を提供してください。 –

+0

これはあなたが行っていたものですか(スパイダープロット)ですか? http://www.r-graph-gallery.com/143-spider-chart-with-saveral-individuals/ –

答えて

0

2番目のgeom_polygonコールでは、まだ全体的に美的(「最高」)を使用しています。異なる列をプロットするには、レイヤー内でaesに定義する必要があります。

geom_polygon(aes(y = lowest), color='green',fill=NA) 

ようなプロットを行うには、より標準的な方法は、しかし、あなたは変数をグループ化し、長いフォーマットにデータセットを取得することです(最高と最低の)変数であり、すべてのyの値は、単一でありますプロットの列。

library(reshape2) 
d2 = melt(d, id.var = "category") 

これが完了したら、colorをグループ化変数にマップできます。 scale_color_manualを使用して色を特定の値に設定します。あなたはデフォルトで凡例を取得します(これは良いことかもしれませんが)。guide = "none"を使用して抑制します。

ggplot(data=d2, aes(x=factor(category), y=value, group = variable, color = variable)) + 
    ylim(0,NA) + 
    geom_point(, stat='identity') + 
    geom_polygon(fill=NA)+ 
    coord_polar(start =-pi* 1/7) + 
    scale_color_manual(values = c("purple", "green"), guide = "none") 

両方のアプローチは、最終的には同じプロット与える: enter image description here

関連する問題