[R] Problems with line types in plots saved as PDF files

Eik Vettorazzi E.Vettorazzi at uke.de
Wed Feb 20 12:58:37 CET 2013


Hi Ian,
besides encouraging alternative pdf viewers, you just could thin out
your interpolation grid, such as
b = seq(-10, 10, 0.02) #instead of 0.0002
and everything goes fine even with AcroRead XI.

Cheers

Am 20.02.2013 01:09, schrieb Ian Renner:
> Hi,
> 
> I am trying to save a plot as a PDF with different line types. In the example below, R displays the plot correctly with 2 curves in solid lines, 2 curves in dashed lines and 1 curve as a dotted line. However, when I save the image as PDF (as attached), the dashed lines become solid. This also happens if I use the pdf command directly (by removing the # symbols).
> 
> Is there any way around this? Saving the image as a JPEG or PNG file works fine but the image quality is not desirable.
> 
> b.hat = 6
> a.1 = -12
> a.2 = 0
> a.3 = 200
> 
> b = seq(-10, 10, 0.0002)
> l = a.1*(b - b.hat)^2 + a.2*(b - b.hat) + a.3
> 
> lambda = 20
> 
> p = -lambda*abs(b)
> 
> pen.like = l + p
> 
> y.min = 3*min(p)
> y.max = max(c(l, p, pen.like))
> 
> #pdf(file = "TestPlot.pdf", 6, 6)
> #{
> plot(b, l, type = "l", ylim = c(y.min, y.max), lwd = 2, xlab = expression(beta), ylab = "", col = "green", yaxt = "n", xaxt = "n")
> points(b, p, type = "l", lty = "dotted", lwd = 2, col = "red")
> points(b, pen.like, type = "l", lwd = 2, lty = "dashed", col = "green")
> 
> axis(1, at = c(0))
> axis(2, at = c(0))
> 
> lambda.hat = which.max(pen.like)
> lambda.glm = which(b == b.hat)
> 
> points(b[lambda.glm], l[lambda.glm], pch = 16, cex = 1.5)
> points(b[lambda.hat], l[lambda.hat], pch = 17, cex = 1.5)
> 
> b.hat = -3
> a.1 = -1.5
> a.2 = 0
> a.3 = 120
> 
> l = a.1*(b - b.hat)^2 + a.2*(b - b.hat) + a.3
> 
> pen.like = l + p
> 
> points(b, l, type = "l", lwd = 2, col = "blue")
> points(b, pen.like, type = "l", lwd = 2, lty = "dashed", col = "blue")
> 
> lambda.hat = which.max(pen.like)
> lambda.glm = which(b == b.hat)
> 
> points(b[lambda.glm], l[lambda.glm], pch = 16, cex = 1.5)
> points(b[lambda.hat], l[lambda.hat], pch = 17, cex = 1.5)
> 
> abline(h = 0)
> abline(v = 0)
> 
> #}
> 
> #dev.off()
> 
> 
> Thanks,
> 
> Ian
> 
> 
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
> 


-- 
Eik Vettorazzi

Department of Medical Biometry and Epidemiology
University Medical Center Hamburg-Eppendorf

Martinistr. 52
20246 Hamburg

T ++49/40/7410-58243
F ++49/40/7410-57790
--
Pflichtangaben gemäß Gesetz über elektronische Handelsregister und Genossenschaftsregister sowie das Unternehmensregister (EHUG):

Universitätsklinikum Hamburg-Eppendorf; Körperschaft des öffentlichen Rechts; Gerichtsstand: Hamburg

Vorstandsmitglieder: Prof. Dr. Martin Zeitz (Vorsitzender), Dr. Alexander Kirstein, Joachim Prölß, Prof. Dr. Dr. Uwe Koch-Gromus



More information about the R-help mailing list