1

ここから入手できるデータを使用してヒストグラムを作成しようとしています。このデータベースのCSVバージョンを使用して、1年に発見された外植片の数を表示しています。簡単なスクリプトは

bulkdata <- read.csv('file.csv',head=1,sep=',')
pdf(file="yearcount.pdf",family="Times")
bins <- seq(min(bulkdata$discovered,na.rm=T),max(bulkdata$discovered,na.rm=T),by=1)
hist(bulkdata$discovered,breaks=bins,col='gray',ylab="Discovered",xlab="Year",main="",ylim=c(0,100),axes=FALSE)
axis(1, at=seq(1989,2012,by=1))
axis(2, at=seq(0,100,by=10))
grid(nx=10)
hist(bulkdata$discovered,breaks=bins,col='gray',ylab="Discovered",xlab="Year",main="", add=TRUE)
dev.off()

問題は、がのポイントと整列してxaxis いないことです。によって描かれた線は目盛りと整列していないため、何の意味も持たないため、これは問題です。修正するオプションを追加しようとしましたが、この方法では軸は正しく描画されますが、グリッドは軸のから始まります。たぶん非標準のパッケージが必要ですか?0yaxisgrid() axis(1, at=seq(1989,2012,by=1))line=-1

4

1 に答える 1

3

?grid言う:

さらに微調整が必​​要な場合は、「abline(h =。、v =。)」を直接使用してください。

だからここに提案があります:

par(las=1,bty="l")
h <- hist(bulkdata$discovered,breaks=bins,
     col='gray',ylab="Discovered",xlab="Year",main="",
     ylim=c(0,100),axes=FALSE)
yrs <- 1989:2012
yvals <- seq(0,100,by=10)
axis(1, at=yrs)
axis(2, at=yvals)
abline(h=yvals,v=yrs,col="gray",lty=3)
hist(bulkdata$discovered,breaks=bins,
     col='gray',ylab="Discovered",xlab="Year",main="", add=TRUE)

グリッド線を少しまばらにすることを検討します(たとえば、5年ごと?)

ここに画像の説明を入力してください

于 2012-12-26T17:48:05.063 に答える