คำถามติดแท็ก ggplot2

ggplot2 เป็นแพคเกจการวาดแผนภูมิโอเพ่นซอร์สที่ได้รับการบำรุงรักษาอย่างแข็งขันสำหรับ R ซึ่งเขียนโดย Hadley Wickham ตามหลักการของ "ไวยากรณ์ของกราฟิก" มันมาแทนที่พล็อตพื้นฐานของ R และแพคเกจขัดแตะบางส่วนในขณะที่ให้ API ที่สะอาดมีประสิทธิภาพทรงพลังและความสนุก

2
บังคับให้เริ่มต้นที่ 0
ฉันจะตั้งค่าต้นกำเนิด / การสกัดกั้นของแกน y และแกน x ใน ggplot2 ได้อย่างไร แนวแกน x y=Zควรจะตรงที่ ด้วยZ=0หรือค่าที่กำหนดอื่น
139 r  plot  ggplot2  axes 

9
เพิ่ม Legend ทั่วไปสำหรับ ggplots รวม
ฉันมีสอง ggplots grid.arrangeซึ่งผมสอดคล้องกับแนวนอน ฉันได้ดูโพสต์ในฟอรัมมากมาย แต่ทุกสิ่งที่ฉันพยายามดูเหมือนจะเป็นคำสั่งที่ได้รับการปรับปรุงและตั้งชื่ออย่างอื่น ข้อมูลของฉันเป็นแบบนี้ # Data plot 1 axis1 axis2 group1 -0.212201 0.358867 group2 -0.279756 -0.126194 group3 0.186860 -0.203273 group4 0.417117 -0.002592 group1 -0.212201 0.358867 group2 -0.279756 -0.126194 group3 0.186860 -0.203273 group4 0.186860 -0.203273 # Data plot 2 axis1 axis2 group1 0.211826 -0.306214 group2 -0.072626 0.104988 group3 -0.072626 …
138 r  ggplot2  legend  gridextra 

5
สั่งสเกล x แบบไม่ต่อเนื่องตามความถี่ / ค่า
ฉันกำลังสร้างแผนภูมิแท่งแบบหลบโดยใช้ ggplot ที่มีมาตราส่วน x แบบไม่ต่อเนื่องตอนนี้แกน x ถูกจัดเรียงตามลำดับตัวอักษร แต่ฉันต้องจัดเรียงใหม่เพื่อให้เรียงลำดับตามค่าของแกน y (เช่นแถบที่สูงที่สุดจะ อยู่ทางซ้าย) ฉันลองเรียงลำดับหรือเรียงลำดับ แต่ผลลัพธ์ในการจัดเรียงแกน x แต่ไม่ใช่แถบตามลำดับ ฉันทำอะไรผิด?
138 r  ggplot2  r-faq 

14
Scatterplot ที่มีฮิสโตแกรมส่วนเพิ่มใน ggplot2
มีวิธีการสร้างแผนการกระจายที่มีฮิสโตแกรมเล็กน้อยเหมือนในตัวอย่างด้านล่างggplot2หรือไม่? ใน Matlab มันเป็นscatterhist()ฟังก์ชั่นและมีอยู่เทียบเท่ากับ R เช่นกัน อย่างไรก็ตามฉันไม่เห็น ggplot2 ฉันเริ่มต้นความพยายามด้วยการสร้างกราฟเดี่ยว แต่ไม่ทราบวิธีจัดเรียงอย่างถูกต้อง require(ggplot2) x<-rnorm(300) y<-rt(300,df=2) xy<-data.frame(x,y) xhist <- qplot(x, geom="histogram") + scale_x_continuous(limits=c(min(x),max(x))) + opts(axis.text.x = theme_blank(), axis.title.x=theme_blank(), axis.ticks = theme_blank(), aspect.ratio = 5/16, axis.text.y = theme_blank(), axis.title.y=theme_blank(), background.colour="white") yhist <- qplot(y, geom="histogram") + coord_flip() + opts(background.fill = "white", background.color ="black") yhist <- …

7
ละเว้นค่าผิดปกติใน ggplot2 boxplot
ฉันจะเพิกเฉยต่อค่าผิดปกติใน ggplot2 boxplot ได้อย่างไร ฉันไม่เพียงต้องการให้พวกมันหายไป (เช่น outlier.size = 0) แต่ฉันต้องการให้พวกเขาถูกละเว้นเพื่อให้แกน y แสดงเปอร์เซ็นต์ไทล์ที่ 1/3 ค่าผิดปกติของฉันทำให้ "กล่อง" หดเล็กลงจนแทบจะเป็นเส้น มีเทคนิคบางอย่างในการจัดการกับสิ่งนี้หรือไม่? แก้ไข นี่คือตัวอย่าง: y = c(.01, .02, .03, .04, .05, .06, .07, .08, .09, .5, -.6) qplot(1, y, geom="boxplot")
132 r  ggplot2 

