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

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

4
เลียนแบบจานสีเริ่มต้น ggplot2
ฉันสามารถใช้ฟังก์ชันใดเพื่อเลียนแบบจานสีเริ่มต้นของ ggplot2 สำหรับจำนวนสีที่ต้องการ ตัวอย่างเช่นอินพุต 3 จะสร้างเวกเตอร์อักขระของสี HEX ด้วยสีเหล่านี้:
192 r  ggplot2 

5
เพิ่มจำนวนของการเห็บแกน
ฉันกำลังสร้างแปลงสำหรับข้อมูลบางส่วน แต่จำนวนเห็บมีขนาดเล็กเกินไปฉันต้องการความแม่นยำในการอ่านมากขึ้น มีวิธีใดบ้างที่จะเพิ่มจำนวนของเครื่องหมายแกนใน ggplot2? ฉันรู้ว่าฉันสามารถบอก ggplot ให้ใช้เวกเตอร์เป็นเครื่องหมายถูกในแกน แต่สิ่งที่ฉันต้องการคือการเพิ่มจำนวนของเห็บสำหรับข้อมูลทั้งหมด กล่าวอีกนัยหนึ่งฉันต้องการคำนวณหมายเลขติ๊กจากข้อมูล อาจเป็นไปได้ที่ ggplot ทำสิ่งนี้ภายในด้วยอัลกอริทึมบางอย่าง แต่ฉันไม่สามารถหาวิธีที่จะเปลี่ยนแปลงตามสิ่งที่ฉันต้องการ
191 r  ggplot2 

7
การเปลี่ยนขนาดตัวอักษรและทิศทางของข้อความในแกน ggplot2
ฉันกำลังพล็อตกราฟด้วยตัวแปรเด็ดขาดบนแกน x และตัวแปรตัวเลขบนแกน y สำหรับแกน x เนื่องจากมีจุดข้อมูลมากมายการจัดรูปแบบข้อความเริ่มต้นจะทำให้ป้ายกำกับสำหรับแต่ละเครื่องหมายติ๊กซ้อนทับกับป้ายกำกับอื่น ๆ ฉัน (a) เปลี่ยนขนาดตัวอักษรสำหรับข้อความแกนของฉันได้อย่างไรและ (ข) เปลี่ยนการวางแนวของข้อความเพื่อให้ข้อความตั้งฉากกับแกน
188 r  ggplot2 

6
ฉันจะจัดการการตรวจสอบ R CMD ได้อย่างไร“ ไม่มีการเชื่อมที่มองเห็นได้สำหรับตัวแปรส่วนกลาง” บันทึกเมื่อไวยากรณ์ ggplot2 ของฉันสมเหตุสมผล
แก้ไข: Hadley Wickham ชี้ให้เห็นว่าฉัน misspoke การตรวจสอบ CMD กำลังขว้างไปที่บันทึกไม่ใช่คำเตือน ฉันเสียใจอย่างมากสำหรับความสับสน มันเป็นการกำกับดูแลของฉัน รุ่นสั้น ๆ R CMD checkโยนบันทึกนี้ทุกครั้งที่ฉันใช้ไวยากรณ์การสร้างพล็อตที่สมเหตุสมผลใน ggplot2: no visible binding for global variable [variable name] ฉันเข้าใจว่าเหตุใดการตรวจสอบของ CM CM จึงเป็นเช่นนั้น แต่ดูเหมือนว่าจะทำให้เกิดความผิดทางอาญาทั้งเส้นเลือดของไวยากรณ์ที่มีเหตุผลอย่างอื่น ฉันไม่แน่ใจว่าต้องดำเนินการอย่างไรเพื่อให้พัสดุของฉันผ่านR CMD checkและเข้ารับการตรวจ CRAN พื้นหลัง Sascha Epskamp ก่อนหน้านี้โพสต์บนหลักปัญหาเดียวกัน ความแตกต่างที่ผมคิดว่าเป็นที่subset()manpage 's บอกว่ามันได้รับการออกแบบสำหรับการใช้งานแบบโต้ตอบ ในกรณีของฉันปัญหาไม่ได้จบไปsubset()แต่เป็นคุณสมบัติหลักของggplot2: data =อาร์กิวเมนต์ ตัวอย่างของรหัสที่ฉันเขียนที่สร้างบันทึกเหล่านี้ นี่คือฟังก์ชันย่อยในแพ็คเกจของฉันที่เพิ่มคะแนนให้กับพล็อต: JitteredResponsesByContrast <- function (data) { …
180 r  ggplot2 

