scatterplot of 100000 points and pdf file format
On Wed, 2004-11-24 at 17:43 +0100, Witold Eryk Wolski wrote:
Hi,
I tried the ps idea. But I am using pdflatex.
You get a even larger size reduction if you convert the ps into a pdf
using ps2pdf.
But unfortunately there is a quality loss.
I have found almost a working solution:
a) Save the scatterplot without axes and with par(mar=c(0,0,0,0)) as png .
b) convert it using any program to pnm
c) read the pnm file using pixmap
d) Add axes labels and lines afterwards with par(new=TRUE)
And this looks like I would like that it looks like. But unfortunately
acroread and gv on window is crashing when I try to print the file.
png(file="pepslop.png",width=500,height=500)
par(mar=c(0,0,0,0))
X2<-rnorm(100000)
Y2<-X2*10+rnorm(100000)
plot(X2,Y2,pch=".",xlab="",ylab="",main="",axes=F)
dev.off()
pdf(file="pepslop.pdf",width=7,height=7)
par(mar=c(3.2,3.2,1,1))
x <- read.pnm("pepslop.pnm" )
plot(x)
par(new=TRUE)
par(mar=c(3.2,3.2,1,1))
plot(X2,Y2,pch=".",xlab="",ylab="",main="",type="n")
mtext(expression(m[nominal]),side=1,line=2)
mtext(expression(mod(m[monoisotopic],1)),side=2,line=2)
legend(1000,4,expression(paste(lambda[DB],"=",0.000495)),col=2,lty=1,lwd=1)
abline(test,col=2,lwd=2)
dev.off()
Eryk, I tried this approach and was able to print without problem here under FC3, using acroread. Also, I think that you left out: test <- lm(Y2 ~ X2) in the code above, lest abline() will fail. Also I changed the x,y coordinates of the legend, since (1000, 4) is outside the plot range for the points that I generated here. Interesting approach, it reduced the pdf file size to about 7 Mb. BTW, any chance that there is a huge black hole in the center of that... ;-) Best, Marc