2015-02-12 5 views
9

Bir rmarkdown belgesinde R'ye okuma, temizleme ve ggplot2 ile çizim yaptığım bir dizi büyük ish dosyası var.Harici bir araç kullanmadan büyük bir veri kümesi kullanırken, knitR/ggplot2'deki pdf dosya boyutunu küçültebilir miyim?

Çoğu dosya, yaklaşık 80.000 satırlık veriyle yaklaşık 3 MB boyutundadır, ancak bazıları 318,406 veri satırı (Zaman, Uzantı, Kuvvet) ile 12 MB'dir.

Time,Extension,Load 
    (sec),(mm),(N) 
    "0.00000","0.00000","-4.95665" 
    "0.00200","0.00000","-4.95677" 
    "0.00400","0.00000","-4.95691" 
    "0.10400","-0.00040","-4.95423" 

Verilerin ile yayık ve (bu tamam) pdf dosyası oluşturmak için bir süre alır, ancak PDF dosyası orada yaklaşık 16 grafiklerle boyutunda artık neredeyse 6Mb olduğu (aslında 3 grafiklerinde faset olan ggplot2 kullanarak çizim.

Veri kümemdeki her veri noktası için pdf'nin bir satır segmenti içerdiğini anlıyorum ve bu nedenle grafik sayısını artırdığımda dosyadaki veri miktarı artar./Ancak, bir gereksinim öngörmüyorum Bu detay seviyesini görmek için pdf dokümanı delin ve 10Mb'ye yaklaştıkça e-posta gönderirken sorun yaşıyorum.

pdf2ps kullanarak pdf'yi pdf'ye dönüştürüp ps2pdf ile pdf'ye geri dönersem, orijinal pdf boyutunun 1/3'ü ile ilgili bir dosya alıyorum ve kalitesi harika görünüyor.

nedenle pdf dosyası sıkıştırmak için bir dış alet olmayan PDF görüntü çizilmiştir nokta sayısını azaltmak için Ar/knitR/ggplot2 içinden bir yöntem var mıdır? (Ya da bir şekilde pdf oluşturulan optimize etmek?)

Şerefe Pete

cevap

11

Sen png-pdf gelen grafik cihazı değiştirmeyi deneyebilirsiniz kurulum yığın

knitr::opts_chunk$set(dev = 'png') 

ekleyerek.

Ya da çıkış başlığına bu ekleyebilir

output: 
    pdf_document: 
    dev: png 

farklı cihazları (png, jpg) deneyin. Belki bu

+0

Yup - png bunu değiştirecektir. 600k'ye kadar 6Mb. – PJP

+1

Not svg bu bağlamda bu arada çalışmadı. – PJP

+0

... sağa, raster formatlar küçük olacak, vektör formatları ise büyük olacaktır. Sıkıştırılmamış, bir raster görüntü her piksel/noktayı/bir başka şekli kodlarken, her bir pikseli kodlar. – Gregor

İlgili konular