5
ฉันจะเปลี่ยนการจัดรูปแบบของตัวเลขบนแกนด้วย ggplot ได้อย่างไร
ฉันใช้ R และ ggplot เพื่อวาดรูปกระจายของข้อมูลบางอย่างทั้งหมดใช้ได้ยกเว้นว่าตัวเลขบนแกน y จะออกมาพร้อมกับการจัดรูปแบบเลขชี้กำลังของคอมพิวเตอร์เช่น 4e + 05, 5e + 05 เป็นต้นซึ่งเห็นได้ชัดว่า ยอมรับไม่ได้ดังนั้นฉันต้องการให้แสดงเป็น 500,000, 400,000 และอื่น ๆ การรับสัญกรณ์เลขชี้กำลังที่เหมาะสมก็เป็นที่ยอมรับเช่นกัน รหัสสำหรับพล็อตมีดังนี้: p <- ggplot(valids, aes(x=Test, y=Values)) + geom_point(position="jitter") + facet_grid(. ~ Facet) + scale_y_continuous(name="Fluorescent intensity/arbitrary units") + scale_x_discrete(name="Test repeat") + stat_summary(fun.ymin=median, fun.ymax=median, fun.y=median, geom="crossbar") ความช่วยเหลือใด ๆ ที่ชื่นชมมาก
131 r  ggplot2 

4
เพิ่มขนาดตัวอักษรในตำนาน ggplot2
มีวิธีเพิ่มขนาดตัวอักษรggplot2ไหม? ฉันคิดว่าฉันต้องระบุบางอย่างเช่นlegend.key.width = unit(2, "line")ในthemeฟังก์ชัน แต่ใช้เพื่อปรับคีย์ในตำนานไม่ใช่ขนาดตัวอักษร ขอบคุณ!
130 r  ggplot2 

5
จะเปลี่ยนความกว้างของเส้นใน ggplot ได้อย่างไร?
Datalink: ข้อมูลที่ใช้ รหัสของฉัน: ccfsisims <- read.csv(file = "F:/Purdue University/RA_Position/PhD_ResearchandDissert/PhD_Draft/GTAP-CGE/GTAP_NewAggDatabase/NewFiles/GTAP_ConsIndex.csv", header=TRUE, sep=",", na.string="NA", dec=".", strip.white=TRUE) ccfsirsts <- as.data.frame(ccfsisims) ccfsirsts[6:24] <- sapply(ccfsirsts[6:24],as.numeric) ccfsirsts <- droplevels(ccfsirsts) ccfsirsts <- transform(ccfsirsts,sres=factor(sres,levels=unique(sres))) library(ggplot2) #------------------------------------------------------------------------------------------ #### Plot of food security index for Morocco and Turkey by sector #------------------------------------------------------------------------------------------ #_Code_Begin... datamortur <- melt(ccfsirsts[ccfsirsts$region %in% c("TUR","MAR"), ]) # Selecting …
128 r  ggplot2  line-plot 

3
การซ้อนทับฮิสโตแกรมด้วย ggplot2 ใน R
ฉันยังใหม่กับ R และกำลังพยายามพล็อตฮิสโตแกรม 3 รายการลงบนกราฟเดียวกัน ทุกอย่างทำงานได้ดี แต่ปัญหาของฉันคือคุณไม่เห็นว่าฮิสโตแกรม 2 รายการทับซ้อนกันตรงไหน - มันดูค่อนข้างถูกตัดออกไป เมื่อฉันสร้างพล็อตความหนาแน่นมันดูสมบูรณ์แบบเส้นโค้งแต่ละเส้นล้อมรอบด้วยเส้นกรอบสีดำและสีจะดูแตกต่างกันเมื่อเส้นโค้งเหลื่อมกัน มีใครช่วยบอกหน่อยได้ไหมว่าฮิสโตแกรมในภาพที่ 1 สามารถทำสิ่งที่คล้ายกันได้หรือไม่ นี่คือรหัสที่ฉันใช้: lowf0 <-read.csv (....) mediumf0 <-read.csv (....) highf0 <-read.csv(....) lowf0$utt<-'low f0' mediumf0$utt<-'medium f0' highf0$utt<-'high f0' histogram<-rbind(lowf0,mediumf0,highf0) ggplot(histogram, aes(f0, fill = utt)) + geom_histogram(alpha = 0.2)
125 r  ggplot2 

