मैं एक प्लॉट उत्पन्न करने के लिए बायोकैक्टर के हेक्सबिन (जो मैं कर सकता हूं) का उपयोग करना चाहता हूं जो पूरे (पीएनजी) डिस्प्ले क्षेत्र को भरता है - कोई कुल्हाड़ी नहीं, कोई लेबल नहीं, कोई पृष्ठभूमि नहीं, कोई नथिन नहीं।
theme_void()
मैं एक प्लॉट उत्पन्न करने के लिए बायोकैक्टर के हेक्सबिन (जो मैं कर सकता हूं) का उपयोग करना चाहता हूं जो पूरे (पीएनजी) डिस्प्ले क्षेत्र को भरता है - कोई कुल्हाड़ी नहीं, कोई लेबल नहीं, कोई पृष्ठभूमि नहीं, कोई नथिन नहीं।
theme_void()
जवाबों:
चेस के जवाब में मेरी टिप्पणी के अनुसार, आप इस सामान का उपयोग करके बहुत कुछ हटा सकते हैं element_blank
:
dat <- data.frame(x=runif(10),y=runif(10))
p <- ggplot(dat, aes(x=x, y=y)) +
geom_point() +
scale_x_continuous(expand=c(0,0)) +
scale_y_continuous(expand=c(0,0))
p + theme(axis.line=element_blank(),axis.text.x=element_blank(),
axis.text.y=element_blank(),axis.ticks=element_blank(),
axis.title.x=element_blank(),
axis.title.y=element_blank(),legend.position="none",
panel.background=element_blank(),panel.border=element_blank(),panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),plot.background=element_blank())
ऐसा लगता है कि परिणामी के किनारे के आसपास एक छोटा सा मार्जिन अभी भी है। जब मैं इसे सहेजता हूं, तो इसे हटा दें। शायद किसी और को पता है कि उस घटक को भी कैसे निकालना है।
(ऐतिहासिक नोट: ggplot2 संस्करण 0.9.2 के बाद से , opts
हटा दिया गया है। इसके बजाय उपयोग करें theme()
और इसके theme_blank()
साथ बदलें element_blank()
)
theme(axis.ticks=element_blank())
साथ ही साथ काम नहीं करता है theme(axis.ticks.x=element_blank())
, शायद एक अस्थायी बग कहीं है (मेरे पास अपना खुद का थीम सेट है, फिर मैं ओवरराइड करने का प्रयास करता हूं: केवल axis.ticks.x
और axis.ticks.y
काम करते हैं।)
पुन: बदलने के लिए opts विषय आदि (आलसी लोगों के लिए):
theme(axis.line=element_blank(),
axis.text.x=element_blank(),
axis.text.y=element_blank(),
axis.ticks=element_blank(),
axis.title.x=element_blank(),
axis.title.y=element_blank(),
legend.position="none",
panel.background=element_blank(),
panel.border=element_blank(),
panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),
plot.background=element_blank())
वर्तमान उत्तर या तो अपूर्ण या अक्षम हैं। यहां (शायद) परिणाम प्राप्त करने का सबसे छोटा तरीका है (उपयोग theme_void()
:
data(diamonds) # Data example
ggplot(data = diamonds, mapping = aes(x = clarity)) + geom_bar(aes(fill = cut)) +
theme_void() + theme(legend.position="none")
परिणाम है:
यदि आप केवल लेबल्स को खत्म करने में रुचि रखते हैं , labs(x="", y="")
तो यह चाल है:
ggplot(data = diamonds, mapping = aes(x = clarity)) + geom_bar(aes(fill = cut)) +
labs(x="", y="")
ggplot(data = diamonds, mapping = aes(x = clarity)) + geom_bar(aes(fill = cut)) + theme_void() + theme(legend.position="none", panel.background = element_rect(fill="grey80"), plot.background = element_rect(fill="red"))
सुझाव है कि यह 100% शून्य नहीं है
labs(x="",y="")
स्थान का उपयोग करता है क्योंकि वास्तव में शीर्षक होते हैं, वे केवल संकेतों के बिना होते हैं। उनके लिए अक्ष के शीर्षक और स्थान को हटाने के लिए इसका उपयोग करना बेहतर है+ theme(axis.title = element_blank())
labs(x = NULL)
या xlab(NULL)
अन्य तरीके हैं।
'opts' is deprecated.
में ggplot2 >= 0.9.2
उपयोग
p + theme(legend.position = "none")
xy <- data.frame(x=1:10, y=10:1)
plot <- ggplot(data = xy)+geom_point(aes(x = x, y = y))
plot
panel = grid.get("panel-3-3")
grid.newpage()
pushViewport(viewport(w=1, h=1, name="layout"))
pushViewport(viewport(w=1, h=1, name="panel-3-3"))
upViewport(1)
upViewport(1)
grid.draw(panel)
Error in UseMethod("grid.draw") : no applicable method for 'grid.draw' applied to an object of class "NULL"
क्या यह वही है जो आप चाहते हैं?
p <- ggplot(myData, aes(foo, bar)) + geom_whateverGeomYouWant(more = options) +
p + scale_x_continuous(expand=c(0,0)) +
scale_y_continuous(expand=c(0,0)) +
opts(legend.position = "none")