2012-03-30 18 views
16

ggplot2 için temalar, birden çok veya yinelenen + opt()... satırına olan ihtiyacı ortadan kaldırmayı oldukça kolaylaştırır. Ancak, geoms ve ölçek renkleri için varsayılanları tanımlamanın bir yolu olup olmadığını bilmek istiyorum. Her bir arsa için ...+ scale_fill_manual() yazmak zorunda kalmak yerine, onu ayarlayıp unutmak istiyorum.Coğrafyalar ve ölçekler için Varsayılanlar Ayarlama ggplot2

ölçeklerde için

, o orada bir noktada görünüyor: Ben geom_text(...,size=3,color="white") gibi şeyler tekrar yazmak zorunda (ya da yeniden yazmak unutma) kalmamak Benzer şekilde, ben

Güncelleme geom seçeneklerini ayarlamak mümkün istiyorum bir yöntem oldu:

set_default_scale("colour", "discrete", "grey")

Ama bu fonksiyon ggplot2 en son sürümünde mevcut görünmüyor.

Ben geom s için yararlı bir şey düşünemiyorum, ama scales için, seçeneklerden biri ggplot s bileşenleri, kaydedilmiş saklanır ve herhangi gibi yeniden atanabilir basitçe R nesneleri hepsi olduğu gerçeğini kullanmak olacaktır
+2

http://groups.google.com/group/ggplot2-dev/ bakın browse_thread/thread/fc838059c281e835? pli = 1 – baptiste

cevap

16

Bunun için başka bir yöntem daha var. Sen aslında, örneğin herhangi bir estetik ölçeği üzerine yazabilirsiniz.

Şimdi, estetik o davranışı aşağıdaki renkli veya doldurulacaktır
scale_colour_discrete <- function(...) scale_colour_brewer(..., palette="Set2") 
scale_fill_discrete <- function(...) scale_fill_brewer(... , palette="Set2") 

'

olarak başına: https://groups.google.com/forum/?fromgroups=#!topic/ggplot2/w0Tl0T_U9dI

geoms için varsayılan ile ilgili olarak, örneğin, update_geom_defaults kullanabilirsiniz:

update_geom_defaults("line", list(size = 2)) 
+2

scale_colour_discrete adresinde "u" ifadesine dikkat edin! Bunu denemeden çalıştım ve işe yaramadı. –

+0

Buna karşı bir sorunum vardı, ancak eski zamanların eksik kalması nedeniyle sorunları kapatıyor gibi görünüyor. https://github.com/hadley/ggplot2/issues/799 –

4

diğer. İstediğiniz varsayılan değerlerle

sfmDefault <- scale_fill_manual(...) 
scmDefault <- scale_colour_manual(...) 

vb:

Yani belki gibi birçok ölçeklerin "varsayılan" versiyonlarının kendi koleksiyonunuzu oluşturabilirsiniz. Bunları .RProfile'a koyun veya nerede olursa olsun ve gerektiği gibi kullanın.

+0

Şu an kullandığım yöntem budur, ancak hala '... + sfm' değerini hatırlamak yerine bir varsayılan ayarlamayı tercih ediyorum. Bunun bir başka nedeni de, kodları paylaşma seçeneklerini paylaşmadan paylaşmak isteyebilmemdir. –

+0

@BrandonBertelsen Bildiğiniz şeyleri çoğaltdığınız için üzgünüm! Bunun sizin belirlediğiniz nedenlerden dolayı optimal olmadığına katılıyorum. Yine de daha iyi bir şey bilmiyorum. – joran