0 पर शुरू करने के लिए मूल बल


139

मैं ggplot2 में y- अक्ष और x- अक्ष की उत्पत्ति / अवरोधन कैसे निर्धारित कर सकता हूं?

एक्स-एक्सिस की लाइन बिल्कुल होनी चाहिए y=Z

साथ Z=0या किसी अन्य को देखते हुए मूल्य।

जवाबों:


199

xlimऔर ylimइसे यहाँ मत काटो। आप उपयोग करने की आवश्यकता expand_limits, scale_x_continuousऔर scale_y_continuous। प्रयत्न:

df <- data.frame(x = 1:5, y = 1:5)
p <- ggplot(df, aes(x, y)) + geom_point()
p <- p + expand_limits(x = 0, y = 0)
p # not what you are looking for

यहां छवि विवरण दर्ज करें

p + scale_x_continuous(expand = c(0, 0)) + scale_y_continuous(expand = c(0, 0))

यहां छवि विवरण दर्ज करें

आपको यह सुनिश्चित करने के लिए चीजों को थोड़ा समायोजित करने की आवश्यकता हो सकती है कि अंक काटे नहीं जा रहे हैं (देखें, उदाहरण के लिए, बिंदु पर x = 5और y = 5


29
मुझे सीमाएँ निर्दिष्ट करने की भी आवश्यकता थी: scale_x_continuous(expand = c(0, 0), limits = c(0,5))किसी तरह इसके बिना काम नहीं हुआ
Jelenaluklina

3
मुझे लगता है कि एक और टुकड़ा मददगार हो सकता है, जो कुछ इस तरह का उपयोग कर रहा है expand=expand_scale(mult=c(0,0.1))ताकि आप अभी भी ऊपरी छोर पर गद्दी प्राप्त करें: stackoverflow.com/a/59056123/8400969
माइकल

4

बस इन्हें अपने ggplot में जोड़ें:

+ scale_x_continuous(expand = c(0, 0), limits = c(0, NA)) + 
  scale_y_continuous(expand = c(0, 0), limits = c(0, NA))

उदाहरण

df <- data.frame(x = 1:5, y = 1:5)
p <- ggplot(df, aes(x, y)) + geom_point()
p <- p + expand_limits(x = 0, y = 0)
p # not what you are looking for


p + scale_x_continuous(expand = c(0, 0), limits = c(0,NA)) + 
  scale_y_continuous(expand = c(0, 0), limits = c(0, NA))

यहां छवि विवरण दर्ज करें

अंत में, इस बात का बहुत ध्यान रखें कि अनजाने में अपने चार्ट से डेटा को बाहर न करें । उदाहरण के लिए, position = 'dodge'चार्ट को पूरी तरह से बंद करने के लिए एक बार का कारण हो सकता है (जैसे कि यदि इसका मूल्य शून्य है और आप शून्य पर धुरी शुरू करते हैं), तो आप इसे नहीं देख सकते हैं और शायद यह भी नहीं जानते कि यह वहां है। मैं पूरी तरह से पहले प्लॉटिंग डेटा का निरीक्षण करने की सलाह देता हूं, फिर प्लॉट के सौंदर्यशास्त्र को बेहतर बनाने के लिए उपरोक्त टिप का उपयोग करता हूं।


यह भी एक नया ggplot विषय में यह संभव है?
बोलले

@Bolle मुझे यकीन है कि है, लेकिन साथ ही पता लगाने के लिए कोई दिलचस्पी नहीं हूँ, आप यहाँ एक अलग सवाल और करने के लिए कड़ी के रूप में पूछ सकता है
stevec

लिंक यहाँ भविष्य में संदर्भ के लिए
stevec
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.