2017-06-09 12 views
0

私は以下のようなプロットをy軸上に変数として持ちます。ggplot2の要素変数y軸と削除された空白

library(reshape2) 
library(ggplot2) 

MA <- c("A", "B", "C") 

dfr <- data.frame(
    name  = factor(MA, levels = MA), 
    start  = 1:3, 
    end   = 3:5, 
    prozent  = c(1,0.5,0.75) 
) 
mdfr <- melt(dfr, measure.vars = c("start", "end")) 

ggplot(mdfr, aes(value, name)) + geom_line(aes(size = prozent)) + scale_size_area() 

enter image description here

私は、彼らが互いに接触するように、水平線の間に空白(または、デフォルトのggplot2で、「greyspace」)を削除します。

+1

垂直ここに潜在的な可能性があります。しかし、あなたは 'name'ラベルを軸で失います。最終的な結果を望むかどうかに応じて、 'expand'を使用したときにこれらのラベルがかなり盛り上がり、他のテキストラベルを追加する方が便利な場合もあります。 – aosmith

答えて

1

次のようにあなたが行うことができます: `ggstance :: position_dodgev`経由逃れ

ggplot(mdfr, aes(value, name)) + 
    geom_line(aes(size = prozent)) + 
    scale_size_area() + 
    scale_y_discrete(expand = c(7, 0)) 
+0

これは一般的な解決策ではないと思います。プロットのサイズを変更しても、 "greyspaces"が表示されます。 – Lstat

+0

現時点では、プロットの大きさによっては、少なくともライン間に「グリースペース」が存在しないことは喜んでいます。それは、ラインの上と下の今では増やされたグリースペースを減らすことが可能ならば、それは素晴らしいだろうと言いました! –

+0

@ Lstatは実際には一般的ではありませんが、因子ベースの 'y-grid'のための"グレースペース "を操作することは難しいと思います。さもなければ 'limit()'だけを設定することができます。あなたはこれを行う他の方法を知っていますか? – AK88

関連する問題