2012-08-23 27 views
7

Tôi có mã sau để tạo một plot. Trên x - và y-axessymbols xuất hiện trên màn hình, trong một JPEG khi tôi lưu âm mưu của tôi ở định dạng đó, nhưng không phải khi tôi lưu cốt truyện dưới dạng PDF.Biểu tượng âm mưu không thành công trong PDF

Có biểu tượng thay thế cho số \u2030 của tôi sẽ in trong tệp PDF của tôi hoặc giải pháp khác cho sự cố của tôi không? Xem ví dụ dưới đây về đúng (định dạng JPEG) và các ô không chính xác (PDF).

plot(c(-1,1), c(-1,1), bty = "n", type= "n", las = 1, cex.lab = 1.5, cex.axis = 1.25, main = NULL, 
ylab=expression(paste("Correlation Coefficient (r) for ", delta ^{15},"N"," \u0028","\u2030","\u0029")), 
xlab=expression(paste("Correlation Coefficient (r) for ", delta ^{13},"C"," \u0028","\u2030","\u0029"))) 
axis(1, at = seq(-1.0, 1.0, by = 0.1), labels = F, pos = 0, cex.axis = 0.05, tcl = 0.25) 
axis(2, at = seq(-1.0, 1.0, by = 0.1), labels = F, pos = 0, cex.axis = 0.05, tcl = 0.25) 

enter image description here enter image description here

+2

Có bạn (ít nhất là tôi hiểu ti.) đã thử một thiết bị pdf khác, như 'cairo_pdf'? –

+0

Tôi không thể phát hiện ra bất kỳ thứ gì có vẻ "không chính xác" với tôi? –

+0

Tôi đã thử cairo_pdf nhưng gặp lỗi khi chạy lệnh 'plot' như trên. –

Trả lời

4

Vấn đề là phông chữ mặc định của bạn không có "‰" (mà tôi sẽ nói là "mỗi triệu") làm hình chữ nhật được tạo bằng \ u0028. Bạn cần thay đổi để một phông chữ mà không có mà Glyph:

?pdfFonts 

Đây là những gì tôi nhận được với thiết lập của tôi, nơi không có vấn đề

> str(pdfFonts("sans")) 
List of 1 
$ sans:List of 3 
    ..$ family : chr "Helvetica" 
    ..$ metrics : chr [1:5] "Helvetica.afm" "Helvetica-Bold.afm" "Helvetica-Oblique.afm" "Helvetica-BoldOblique.afm" ... 
    ..$ encoding: chr "default" 
    ..- attr(*, "class")= chr "Type1Font" 
+1

Tôi nhận được cùng một đầu ra, nhưng có thể sao chép vấn đề với mã hóa mặc định. – Roland

+0

Tôi không gặp khó khăn với việc mã hóa mặc định trên máy Mac của mình. (Điều này có thể không hữu ích cho OP, người đã không tiết lộ hệ điều hành của mình.) –

+0

Nhận xét của ông ở trên nói: 'R phiên bản 2.14.0 (2011-10-31) Nền tảng: i386-pc-mingw32/i386 (32-bit)' –

3

Bạn có thể phải thay đổi mã hóa. Trên mac của tôi này được tôi dấu ‰:

pdf('test.pdf',encoding="MacRoman") 
plot.new() 
text(0,labels="\u2030") 
dev.off() 

Look trong ‘enc’ thư mục của gói grDevices cho mã hóa có sẵn và thử chúng ra.

+0

Khi tôi thử mã, tôi nhận được 'Lỗi trong văn bản.default (0, nhãn =" ‰ "): mã hóa không xác định 'MacRoman' trong 'mbcsToSbcs'. Bất kỳ đề xuất về những gì điều này có nghĩa và làm thế nào để giải quyết nó? –

+0

Có. Bạn cần phải thử mã hóa khác vì bạn không sử dụng mac nhưng sử dụng cửa sổ. – Roland

+1

Sau khi thử nghiệm trên máy tính cửa sổ của tôi tại nơi làm việc: Tôi không thể sao chép vấn đề của bạn và mã cũng chạy tốt với mã hóa 'MacRoman', cũng có sẵn trên cửa sổ. Tôi đề nghị cài đặt phiên bản R mới nhất (2.15.1) và nếu sự cố vẫn tiếp tục cho chúng ta toàn bộ đầu ra của 'sessionInfo()'. – Roland

Các vấn đề liên quan