1

我正在尝试使用此处提供的数据构建直方图。我正在使用该数据库的 CSV 版本来显示每年发现的外植体数量。一个简单的脚本是

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 回答