वंचित opts
और theme_rect
उपयोग से बचने के लिए:
myplot + theme(panel.background = element_rect(fill='green', colour='red'))
अपने स्वयं के कस्टम विषय को परिभाषित करने के लिए, theme_gray पर आधारित है, लेकिन आपके कुछ परिवर्तनों और ग्रिडलाइन रंग / आकार के नियंत्रण सहित कुछ अतिरिक्त अतिरिक्त ( ggplot2.org पर खेलने के लिए उपलब्ध अधिक विकल्प ):
theme_jack <- function (base_size = 12, base_family = "") {
theme_gray(base_size = base_size, base_family = base_family) %+replace%
theme(
axis.text = element_text(colour = "white"),
axis.title.x = element_text(colour = "pink", size=rel(3)),
axis.title.y = element_text(colour = "blue", angle=45),
panel.background = element_rect(fill="green"),
panel.grid.minor.y = element_line(size=3),
panel.grid.major = element_line(colour = "orange"),
plot.background = element_rect(fill="red")
)
}
अपने कस्टम विषय को डिफ़ॉल्ट बनाने के लिए जब ggplot को भविष्य में कहा जाता है, बिना मास्किंग के:
theme_set(theme_jack())
यदि आप वर्तमान में निर्धारित थीम के एक तत्व को बदलना चाहते हैं:
theme_update(plot.background = element_rect(fill="pink"), axis.title.x = element_text(colour = "red"))
ऑब्जेक्ट के रूप में वर्तमान डिफ़ॉल्ट थीम को संग्रहीत करने के लिए:
theme_pink <- theme_get()
ध्यान दें कि theme_pink
एक सूची थी जबकि theme_jack
एक फ़ंक्शन था। इसलिए theme_jack के उपयोग के लिए थीम theme_set(theme_jack())
वापस करने के लिए, जबकि theme_pink उपयोग पर वापस लौटें theme_set(theme_pink)
।
आप की जगह ले सकता theme_gray
द्वारा theme_bw
की परिभाषा में theme_jack
यदि आप पसंद करते हैं। आपके कस्टम विषय के समान है, theme_bw
लेकिन सभी ग्रिडलाइन्स (x, y, मेजर और माइनर) को बंद कर दिया गया है:
theme_nogrid <- function (base_size = 12, base_family = "") {
theme_bw(base_size = base_size, base_family = base_family) %+replace%
theme(
panel.grid = element_blank()
)
}
अंत में एक अधिक उग्र उपयोगी विषय जब साजिश रचने choropleths या ggplot में अन्य नक्शे, चर्चा के आधार पर यहाँ लेकिन से बचने के प्रतिवाद के लिए अद्यतन। यहाँ का उद्देश्य ग्रे बैकग्राउंड को हटाना है, और कोई भी अन्य विशेषताएं जो नक्शे से विचलित हो सकती हैं।
theme_map <- function (base_size = 12, base_family = "") {
theme_gray(base_size = base_size, base_family = base_family) %+replace%
theme(
axis.line=element_blank(),
axis.text.x=element_blank(),
axis.text.y=element_blank(),
axis.ticks=element_blank(),
axis.ticks.length=unit(0.3, "lines"),
axis.ticks.margin=unit(0.5, "lines"),
axis.title.x=element_blank(),
axis.title.y=element_blank(),
legend.background=element_rect(fill="white", colour=NA),
legend.key=element_rect(colour="white"),
legend.key.size=unit(1.2, "lines"),
legend.position="right",
legend.text=element_text(size=rel(0.8)),
legend.title=element_text(size=rel(0.8), face="bold", hjust=0),
panel.background=element_blank(),
panel.border=element_blank(),
panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),
panel.margin=unit(0, "lines"),
plot.background=element_blank(),
plot.margin=unit(c(1, 1, 0.5, 0.5), "lines"),
plot.title=element_text(size=rel(1.2)),
strip.background=element_rect(fill="grey90", colour="grey50"),
strip.text.x=element_text(size=rel(0.8)),
strip.text.y=element_text(size=rel(0.8), angle=-90)
)
}
theme_bw
, आपको एक सफेद पृष्ठभूमि और ग्रे ग्रिडलाइन्स दे रहा है। मैं इसे हर समय उपयोग करता हूं, जैसा कि प्रिंट में यह डिफ़ॉल्ट ग्रे पृष्ठभूमि की तुलना में बहुत बेहतर दिखता है:myplot + theme_bw()