13

これを何と呼ぶべきか正確にはわかりませんが、一種の「壊れたヒストグラム」または「軸のギャップ」効果を達成しようとしています: http://gnuplot-tricks.blogspot.com/2009/11/broken- histograms.html (例は gnuplot にあります) と R.

gap.plot()パッケージの関数を使用する必要があるように見えますplotrixが、散布図と折れ線グラフでそれを行う例しか見たことがありません。プロットの周りのボックスにブレークを追加してそこにジグザグを配置できましたが、軸を再スケーリングしてブレークの下の部分を拡大する方法がわかりません。

全体のポイントは、非常に短いビンの大部分を拡大しながら、ヒストグラムの 1 つの非常に大きなバーの最高値を表示できるようにすることです。(はい、これが誤解を招く可能性があることはわかっていますが、可能であれば実行したいと考えています)

助言がありますか?

更新 2012 年 5 月 10 日 1040 EST:

データを使用して通常のヒストグラムを作成し、<- を使用してそれを変数 ( ) に保存するとhdata <- hist(...)、次の変数に対して次の値が得られます。

hdata$breaks
 [1] 0.00 0.20 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.30 0.31 0.32 0.33
[16] 0.34 0.35 0.36 0.37 0.38 0.39 0.40 0.41 0.42 0.43 0.44 0.45 0.46 0.47 0.48
[31] 0.49 0.50 0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.60 0.61 0.62 0.63
[46] 0.64 0.65 0.66 0.67 0.68 0.69 0.70 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78
[61] 0.79 0.80 0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89 0.90 0.91 0.92 0.93
[76] 0.94 0.95 0.96 0.97 0.98 0.99 1.00

hdata$counts
 [1]    675      1      0      1      2      2      0      1      0      2
[11]      1      1      1      2      5      2      1      0      2      0
[21]      2      1      2      2      1      2      2      2      6      1
[31]      0      2      2      2      2      3      5      4      0      1
[41]      5      8      6      4     10      3      7      7      4      3
[51]      7      6     16     11     15     15     16     25     20     22
[61]     31     42     48     62     57     45     69     70     98    104
[71]     79    155    214    277    389    333    626    937   1629   3471
[81] 175786

$breaksをx 軸とy 軸として使用したいと考えてい$countsます。

4

2 に答える 2

12

gap.barplotplotrix パッケージの を使用できます。

# install.packages('plotrix', dependencies = TRUE)
require(plotrix)

   example(gap.barplot)

また

twogrp<-c(rnorm(10)+4,rnorm(10)+20)
gap.barplot(twogrp,gap=c(8,16),xlab="Index",ytics=c(3,6,17,20),
ylab="Group values",main="Barplot with gap")

これをくれる、 例 (gap.barplot)

更新 2012-05-09 19:15:42 PDT

(or )で使用facet_wrapするオプションはありますか? そうすれば、データを並べて比較できますが、y スケールが異なります"free""free_y"scales

これが私の簡単な例です。

library('ggplot2')

source("http://www.ling.upenn.edu/~joseff/rstudy/data/coins.R")
coins$foo <- ifelse(coins$Mass.g >= 10,  c("Low"), c("hight")) 
m <- ggplot(coins, aes(x = Mass.g)) 
m + geom_histogram(binwidth = 2) + facet_wrap(~ foo, scales = "free")

上記はあなたにこれを与えるでしょう、 ここに画像の説明を入力

于 2012-05-09T00:37:01.997 に答える
1

これはうまくいくようです:

gap.barplot(hdata$counts,gap=c(4000,175000),xlab="Counts",ytics=c(0,3500,175000),
    ylab="Frequency",main="Barplot with gap",xtics=hdata$counts)
于 2014-08-06T13:36:00.597 に答える