2016-12-29 7 views
3

私はplotrixのgap.barplot()関数を使用していますが、いくつかの値が非常に小さいときに問題が発生しています。次のように私はギャップバープロットを作成した場合gap.barplotを使用してバーがゼロに固定されていません

test.df <- data.frame(
perc = c(2.5,7.5,12.5,17.5,22.5,27.5,32.5,37.5,42.5,47.5,52.5,57.5,62.5,67.5,72.5,77.5,82.5,87.5,92.5,97.5), 
count = c(143649,30872,17444,11333,7513,5257,3677,2795,1976,1530,1022,916,862,985,808,339,59,2,1,1) 
) 

:次のデータフレームを皮切り

library(plotrix) 
gap.barplot(test.df$count, gap=c(38000,136000), xaxlab=test.df$perc, xtics=test.df$perc, ytics=c(0:30)*5000, col="white", las=1) 

それは罰金探して出てきます。

enter image description here

しかし、私は次のコードを使用して、1000で値を "カウント" 分割しようとした場合:

gap.barplot(test.df$count/1000, gap=c(38,136), xaxlab=test.df$perc, xtics=test.df$perc, ytics=c(0:30)*5, col="white", las=1) 

バーが0

enter image description here

で固定されていません

"count"の値が3000より大きい場合(または新しいスケールで3)は、ゼロよりも大きい場合でも下向きになります。何らかの理由で、バーは0ではなく3に固定されています。これがどうして起こるのか、それを修正するために何ができるのか誰にも分かりますか?

答えて

1

私はこれを調べました。新しいバージョンのパッケージで問題が修正されたようです。 devtools pacakgeから次のコマンドを使用してplotrixをインストールしたとき、正しいプロットを作成することができました。

install_github("cran/plotrix") 

enter image description here

下水平カットがコード更新する前に次のコードを使って設定されたかのようにそれが表示されます。

botgap <- ifelse(gap[1] < 0, gap[1], xlim[1]) 

、最近以下に更新されました:

botgap<-ylim[1] 

あなたの例では、私はパッケージがbotgaを計算しているのを見ていましたp = 2.5(したがって、2.5より小さいすべての値は負のバーで表示されますが、0にしたかった)。以前のバージョンのパッケージでは、botgapの値をオーバーライドする方法はないので、可能であれば、新しいバージョン。別のオプションは、正しいコードであなたが定義した新しい関数を作成することです。

自分で確認したい場合は、Rコンソールのplotrix :: gap.barplotを使用して、ダウンロードした機能を確認し、github hereの新しいバージョンと比較してください。

+0

ありがとうございます。更新されたコードは私のために働く。 – user1399932

関連する問題