質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
RStudio

RStudioは、Rのプログラミングを効率化する統合開発環境です。統計計算とグラフィックスができるプログラミング言語であるRのIDEでOSSで公開されています。ソースコードやコンソールなどが一つの画面に見やすく配置されている点が特徴。コマンド名以外に、関数名やパッケージ名も補完できます。

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

Q&A

解決済

1回答

1161閲覧

棒グラフのエラーバーが隠れないようにしたい。

kurokaba

総合スコア6

RStudio

RStudioは、Rのプログラミングを効率化する統合開発環境です。統計計算とグラフィックスができるプログラミング言語であるRのIDEでOSSで公開されています。ソースコードやコンソールなどが一つの画面に見やすく配置されている点が特徴。コマンド名以外に、関数名やパッケージ名も補完できます。

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

0グッド

0クリップ

投稿2023/01/19 11:58

前提

ここに質問の内容を詳しく書いてください。

R studioにて棒グラフにエラーバーをつけて作図したいが、重なった部分のエラーバーが棒グラフに隠れて表示されない。

実現したいこと

棒グラフに隠れないようにエラーバーを作図したい。

発生している問題・エラーメッセージ

イメージ説明

該当のソースコード

R

1library(ggplot2) 2 3data1 <- data.frame(Group = c("A", "B", "C"), 4 Value = c(4, 5, 3), 5 Error = c(1, 1, 1)) 6 7 8ggplot(data = data1, aes(x = Group, y = Value)) + 9 geom_errorbar(aes(ymin = Value -Error, ymax = Value + Error), width = .3) + 10 geom_bar(stat = "identity") 11

【環境】
PC:MacBook Air ver.11.5.2(Big Sur)
R:R 4.1.1
Rstudio:2021.09.0 Build 351

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

melian

2023/01/19 12:12

geom_errorbar(aes(ymin = Value -Error, ymax = Value + Error), width = .3) の ymin は ymin = -Error ではないでしょうか。
kurokaba

2023/01/19 12:17

説明不足で申し訳ありません。 やりたいこととしは、棒グラフのてっぺんの位置から上下にエラーバーをつけたいので、yminは ymin = Value -Errorであっています。
guest

回答1

0

ベストアンサー

R では、ggplot2 パッケージの geom_errorbar() 関数を使用して、棒グラフにエラー バーを描画できます。エラー バーがバー チャートで隠れないようにするために、position 引数を使用してエラー バーの位置を調整できます。

以下は、ggplot2 を使用して R でエラーバー付きの棒グラフを作成する方法の例です。

library(ggplot2) # Create some example data data <- data.frame(x = c("A", "B", "C"), y = c(1, 2, 3), ymin = c(0.5, 1.5, 2.5), ymax = c(1.5, 2.5, 3.5)) # Create the bar graph ggplot(data, aes(x, y, fill = x)) + geom_bar(stat = "identity") + geom_errorbar(aes(ymin = ymin, ymax = ymax), width = 0.2, position = position_dodge(0.9))

上記の例では、geom_errorbar() 関数の position 引数に position_dodge(0.9) が使用されています。これは、エラー バーの位置を調整して、バー チャートによって隠れないようにします。この値を調整して、エラー バーと棒グラフの重なりを制御できます。

もう 1 つのオプションは、geom_errorbar() の代わりに geom_linerange() を使用することです。これにより、エラー バーの ymin 値と ymax 値を指定できます。

ggplot(data, aes(x, y, ymin=ymin, ymax=ymax, group = x)) + geom_col(aes(fill = x)) + geom_linerange(position = position_dodge(width=0.9))

geom_crossbar() を使用してエラー バーをより正確に制御することもできます。これにより、エラー バーの幅を調整できます。

ggplot(data, aes(x, y, ymin=ymin, ymax=ymax, group = x)) + geom_col(aes(fill = x)) + geom_crossbar(width = 0.1, position = position_dodge(width = 0.9))

geom_errorbar()、geom_linerange()、および geom_crossbar() の width および position 引数を操作して、目的の出力を取得できることに注意することが重要です。

投稿2023/01/19 12:24

Queenterry

総合スコア29

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kurokaba

2023/01/19 12:41

丁寧なご説明と、早急なご回答ありがとうございます。 解決いたしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問