6
ลบ "a" ออกจากคำอธิบายเมื่อใช้สุนทรียศาสตร์และ geom_text
ฉันจะลบตัวอักษร 'a' ออกจากคำอธิบายแผนภูมิที่สร้างโดยรหัสนี้ได้อย่างไร หากฉันลบgeom_textตัวอักษร "a" จะไม่ปรากฏในคำอธิบายแผนภูมิ ฉันต้องการให้geom_textแต่ ggplot(data = iris, aes(x = Sepal.Length, y=Sepal.Width, shape = Species, colour = Species)) + geom_point() + geom_text(aes(label = Species))
124 r  ggplot2  aesthetics 

3
วิธีสร้างกราฟิกด้วยพื้นหลังโปร่งใสใน R โดยใช้ ggplot2
ฉันต้องการส่งออกกราฟิก ggplot2 จากไฟล์ R เป็น PNG ที่มีพื้นหลังโปร่งใส ทุกอย่างใช้ได้กับกราฟิก R พื้นฐาน แต่ไม่มีความโปร่งใสกับ ggplot2: d <- rnorm(100) #generating random data #this returns transparent png png('tr_tst1.png',width=300,height=300,units="px",bg = "transparent") boxplot(d) dev.off() df <- data.frame(y=d,x=1) p <- ggplot(df) + stat_boxplot(aes(x = x,y=y)) p <- p + opts( panel.background = theme_rect(fill = "transparent",colour = NA), # …

8
มีวิธีเปลี่ยนระยะห่างระหว่างรายการในตำนานใน ggplot2 หรือไม่?
มีวิธีเปลี่ยนระยะห่างระหว่างรายการในตำนานใน ggplot2 หรือไม่? ฉันมี legend.position ="top" ซึ่งจะสร้างคำอธิบายแนวนอนโดยอัตโนมัติ อย่างไรก็ตามระยะห่างของรายการใกล้กันมากและฉันสงสัยว่าจะเว้นระยะห่างออกจากกันได้อย่างไร
121 r  ggplot2  legend 

5
การเพิ่มเส้นการถดถอยบน ggplot
ฉันพยายามอย่างมากที่จะเพิ่มเส้นการถดถอยใน ggplot ฉันลองใช้ abline ครั้งแรก แต่ฉันไม่สามารถทำให้มันใช้งานได้ จากนั้นฉันก็ลองสิ่งนี้ ... data = data.frame(x.plot=rep(seq(1,5),10),y.plot=rnorm(50)) ggplot(data,aes(x.plot,y.plot))+stat_summary(fun.data=mean_cl_normal) + geom_smooth(method='lm',formula=data$y.plot~data$x.plot) แต่มันก็ใช้ไม่ได้เช่นกัน

2
การแก้ไขป้ายกำกับคำอธิบาย (ข้อความ) ใน ggplot
ฉันใช้เวลาหลายชั่วโมงในการค้นหาเอกสารและบน StackOverflow แต่ดูเหมือนว่าไม่มีวิธีใดที่จะช่วยแก้ปัญหาของฉันได้ เมื่อใช้ggplotฉันไม่สามารถรับข้อความที่ถูกต้องในคำอธิบายแผนภูมิแม้ว่าจะอยู่ในดาต้าเฟรมของฉันก็ตาม ฉันได้ลองscale_colour_manualแล้วscale_fill_manualด้วยค่าที่แตกต่างกันlabels=เช่นc("T999", "T888")", "cols". นี่คือรหัสของฉัน: T999 <- runif(10, 100, 200) T888 <- runif(10, 200, 300) TY <- runif(10, 20, 30) df <- data.frame(T999, T888, TY) ggplot(data = df, aes(x=T999, y=TY, pointtype="T999")) + geom_point(size = 15, colour = "darkblue") + geom_point(data = df, aes(x=T888, y=TY), colour = 'red', …
120 r  text  ggplot2  label 

1
เพิ่มป้ายกำกับแกน x และ y ใน ggplot2
ฉันจะเปลี่ยนป้าย x และ y บนกราฟนี้ได้อย่างไร library(Sleuth2) library(ggplot2) discharge<-ex1221new$Discharge area<-ex1221new$Area nitrogen<-ex1221new$NO3 p <- ggplot(ex1221new, aes(discharge, area), main="Point") p + geom_point(aes(size= nitrogen)) + scale_area() + opts(title = expression("Weighted Scatterplot of Watershed Area vs. Discharge and Nitrogen Levels (PPM)"), subtitle="n=41")
119 r  label  ggplot2 

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