2012-05-08 15 views
16

Grafikler karmaşası yaratıyorum ve üretilen grafikleri PDF olarak vermek istiyorum. Bu tabii ki, "PDF olarak arsa kaydet" seçeneğini manuel rstudio Parsel sekmesinde 'ihracat' tıklayın ve mümkün, ve ben pdf()/dev.off() benim bölümlerin her birini sarmak için yapmamayı tercih ediyorum.Geçerli grafiği dışa aktarmak için bir komut var mı?

İdeal RStudio şu anda-görüntülenen arsa alıp İsterdim parametreleri (biçim/dosya adı/genişlik/yükseklik) ile kurtaracak bir işlev istiyorum.

Düşünceler?

@ naught101 önerisi gereğince Güncelleme

- Bir 5x7 için (inch!) Uygun bir boyut, bir A4 Word belgesine yapıştırılacak olan pdf dosyası, iyi aşağıdaki çalışır:

dev.copy2pdf(file="example.pdf", width = 7, height = 5) 
kullanırken

dopdf <- function(filename = "dopdf.pdf", pdf.width = 7, pdf.height = 5) { 
dev.copy2pdf(file=filename, width = pdf.width, height = pdf.height) 
} 

: varsayılan boyutları ile kolayca adlandırılan fonksiyonu olarak,

daha iyisibeni ggsave işlevini kullanarak kaydetmesine izin olurdu, dev.copy2pdf (benim asıl soruya yanıtlayan) iyi bir genel çözümdür.

+0

Tekrarlanabilir bir örnek sağlayın. Komut dosyanızın üst kısmında neden tek bir pdf() ve komut dosyanızın sonunda tek bir dev.off() bulunmuyor? Oluşturulan tüm araziler tek bir güzel pdf'ye yerleştirilecek mi? –

+0

Çalıştığım R betiği, bir Word belgesine gömülecek 15+ grafik çiziyor; boyutları değiştiğinden (bu nedenle tek bir PDF yardımcı olmaz) ve PDF'yi değiştirdiğimde (böylece tek tek dosyalara ihtiyaç duyduğunda) dokümana yerleştirildiğinde çizim PDF'lerini bağlamak istiyorum. Artı, bu iş akışıyla yapılacak çok şey vardır - I (a GDocs formundan canlı geliyor) veri keşfederken araziler çok ince ayar ve ben önümde bulmak son sürümünü kullanmaya muktedir istiyorum. Örnekler için, herhangi bir arsa yapacak ... – Simbamangu

+0

neden her plottan önce png() & dev.off() bloğu kullanmıyorsunuz? Sanırım sorunuzu daha iyi ifade etmeniz gerekiyor. – nav

cevap

10

Sana dev.copy2pdf aradığınız düşünüyorum. Bu, geçerli aygıtı pdf() ile aynı argümanları kullanarak bir pdf'ye kopyalamanıza olanak tanır. Ggplot2 (ve standart grDevice çizim araçlarını kullanan diğer herhangi bir çizim kütüphanesi, görünümüne göre) için temel çizim işlevleri için de iyi çalışır.

+0

Mükemmel! Tam olarak neyin peşindeydim. – Simbamangu

7

ggplot2 kullanırsanız, geçerli grafiği kaydetmek için ggsave işlevini kullanabilirsiniz. Bu işlev, elde edilen grafiğin (PDF, png veya diğer) genişliğini, yüksekliğini vb. Seçmenize izin verir. ggplot2 kullanmayan zaman adam sayfası sadece kahire X11 cihazlarda çalışır anlaşılacağı rağmen savePlot fonksiyon, benzer işlevler elde etmek için kullanılabilir.

+0

'savePlot' bu durumda çalışmıyor (Maalesef OSX 10.7'de RSTudio); Eğer ggplot2 (ki şimdi okumaya devam ediyorum) her şeyi yaptım eğer ggsave fonksiyonu iyi çalışır gibi görünüyor. – Simbamangu

İlgili konular