。
library(ggplot2)
df <- data.frame(val = c(10, 20, 100, 5), name = LETTERS[1:4])
ggplot(df, aes(x = name, y = val, fill = name)) +
geom_bar(stat = "identity")
y軸(バーの下)上のゼロ点からのずれ及びここで、x軸ラベルがあるとされています。
注I:
ggplot(df, aes(x = name, y = val, fill = name)) +
geom_bar(stat = "identity") +
scale_y_discrete(expand = c(0,0)) +
scale_x_discrete(expand = c(0,0))
これは、プロットを与える:
あなたは、これは、scale_y_discrete
またはscale_y_continuous
を使用してデータの性質に応じて、expand
c(0,0)
に設定削除することができますy軸に沿ってギャップを取り除いた場合は、このギャップを追加するためにscale_x_discrete
行を削除するだけです。
エラーバーは、ここでは、問題があるので、いくつかの例は以下のとおりです。
ggplot(df, aes(x = name, y = val, fill = name)) +
geom_bar(stat = "identity") +
geom_errorbar(aes(ymin = val - 10,
ymax = val + 10))
あなたがダウンし、エラーバーへのパディングを削除するために、スケールを使用することができます。
ggplot(df, aes(x = name, y = val, fill = name)) +
geom_bar(stat = "identity") +
geom_errorbar(aes(ymin = val - 10,
ymax = val + 10)) +
scale_y_continuous(expand = c(0,0))
また、coord_cartesianを使用して厳しいカットオフを与えることもできます。
ggplot(df, aes(x = name, y = val, fill = name)) +
geom_bar(stat = "identity") +
geom_errorbar(aes(ymin = val - 10,
ymax = val + 10)) +
scale_y_continuous(expand = c(0,0)) +
coord_cartesian(ylim = c(0, max(df$val) + 10))
あなたは、再現性の例を作るだろうか?おそらく、組み込みデータセットでこれを実証することができますが、そうでない場合は、データを 'dput()'またはシミュレーションによって共有する必要があります。 [再現可能な例を作るためのヒントについてはこちらをご覧ください](http://stackoverflow.com/q/5963269/903061)。 – Gregor
また、例が* minimal *の場合はいいです - 実際の問題から逸脱するものを削除するのに役立ちます。カスタムカラー、ラベル、斜めのテキスト、テーマのカスタマイズなどが問題の一部でない場合は、質問から削除してください。 – Gregor
expand = c(0,0)を使用すると、y軸の限界をデータセットの最大値と最小値に設定します。エラーバーがおそらく大きすぎてゼロ以下(奇妙だが可能)である場合、最小値はこの値(たとえば-1)であり、ゼロではありません。おそらく試して、limit = c(0,0)をscale_y_continuousに追加してください。 – Wave