は、私の目標は、トラブルは、私はR.でggplot2を使用して対数スケールでグループ化されたバープロットを作成しようとしている
R.で以下のプロットを再作成することでしたこれを生成したプログラムは高解像度のグラフを作成できないためです。数字の範囲は1から1000を超え、その間にはどこでもあるため、ログスケールが必要です。
これは、使用しているコードと同様に、データフレームの簡略化されたバージョンのスニペットです。私はggplot2を使ってプロットを作成することができましたが、私の問題は、データに1を多く持ち、最終的に0としてプロットされ、0は-1として表示されることです。私のRプロットは次のようになります。
genus_counts <- read.table(text = "Genus variable value
1 Lepisosteus JBGC462 0
2 Lepomis JBGC462 6
3 Micropterus JBGC462 2
4 Perca JBGC462 2
5 Ictalurus JBGC462 1
6 Lepisosteus JBGC13 13
7 Lepomis JBGC13 0
8 Micropterus JBGC13 0
9 Perca JBGC13 0
10 Ictalurus JBGC13 0", header = TRUE)
ggplot(genus_counts, aes(x=Genus, y=value, fill=variable))+
geom_bar(stat="identity", position="dodge")+
scale_y_log10()
は数学的には、私はこのような場合は理由を理解(ともバープロット上のログスケールは本当に理想的ではありません)。しかし、私がプロットしようとしているプロットに近い一致を得るためにプロット(または私がプロットに与えている数)を調整できる別の方法はありますか?
'scale_y_sqrt()'類似した質問の – Mako212
多く、例えば、[この1](https://stackoverflow.com/questions/41047939/ggplot-barplot-how-to-display-small-正の数 - 対数 - スケールされたy軸)。さらに、最善のアドバイスは常に棒グラフとログ軸を混在させない**です。 0または-'sは不可能です。すべての値が+ veであっても、(1)バーに沿って直線的に距離を知覚するので、バーは誤解を招きます。 (2)バーの相対的な大きさは、バーの底の値の選択に任意に依存する。したがって、自由に相違を抑制または誇張することができます。あなたがそれを見ている人の例を見つけることができるからといって、それを大丈夫にしてはいません。 – dww
...代替案には、(1)すべての値が正の場合はドットチャート、(2)別々にグループを表示する場合は自由(リニア)yスケールでファセットする、(3)注文データが多くない場合スパンに達する大きさの場合、直線軸を使用します。 – dww