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

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

1
ggplot2 ระยะขอบพื้นที่แปลง?
มีวิธีง่ายๆในการเพิ่มช่องว่างระหว่างหัวเรื่องพล็อตและพื้นที่พล็อตด้านล่าง (ช่องที่มีข้อมูล) ในทำนองเดียวกันฉันต้องการเว้นวรรคระหว่างชื่อแกนและป้ายชื่อแกน กล่าวอีกนัยหนึ่งมีวิธี "เลื่อนหัวเรื่องขึ้นเล็กน้อยชื่อแกน y ไปทางซ้ายเล็กน้อยและหัวเรื่องแกน x ลดลงเล็กน้อย" หรือไม่?

4
บันทึกพล็อตที่ทำในแอพเงางาม
ฉันพยายามหาวิธีใช้ downloadButton เพื่อบันทึกพล็อตด้วยเงา ตัวอย่างในแพ็คเกจแสดงให้เห็นถึง downloadButton / downloadHandler เพื่อบันทึกไฟล์. csv ฉันจะสร้างตัวอย่างที่ทำซ้ำได้ตามนั้น สำหรับ ui.R shinyUI(pageWithSidebar( headerPanel('Downloading Data'), sidebarPanel( selectInput("dataset", "Choose a dataset:", choices = c("rock", "pressure", "cars")), downloadButton('downloadData', 'Download Data'), downloadButton('downloadPlot', 'Download Plot') ), mainPanel( plotOutput('plot') ) )) สำหรับ server.R library(ggplot2) shinyServer(function(input, output) { datasetInput <- reactive({ switch(input$dataset, "rock" = rock, "pressure" …
85 r  ggplot2  shiny 

2
ฉันจะบอกได้อย่างไรว่ามีหลายแง่มุมของ ggplot โดยทางโปรแกรม
ด้านล่างคือรหัสและกราฟ กราฟมีสามแง่มุม the_plotฉันจะหาได้จากที่ไหนในสามแง่มุม? ใช่ฉันสามารถหาได้จากmtcarsdata frame หรือthe_plot$dataแต่ฉันไม่ต้องการสร้างการวิเคราะห์ข้อมูลขึ้นมาใหม่ แต่ฉันต้องการตรวจสอบองค์ประกอบกราฟิกของthe_plotดังนั้นฉันไม่ต้องทำซ้ำตรรกะของแอปพลิเคชันในหลาย ๆ ที่ the_plot$facetไม่แสดงสิ่งที่ฉันจำได้และไม่ทำตัวแปรพล็อตอื่น ฉันใช้ tidyverse 1.3.0 library(tidyverse) data(mtcars) the_plot<-ggplot(mtcars, aes(mpg, disp, group=cyl)) + facet_wrap(~cyl) + geom_point() the_plot
13 r  ggplot2 

2
ความงามของอัลฟ่าแสดงให้เห็นโครงกระดูกของลูกศรแทนที่จะเป็นรูปร่างธรรมดา - จะป้องกันได้อย่างไร?
ฉันกำลังตั้งเป้าที่จะสร้างบาร์ที่มีลูกศรที่ท้ายบาร์ ฉันไปgeom_segmentด้วยคำarrowจำกัดความ ฉันต้องการแมปหนึ่งคอลัมน์ลงบนความโปร่งใส แต่ความสวยงามของอัลฟ่าดูเหมือนจะไม่ทำงานกับวัตถุลูกศร นี่คือข้อมูลโค้ด: tibble(y = c(10, 20, 30), n = c(300, 100, 200), transparency = c(10, 2, 4)) %>% ggplot() + geom_segment(aes(x = 0, xend = n, y = y, yend = y, alpha = transparency), colour = 'red', size = 10, arrow = arrow(length = unit(1.5, 'cm'), …
11 r  ggplot2  geom-bar 

2
การสร้างฟังก์ชั่นหลายแง่มุมคอลัมน์
ฉันพยายามที่จะสร้างfacet_multi_col()ฟังก์ชั่นคล้ายกับfacet_col()ฟังก์ชั่นในggforce- ที่ช่วยให้รูปแบบ facet กับอาร์กิวเมนต์พื้นที่ (ซึ่งไม่สามารถใช้ได้facet_wrap()) - แต่มากกว่าหลายคอลัมน์ ดังในพล็อตสุดท้ายด้านล่าง (สร้างด้วยgrid.arrange()) ฉันไม่ต้องการให้ facets จัดแนวข้ามแถวอย่างเหมาะสมเนื่องจากความสูงในแต่ละ facet จะแตกต่างกันไปตามyตัวแปรหมวดหมู่ที่ฉันต้องการใช้ ผมกำลังหาดีออกจากความลึกของฉันกับggprotoที่มีการอ่านนามสกุลคู่มือ ฉันคิดว่าวิธีที่ดีที่สุดคือการส่งโครงร่างเมทริกซ์เพื่อกำหนดตำแหน่งที่จะแบ่งคอลัมน์สำหรับชุดย่อยของข้อมูลที่สอดคล้องกันและสร้างfacet_col ใน ggforceเพื่อรวมพารามิเตอร์ช่องว่าง - ดูจุดสิ้นสุดของคำถาม ภาพประกอบสั้น ๆ เกี่ยวกับตัวเลือกที่ไม่น่าพอใจของฉัน ไม่มีแง่มุม library(tidyverse) library(gapminder) global_tile <- ggplot(data = gapminder, mapping = aes(x = year, y = fct_rev(country), fill = lifeExp)) + geom_tile() global_tile ฉันต้องการที่จะพังพล็อตตามทวีป ฉันไม่ต้องการร่างที่ยาวขนาดนี้ facet_wrap () global_tile …

1
พล็อต gganimate ที่จุดพักและเส้นจางหาย
นี่คือตัวอย่างที่ทำซ้ำได้ของสแตติกพล็อตซึ่งฉันต้องการทำให้เคลื่อนไหว (ฉันต้องการแสดงให้เห็นว่าตัวเก็บตัวอย่าง MCMC ทำงานอย่างไร) library(tidyverse) library(gganimate) set.seed(1234) plot_data <- tibble(x=cumsum(rnorm(100)), y=cumsum(rnorm(100)), time=1:length(x)) ggplot(data=plot_data, aes(x=y, y=x)) + geom_point() + geom_line() สิ่งที่ฉันต้องการเห็นคือจุดที่มองเห็นได้เมื่อวาดและจางไปเล็กน้อย (เช่น alpha เริ่มจากเช่น 1 ถึง 0.3) หลังจากนั้นในขณะที่จะมีบรรทัดที่แสดงประวัติล่าสุดเท่านั้น ประวัติล่าสุดที่จางหายไปน้อยกว่าและหายไปเพียงไม่กี่ก้าวก็หายไปโดยสิ้นเชิง) ต่อไปนี้บรรลุสิ่งที่ฉันต้องการมากขึ้นหรือน้อยลงสำหรับจุดของฉัน (ดังนั้นในความรู้สึกฉันแค่ต้องการเพิ่มเส้นสีซีดจางลงในจุดเชื่อมต่อสองสามจุดสุดท้าย - จุดที่ซีดจางช้ากว่าในบางเฟรมจะยิ่งดีกว่า) ggplot(data=plot_data, aes(x=y, y=x)) + geom_point() + transition_time(time) + shadow_mark(past = T, future=F, alpha=0.3) สิ่งที่ฉันกำลังดิ้นรนคือจะเพิ่มพฤติกรรมที่แตกต่างกันสองอย่างสำหรับสอง geoms เช่นจุดและเส้น เช่นในจุดด้านล่างจุดหายไป (ฉันไม่ต้องการให้) …

2
R ggplot2: ฉันจะตั้งชื่อแกน y ได้อย่างไรโดยขึ้นอยู่กับค่าของตัวแปรด้วย facet_wrap
ฉันจะให้ความคิดเกี่ยวกับข้อมูลของคุณและฉันคิดว่ามันควรจะง่ายกว่าที่จะเข้าใจสิ่งที่ฉันพยายามที่จะบรรลุ Repex: ID <- c(1, 1, 2, 3, 3, 3) cat <- c("Others", "Others", "Population", "Percentage", "Percentage", "Percentage") logT <- c(2.7, 2.9, 1.5, 4.3, 3.7, 3.3) m <- c(1.7, 1.9, 1.1, 4.8, 3.2, 3.5) aggr <- c("median", "median", "geometric mean", "mean", "mean", "mean") over.under <- c("overestimation", "overestimation", "underestimation", "underestimation", "underestimation", …
10 r  ggplot2 

3
ใช้ gganimate เพื่อสร้างการสังเกตฮิสโตแกรมโดยการสังเกต? ต้องการทำงานกับชุดข้อมูลขนาดใหญ่ (~ n = 5,000)
รางวัลจะหมดอายุในวันที่ 2 คำตอบสำหรับคำถามนี้มีสิทธิ์ได้รับค่าหัว+200ชื่อเสียง maxกำลังมองหาคำตอบจากแหล่งที่เชื่อถือได้ ฉันต้องการสุ่มตัวอย่างคะแนนจากการแจกแจงแบบปกติแล้วสร้าง dotplot ทีละตัวโดยใช้gganimateแพ็คเกจจนกว่าเฟรมสุดท้ายจะแสดง dotplot แบบเต็ม โซลูชันที่ใช้งานได้กับชุดข้อมูลที่มีขนาดใหญ่ขึ้น ~ 5,000 - 20,000 จุดเป็นสิ่งจำเป็น นี่คือรหัสที่ฉันมี: library(gganimate) library(tidyverse) # Generate 100 normal data points, along an index for each sample samples <- rnorm(100) index <- seq(1:length(samples)) # Put data into a data frame df <- tibble(value=samples, index=index) df มีลักษณะเช่นนี้: > …

1
พิกัด npc ของ geom_point ใน ggplot2
ฉันจะรับพิกัดx , yของgeom_pointในggplotโดยที่กรอบอ้างอิงเป็นภาพที่ถูกพล็อตทั้งหมดได้อย่างไร ฉันสามารถสร้างggplotด้วยgeom_pointบางอย่างโดยใช้: library(ggplot2) my.plot <- ggplot(data.frame(x = c(0, 0.456, 1), y = c(0, 0.123, 1))) + geom_point(aes(x, y), color = "red") สิ่งนี้ให้: โดยการแปลงเป็นgrobฉันสามารถดึงข้อมูลเพิ่มเติมบางอย่างเกี่ยวกับggplotนี้เช่นพิกัดที่เกี่ยวกับแผงพล็อตซึ่งมีลูกศรสีม่วงทำเครื่องหมายไว้ อย่างไรก็ตามสิ่งนี้จะไม่สนใจพื้นที่ที่แกนนำมาใช้ my.grob <- ggplotGrob(my.plot) my.grob$grobs[[6]]$children[[3]]$x # [1] 0.0454545454545455native 0.46native 0.954545454545454native my.grob$grobs[[6]]$children[[3]]$y # [1] 0.0454545454545455native 0.157272727272727native 0.954545454545454native ฉันจะรับค่าพิกัดx , y ได้อย่างไรเมื่อฉันเริ่มวัดจากมุมล่างซ้ายของภาพทั้งหมดทำเครื่องหมายโดยลูกศรสีเขียว ถ้าเป็นไปได้ผมอยากวิธีการคำนึงถึงรูปแบบของggplot การเพิ่มธีมเช่น+ theme_void()มีผลกับแกนและเลื่อนตำแหน่งของจุดด้วยความเคารพต่อภาพที่ถูกพล็อตทั้งหมด ปรับปรุง : …
10 r  ggplot2  grob 

1
วิธีการแทรกรูปภาพลงในแต่ละแถบในกราฟ ggplot
ฉันพยายามที่จะเปรียบเทียบล่วงหน้าเอ็นบีเอที่แตกต่างกันทั่วสถิติที่แตกต่างกันและฉันคิดว่ากราฟจะดูดีถ้าฉันสามารถเพิ่มใบหน้าของผู้เล่นในตอนท้ายของกราฟเหมือนในR / กราฟ รหัสของฉันคือตอนนี้: a3 %>% ggplot(aes(x = reorder(Player, PPM), y = PPM)) + geom_bar(stat = "identity", aes(fill = Player)) + geom_text(aes(label = PPM), size = 3, position = position_dodge(width = 1), hjust = -0.1) + coord_flip() + theme_minimal() + xlab("Player") + ylab("Points Per Minute") + theme(legend.position = "none") นี่คือลักษณะกราฟของฉันในปัจจุบัน
9 r  image  ggplot2 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.