เพิ่มระยะห่างระหว่างข้อความและหัวเรื่องบนแกน y


108

หัวเรื่องแกน y ปรากฏใกล้กับข้อความแกนมากเกินไป

ggplot(mpg, aes(cty, hwy)) + geom_point()

ggplot เอาท์พุท

ฉันได้ลองเปลี่ยนค่าของพารามิเตอร์หลายตัวแล้วtheme()แต่ดูเหมือนจะช่วยไม่ได้

คำตอบ:


174

จากggplot2 2.0.0คุณสามารถใช้margin =อาร์กิวเมนต์element_text()เพื่อเปลี่ยนระยะห่างระหว่างชื่อแกนและตัวเลข การตั้งค่าของmarginในtสหกรณ์right, bottom และlด้าน EFT ขององค์ประกอบ

ggplot(mpg, aes(cty, hwy)) + geom_point()+
  theme(axis.title.y = element_text(margin = margin(t = 0, r = 20, b = 0, l = 0)))

marginนอกจากนี้ยังสามารถนำมาใช้สำหรับอื่น ๆelement_textองค์ประกอบ (ดู?theme) เช่นaxis.text.x, และaxis.text.ytitle


5
วิธีนี้ใช้ไม่ได้ผลfacet_gridในขณะที่คำตอบที่ Adam B แนะนำ (เช่นการแบ่งบรรทัดโดยใช้ \ n)
ไม่ระบุชื่อ

@Anonymous คุณช่วยยกตัวอย่างที่margin =อาร์กิวเมนต์นี้ไม่ wokr ได้ไหม?
Didzis Elferts

ฉันลองใช้กับtheme_bw. ขออภัยการโพสต์รหัสทั้งหมดไม่สามารถอ่านได้ / ยุ่ง ...
ไม่ระบุชื่อ

3
@Anonymous ถ้าคุณใช้theme_bw()แล้วtheme_bw()ควรจะใช้ก่อนที่จะtheme()ฟังก์ชั่นเพราะในรูปแบบ predefinied มีอาร์กิวเมนต์ allready สำหรับชื่อแกน
Didzis Elferts

ขอขอบคุณสำหรับการชี้แจง!
ไม่ระบุชื่อ

99

อ้างอิงจากโพสต์ในฟอรัมนี้: https://groups.google.com/forum/#!topic/ggplot2/mK9DR3dKIBU

ดูเหมือนสิ่งที่ง่ายที่สุดที่จะทำคือเพิ่มตัวแบ่งบรรทัด (\ n) ก่อนแกน x และหลังป้ายชื่อแกน y ดูเหมือนจะง่ายกว่ามาก (แม้ว่าจะโง่) กว่าโซลูชันที่โพสต์ไว้ด้านบน

ggplot(mpg, aes(cty, hwy)) + 
    geom_point() + 
    xlab("\nYour_x_Label") + ylab("Your_y_Label\n")

หวังว่าจะช่วยได้!


4
ฉันมักจะใช้วิธีนี้มันเร็วกว่ามากและไม่จำเป็นต้องเพิ่มตัวเลือกอื่นใน ggplot เว้นแต่ฉันต้องการการปรับแต่งเฉพาะบางอย่าง
R.Prost
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.