15
การสร้างภาพข้อมูลที่ไม่ได้ใช้งานมากที่สุด [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฮิสโทแกรมและสแกตเตอร์แปลงเป็นวิธีที่ยอดเยี่ยมในการแสดงข้อมูลและความสัมพันธ์ระหว่างตัวแปร แต่เมื่อเร็ว ๆ นี้ฉันสงสัยเกี่ยวกับเทคนิคการสร้างภาพข้อมูลที่ฉันขาดหายไป คุณคิดว่าอะไรคือพล็อตประเภทที่ถูกใช้น้อยที่สุด? คำตอบควร: ไม่นิยมใช้ในทางปฏิบัติ เป็นที่เข้าใจได้โดยไม่ต้องมีการอภิปรายพื้นหลัง ใช้งานได้ในสถานการณ์ทั่วไปมากมาย รวมรหัสที่สามารถทำซ้ำได้เพื่อสร้างตัวอย่าง (โดยเฉพาะอย่างยิ่งใน R) รูปภาพที่เชื่อมโยงจะดี

3
ป้ายกำกับจุดใน geom_point
ข้อมูลที่ฉันเล่นด้วยมาจากแหล่งอินเทอร์เน็ตตามรายการด้านล่าง nba <- read.csv("http://datasets.flowingdata.com/ppg2008.csv", sep=",") สิ่งที่ฉันต้องการทำคือสร้างกราฟคะแนน 2D เปรียบเทียบตัวชี้วัดสองตัวจากตารางนี้โดยผู้เล่นแต่ละคนแสดงจุดเป็นจุดบนกราฟ ฉันมีรหัสต่อไปนี้: nbaplot <- ggplot(nba, aes(x= MIN, y= PTS, colour="green", label=Name)) + geom_point() สิ่งนี้ทำให้ฉันต่อไปนี้: สิ่งที่ฉันต้องการคือป้ายชื่อของผู้เล่นถัดจากจุด ฉันคิดว่าฟังก์ชั่นฉลากในสุนทรียภาพของ ggplot จะทำเพื่อฉัน แต่มันก็ไม่ได้ ฉันยังลองใช้text()ฟังก์ชั่นและtextxy()ฟังก์ชั่นจากlibrary(calibrate)ซึ่งทั้งสองอย่างนั้นไม่สามารถใช้งานกับ ggplot ได้ ฉันจะเพิ่มป้ายชื่อในจุดเหล่านี้ได้อย่างไร
178 r  plot  ggplot2  labeling  ggrepel 

5
วิธีกำหนดสีให้กับตัวแปรเด็ดขาดใน ggplot2 ที่มีการจับคู่ที่มั่นคง
ฉันได้รับความเร็วด้วย R ในเดือนที่แล้ว นี่คือคำถามของฉัน: เป็นวิธีที่ดีในการกำหนดสีให้กับตัวแปรเด็ดขาดใน ggplot2 ที่มีการทำแผนที่ที่มั่นคงคืออะไร? ฉันต้องการสีที่สม่ำเสมอในชุดกราฟที่มีชุดย่อยแตกต่างกันและตัวแปรเด็ดขาดจำนวนต่างกัน ตัวอย่างเช่น, plot1 <- ggplot(data, aes(xData, yData,color=categoricaldData)) + geom_line() ที่ไหนcategoricalDataมี 5 ระดับ และจากนั้น plot2 <- ggplot(data.subset, aes(xData.subset, yData.subset, color=categoricaldData.subset)) + geom_line() ที่categoricalData.subsetมี 3 ระดับ อย่างไรก็ตามระดับเฉพาะที่อยู่ในทั้งสองชุดจะจบลงด้วยสีที่แตกต่างกันซึ่งทำให้ยากต่อการอ่านกราฟด้วยกัน ฉันต้องสร้างเวกเตอร์ของสีในกรอบข้อมูลหรือไม่? หรือมีวิธีอื่นในการกำหนดสีเฉพาะให้กับหมวดหมู่หรือไม่
178 r  ggplot2 

8
แสดง% แทนที่จะนับในแผนภูมิของตัวแปรเด็ดขาด
ฉันกำลังวางแผนตัวแปรเด็ดขาดและแทนที่จะแสดงจำนวนสำหรับค่าหมวดหมู่แต่ละรายการ ฉันกำลังมองหาวิธีที่จะได้รับggplotการแสดงร้อยละของค่าในหมวดหมู่นั้น แน่นอนว่ามันเป็นไปได้ที่จะสร้างตัวแปรอื่นด้วยเปอร์เซ็นต์ที่คำนวณได้และพล็อตที่หนึ่ง แต่ฉันต้องทำหลายสิบครั้งและฉันหวังว่าจะบรรลุเป้าหมายนั้นในคำสั่งเดียว ฉันกำลังทดลองกับสิ่งที่ชอบ qplot(mydataf) + stat_bin(aes(n = nrow(mydataf), y = ..count../n)) + scale_y_continuous(formatter = "percent") แต่ฉันต้องใช้มันอย่างไม่ถูกต้องเนื่องจากฉันพบข้อผิดพลาด ในการทำซ้ำการตั้งค่าได้ง่ายนี่คือตัวอย่างง่าย ๆ : mydata <- c ("aa", "bb", NULL, "bb", "cc", "aa", "aa", "aa", "ee", NULL, "cc"); mydataf <- factor(mydata); qplot (mydataf); #this shows the count, I'm looking to see % displayed. …
170 r  ggplot2 

5
แผนภูมิเส้น ggplot2 ให้ "geom_path: แต่ละกลุ่มประกอบด้วยการสังเกตเพียงครั้งเดียว คุณจำเป็นต้องปรับเปลี่ยนสุนทรียภาพของกลุ่มหรือไม่?”
ด้วยกรอบข้อมูลนี้ ("df"): year pollution 1 1999 346.82000 2 2002 134.30882 3 2005 130.43038 4 2008 88.27546 ฉันพยายามสร้างแผนภูมิเส้นแบบนี้: plot5 <- ggplot(df, aes(year, pollution)) + geom_point() + geom_line() + labs(x = "Year", y = "Particulate matter emissions (tons)", title = "Motor vehicle emissions in Baltimore") ข้อผิดพลาดที่ฉันได้รับคือ: geom_path: แต่ละกลุ่มประกอบด้วยการสังเกตเพียงครั้งเดียว คุณจำเป็นต้องปรับเปลี่ยนสุนทรียภาพของกลุ่มหรือไม่? แผนภูมิปรากฏเป็นพล็อตกระจายแม้ว่าฉันต้องการแผนภูมิเส้น ฉันพยายามแทนที่geom_line()ด้วยgeom_line(aes(group = …
170 r  ggplot2 

2
hjust และ vjust ทำอะไรเมื่อสร้างจุดโดยใช้ ggplot
ทุกครั้งที่ฉันทำพล็อตโดยใช้ ggplot ฉันใช้เวลาเล็กน้อยในขณะที่พยายามค่าที่แตกต่างสำหรับ hjust และ vjust ในบรรทัดเช่น + opts(axis.text.x = theme_text(hjust = 0.5)) เพื่อให้ป้ายกำกับแกนเรียงกันตรงที่ที่ป้ายกำกับแกนเกือบแตะแกนนั้นและทำการลบออก (ให้ชิดกับแกนดังนั้นเพื่อพูด) อย่างไรก็ตามฉันไม่เข้าใจจริงๆว่าเกิดอะไรขึ้น บ่อยครั้งที่hjust = 0.5ให้ผลลัพธ์ที่แตกต่างอย่างมากจากhjust = 0.6ที่ฉันไม่สามารถเข้าใจได้โดยการเล่นกับค่าที่ต่างกัน ทุกคนสามารถชี้ให้ฉันเห็นคำอธิบายที่ครอบคลุมว่าตัวเลือก hjust and vjust ทำงานอย่างไร
159 r  plot  ggplot2 

6
การใส่คำอธิบายประกอบข้อความลงในแต่ละด้านใน ggplot2
ฉันต้องการใส่คำอธิบายประกอบข้อความในส่วนสุดท้ายของพล็อตด้วยรหัสต่อไปนี้: library(ggplot2) p <- ggplot(mtcars, aes(mpg, wt)) + geom_point() p <- p + facet_grid(. ~ cyl) p <- p + annotate("text", label = "Test", size = 4, x = 15, y = 5) print(p) แต่รหัสนี้จะใส่คำอธิบายประกอบข้อความในทุกแง่มุม ฉันจะขอขอบคุณอย่างมากหากคุณแนะนำวิธีการรับข้อความอธิบายประกอบในแง่มุมเดียว

4
เปลี่ยนขนาดของชื่อแกนและป้ายกำกับใน ggplot2
ฉันมีคำถามง่าย ๆ ซึ่งฉันพยายามค้นหาคำตอบ ฉันหวังว่าบางคนที่นี่อาจช่วยฉันได้ ตัวอย่าง dataframe นำเสนอด้านล่าง: a <- c(1:10) b <- c(10:1) df <- data.frame(a,b) library(ggplot2) g = ggplot(data=df) + geom_point(aes(x=a, y=b)) + xlab("x axis") g ฉันแค่ต้องการเรียนรู้วิธีเปลี่ยนขนาดตัวอักษรของชื่อแกนและป้ายชื่อแกน
146 r  ggplot2 

3
เพิ่มคำอธิบายแผนภูมิลงในพล็อตบรรทัด ggplot2
ฉันมีคำถามเกี่ยวกับตำนานใน ggplot2 ฉันจัดการเพื่อพล็อตสามบรรทัดในกราฟเดียวกันและต้องการเพิ่มคำอธิบายแผนภูมิด้วยสามสีที่ใช้ นี่คือรหัสที่ใช้ library(ggplot2) require(RCurl) link<-getURL("https://dl.dropbox.com/s/ds5zp9jonznpuwb/dat.txt") datos<- read.csv(textConnection(link),header=TRUE,sep=";") datos$fecha <- as.POSIXct(datos[,1], format="%d/%m/%Y") temp = ggplot(data=datos,aes(x=fecha, y=TempMax,colour="1")) + geom_line(colour="red") + opts(title="TITULO") + ylab("Temperatura (C)") + xlab(" ") + scale_y_continuous(limits = c(-10,40)) + geom_line(aes(x=fecha, y=TempMedia,colour="2"),colour="green") + geom_line(aes(x=fecha, y=TempMin,colour="2"),colour="blue") + scale_colour_manual(values=c("red","green","blue")) temp และเอาท์พุท ฉันต้องการเพิ่มคำอธิบายภาพโดยใช้สามสีและชื่อของตัวแปร (TempMax, TempMedia และ TempMin) ฉันเหนื่อย scale_colour_manual แต่ไม่สามารถหาวิธีที่แน่นอน น่าเสียดายที่ข้อมูลดั้งเดิมถูกลบออกจากไซต์ที่เชื่อมโยงและไม่สามารถกู้คืนได้ …
143 r  ggplot2  legend  r-faq 

7
กำลังบันทึก grid.arrange () พล็อตไปยังไฟล์
ฉันพยายามที่จะพล็อตหลายแปลงโดยใช้การจัดพวกเขาโดยใช้ggplot2 grid.arrange()เนื่องจากฉันสามารถหาคนที่อธิบายปัญหาที่แท้จริงได้ฉันจึงอ้างจากคำอธิบายปัญหาจากลิงค์ : เมื่อฉันใช้ggsave()หลังจากgrid.arrange()นั้นคือ grid.arrange(sgcir1,sgcir2,sgcir3,ncol=2,nrow=2) ggsave("sgcirNIR.jpg") ฉันไม่ได้บันทึกพล็อตกริด แต่เป็น ggplot แต่ละรายการสุดท้าย มีวิธีใดในการบันทึกพล็อตตามที่แสดงโดยgrid.arrange()ใช้ ggsave()หรือสิ่งที่คล้ายกันหรือไม่? นอกเหนือจากการใช้วิธีที่เก่ากว่า jpeg("sgcirNIR.jpg") grid.arrange(sgcir1,sgcir2,sgcir3,ncol=2,nrow=2) dev.off() ลิงค์เดียวกันให้คำตอบด้านล่าง: require(grid) require(gridExtra) p <- arrangeGrob(qplot(1,1), textGrob("test")) grid.draw(p) # interactive device ggsave("saving.pdf", p) # need to specify what to save explicitly อย่างไรก็ตามฉันไม่สามารถหาวิธีใช้ggsave()เพื่อบันทึกผลลัพธ์ของการgrid.arrange()โทรในรหัสต่อไปนี้ซึ่งนำมาจากลิงค์ : library(ggplot2) library(gridExtra) dsamp <- diamonds[sample(nrow(diamonds), 1000), ] p1 <- qplot(carat, price, …
141 r  ggplot2  gridextra 

6
พล็อต ggplot2 ที่ไม่มีแกน, ตำนาน, ฯลฯ
ฉันต้องการใช้ hexbin ของ bioconductor (ซึ่งฉันสามารถทำได้) เพื่อสร้างพล็อตที่เติมพื้นที่แสดงผลทั้งหมด (png) - ไม่มีแกน, ไม่มีป้าย, ไม่มีพื้นหลัง, ไม่มีนูติน '
139 r  ggplot2 

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