ggplot2を使って、軸に切れ目を入れることはできますか?
質問
ある値が他の値よりずっと大きい棒グラフを作りたいのですが、Y軸を不連続にする方法はありますか?不連続なY軸を持つ方法はありますか?私のデータは次のとおりです。
df <- data.frame(a = c(1,2,3,500), b = c('a1', 'a2','a3', 'a4'))
p <- ggplot(data = df, aes(x = b, y = a)) + geom_bar()
p <- p + opts(axis.text.x=theme_text(angle= 90, hjust=1)) + coord_flip()
p
<イグ
軸を1-10、次に490-500にする方法はありますか?データをプロットする他の方法は思いつきません(変換するのは別として、やりたくはないのですが)。
[2019-05-06の編集】です。]
8年後、上記のコードはバージョン3.1.1で動作するように修正する必要があります。
ggplot2
で動作するように修正する必要があります。
library(ggplot2)
ggplot(df) +
aes(x = b, y = a) +
geom_col() +
coord_flip()
どのように解決するのですか?
他の場所で述べたように、これは
ggplot2
がうまく処理できるものではありません。なぜなら、壊れた軸は一般的に疑わしいと考えられているからです。
他の戦略は、しばしばこの問題に対するより良い解決策とみなされます。Brian はいくつか言及しました (ファセット化、異なる値のセットに焦点を当てた 2 つのプロット)。人々があまりにも頻繁に見過ごす他の 1 つのオプションは、特に Barcharts の場合ですが、グラフを表示するために テーブル :
実際の値を見ると、500は他の値の違いを見えなくしていません! 何らかの理由で、表はデータの視覚化技術として十分に評価されていません。データには多くのカテゴリがあり、表では扱いにくくなることに異議を唱えるかもしれません。もしそうなら、棒グラフも同様に、理にかなっていないほど多くの棒を持つことになりそうです。
そして、私はテーブルについて議論しているわけではありません。 すべて を主張するものではありません。しかし、比較的少数のバーでバーチャートを作成する場合は、間違いなく考慮すべきものです。また、大量のバーを持つバーチャートを作成している場合は、いずれにせよ再考する必要があるかもしれません。
最後に、また
axis.break
関数の中で
plotrix
関数で、壊れた軸を実装しています。しかし、私が調べたところでは、軸のラベルと位置を自分で手作業で指定する必要があるようです。
関連
-
Rによる系統的クラスタリング(階層)分析のグラフ形式の完全版
-
[解決済み] 文字列ベクトルを代入して、列名を持つ空のデータフレームを作成する?重複
-
[解決済み] ggplot 2.0.0でのポイントサイズ
-
[解決済み] Rの再現性のある優れた例題の作り方
-
[解決済み] データフレームの行を複数の列でソート(並び替え)する。
-
[解決済み] ggplot2 の軸ラベルを回転させ、間隔を空ける
-
[解決済み] 関数のソースコードを見るにはどうしたらいいですか?
-
[解決済み] ベクトル中のある要素のインデックスを求めるR関数はありますか?
-
[解決済み] R および RStudio のコンソールをクリアする関数
-
[解決済み] ggplot2 を使って 2 つの変数を同じグラフに線でプロットする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
R LanguageError in hist.default() : 'x' は数値でなければなりません.
-
R plot.new() のエラー : 図形の余白が大きすぎる
-
[解決済み] Rで複数行のコメントを持つことは可能ですか?[重複している]。
-
[解決済み] データフレームを結合(マージ)する方法(内側、外側、左側、右側)
-
[解決済み] グループ化関数(tapply、by、aggregate)と*applyファミリ
-
[解決済み] R dataframeでNAの値をゼロに置き換えるには?
-
[解決済み] require()とlibrary()の違いは何ですか?
-
[解決済み] 統計的最頻値の求め方は?
-
[解決済み] 不足しているパッケージをチェックし、インストールするためのエレガントな方法?
-
[解決済み] データフレームのカラムのデータ型を決定する