Data Visualization with R
  • Syllabus
  • Schedule
  • Content
  • Lessons
  • Examples
  • Assignments
  • Resources
  • News
Categories
All (23)
advice (5)
course details (1)
FAQs (13)
feedback (1)
getting started (4)

News

TipSubscribe!

You can use a feed reader like Feedly or use an RSS-to-email service like Blogtrottr to subscribe to these updates and messages. I’ll also e-mail out links to them when there are new updates.

RSS

Date Title Categories
November 20, 2025 at 10:28 PM Week 12 FAQs
  • Can we make interactive maps with R?
  • Why do we use an empty ggplot() call for these functions?
  • What’s the difference between a tibble and a tribble?
  • How many decimal points should I use when I’m working with latitude and longitude?
  • Can I use geom_label_repel() with maps?
  • I tried using nudge_x to move a label on the map and it didn’t move—why?
  • Can I use a heatmap on a map?
  • I tried to make a map and countries are missing—why?
  • I tried to make a map of just Europe and it includes more than just Europe?
  • Can we do geographic calculations with {sf}? Like, can we replace ArcGIS with R and {sf}?
  • Saving data that takes a long time to make
FAQs
November 12, 2025 at 12:53 PM Grades, zeroes, and ✓−s in the gradebook
course details
November 12, 2025 at 11:06 AM Mini project 1 feedback
  • Warnings and messages
  • Raw LLM output
  • Figure in the document doesn’t match the standalone image
  • Sorting and ordering
  • Unbalanced facets
  • Overlapping text
  • Commas
  • Omit time-based axis titles
  • Remove redundant legends
  • Format code more consistently
FAQs feedback
November 11, 2025 at 12:10 PM Week 11 FAQs
  • How do I update my site if I make changes?
  • Can we make our own websites to display our work and our projects?
  • Can I customize the URL for my site? Like www.myname.com?
  • Do people use Plotly and Quarto dashboards and websites in the real world?
  • My plot didn’t translate perfectly to ggplotly—why?
  • How did you get the two value text boxes to stack on top of each other in the bottom row?
  • When should we use a dashboard vs. a full Shiny app?
  • But I don’t want to learn a whole other language with OJS to show in-browser interactive graphs—is there a way to use R in the browser without Shiny?
  • I rendered my file / dashboard but it didn’t appear in the Viewer panel—why not?
  • Do people use viridis palettes in real life?
  • I’m bored with ggplot’s default colors and/or viridis—how can I use other color palettes?
FAQs
November 5, 2025 at 11:42 AM Week 10 FAQs
  • How do I include a separate image in my document?
  • When should we add annotations and text in R vs. in a separate program?
  • Do people really do this two-step process of using R and then using Illustrator?
  • Why can’t we use Canva for this?
  • The Urban Institute style guide said to use 6.25 inches or 720 pixels, but in Illustrator/Affinity/Inkscape, it translated 6.25 inches to 450 points—why?
FAQs
November 2, 2025 at 4:19 PM LLMs are bad and dangerous for learning how to code in this class
advice
October 31, 2025 at 11:59 AM Week 9 FAQs
  • There are so many ggplot-specific R packages—how can we remember them or find them all?
  • What’s the difference between labs() and annotate(geom = "text")?
  • What’s the difference between geom_text() and annotate(geom = "text")?
  • How do I know which aesthetics geoms need to use?
  • It’s annoying to have to specify annotation positions using the values of the x/y axis scales. Is there a way to say instead?
  • What’s the difference between geom_text() and geom_label()?
  • What does update_geom_defaults() do?
  • How do annotations work with facets?
  • The importance of layer order
  • Seeds—why?
FAQs
October 21, 2025 at 11:58 AM Week 8 FAQs
  • We keep seeing violin plots, but they’re still confusing (and ugly and weird). Why are they a thing?
  • Using paste0() to build complex text is annoying! Is there a better way?
  • Why did my slopegraph labels repeat on both sides?
  • The guide lines in the slopegraph look like real lines of data! Is there a way to fix that?
  • I have numbers like 20000 and want them formatted with commas like 20,000. Can I do that automatically?
  • Are geofacet plots used in real life?
  • How can I get month and weekday names or abbreviations for dates?
  • Can I get these automatic month and day names in non-English languages?
FAQs
October 14, 2025 at 9:13 PM Week 7 FAQs
  • Is there some place I can find R packages? There are so many!
  • When is it better to use augment() vs. marginaleffects::predictions()?
  • I’ve used summary() in the past to look at model objects, but you recommend using tidy(). Why?
  • I tried to render my document and got an error about duplicate chunk labels. Why?
  • I tried calculating something with sum() or cor() and R gave me NA instead of a number. Why?
  • Should I always just use na.rm = TRUE then?
  • What about missing data with regression? What does R do then?
  • I want my bars to be sorted in my plot. How can I control their order?
  • Are there other legitimate cases for using dual y-axes?
FAQs
October 8, 2025 at 8:04 PM Week 6 FAQs
  • Am I telling R what to do with my code, or is it telling me what to do? Who’s in charge? Why isn’t it listening?!
  • Do I really need to make fancy custom themes for every plot? Aren’t theme_bw() or theme_gray() just fine?
  • I have numbers like 20000 and want them formatted with commas like 20,000. Can I do that automatically?
  • I tried using {gghalves} and geom_half_point() but I got an error?
  • My histogram bars are too wide / too narrow / not visible. How do I fix that?
  • Does it matter which order we put the different layers in?
FAQs
September 30, 2025 at 8:37 AM Week 5 FAQs
  • This is too much code—Tableau can do all this, so why can’t we use that?
  • Why should I use ggsave() instead of just rendering a Quarto document?
  • I made a bunch of changes to my plot with theme() but when I used ggsave(), none of them actually saved. Why?
  • Does the order of theme things matter? I made changes with theme() and then wiped them out with theme_minimal()?
  • If I want to use the same theme for all the plots in my document, do I need to reuse all that code all the time?
  • Why would we want to use rel(1.4) instead of actual numbers when sizing things?
  • Why can’t I change title text with theme()?
  • I’m using macOS and couldn’t render as PDF when using a custom font—how do I fix that?
  • In chapter 22, Wilke talks about tables—is there a way to make pretty tables with R?
  • Double encoding and excessive legends
  • Legends are cool, but I’ve read that directly labeling things can be better. Is there a way to label things without a legend?
  • Can we fill with a pattern instead of colors?
FAQs
September 22, 2025 at 4:40 PM Week 4 FAQs
  • I can’t remember everything I need to type / I can’t memorize all the code / I had to look stuff up on the internet / Why didn’t you cover this specific thing?
  • It seems weird that we can randomly jitter points to accurately reveal relationships?
  • I want my lollipop/bar chart to go sideways—how do I do that?
  • Why does R keep yelling at me with warnings and messages?
  • Why do I keep getting messages like summarise() has grouped output by 'BLAH' when using group_by() and summarize()?
  • When do we use summarize() vs. mutate() with group_by()?
  • How can I hide warnings and messages?
  • Why did we need to group a second time when calculating the proportions for the heatmap?
  • How can I add a line break to the text in my plot?
  • How can I control the dimensions of my figures?
FAQs
September 19, 2025 at 7:54 PM Week 3 FAQs
  • What’s the difference between the |> and %>% pipes?
  • Why do we sometimes combine code with + and sometimes with |>?
  • Why doesn’t group_by(species) work but group_by(Species) does?
  • Why does aes() sometimes appear in ggplot() and sometimes in geom_WHATEVER()?
  • Installing vs. using packages
  • Why are my axis labels all crowded and on top of each other? How do I fix that?
  • Why isn’t the example code using data = whatever and mapping = aes() in ggplot() anymore? Do we not have to use argument names?
  • What’s the difference between geom_bar() and geom_col()?
  • What’s the difference between read_csv() vs. read.csv()?
  • What’s the difference between facet_grid() and facet_wrap()?
  • Why do I sometimes see facet_wrap(vars(blah)) and sometimes facet_wrap(~ blah)?
  • What’s the difference between the fill and color aesthetics?
  • Why did we need to group and summarize before making the Lord of the Rings plots? I didn’t and the plot still worked
FAQs
September 9, 2025 at 11:03 AM Week 2 FAQs
  • Why do you use ✓s for grades?
  • Why does # mean both headings and code comments?
  • I will never do anything with graphic design—why did we have to learn these principles?
  • How does CRAP relate to other things like the Gestalt Principles?
  • Does something need to have all four elements to be well designed? Or can it have contrast and not alignment?
  • Are the CRAP principles hard-and-fast rules? Will following CRAP lead to the same final designs?
  • Does CRAP only work for single-page things like graphs and posters? Or does it work for reports and books?
  • I noticed Illustrator isn’t free for GSU students anymore. Are there other graphics editors?
  • Is there a way to check that my color palettes are accessible if I’m not using a premade one?
  • I wanted to try other fonts, but I can only see a few in Microsoft Word? Where can I find fonts to use?
FAQs
September 6, 2025 at 3:58 PM Copy, paste, and tweak
advice
September 6, 2025 at 2:58 PM Making cleaner, nicer Quarto documents
  • Render often
  • Check for broken code chunks
  • Check that your text looks okay
  • Don’t install packages in your document
  • Clean up warnings and messages
  • Global chunk options
  • Fancy document settings
  • Chunk names
advice
September 6, 2025 at 2:00 PM Week 1 tips and FAQs
  • What’s the difference between Source and Visual mode in the editor window?
  • What’s the difference between R Markdown and Quarto?
  • Why don’t I have options to render to PDF (or Word or HTML)?
  • Rendered document format for iCollege
  • What is this thing that we can render to?
  • How does group_by() work? Why did we have to group by island and not body_mass and island?
  • How do we know which type of graph to use for different types of data?
  • Do you have any tips for remembering all the different functions we’re learning? There are so many!
FAQs
August 25, 2025 at 3:14 PM How to ask for help
  • Don’t suffer in silence!
  • Use Discord in public
  • Help us help you
  • High resolution questions
  • Unanswered questions
  • Discord question etiquette
  • Calendly + Webex appointments
advice
August 25, 2025 at 3:12 PM First day of class!
getting started
August 21, 2025 at 2:44 PM Building community on Discord
  • Class community
  • Online community
advice
August 21, 2025 at 1:18 PM Announcements and updates
getting started
August 21, 2025 at 12:42 AM Important R stuff
getting started
August 20, 2025 at 1:08 PM Welcome to class!
getting started
No matching items

Content 2025 by Andrew Heiss
All content licensed under a Creative Commons Attribution-NonCommercial 4.0 International license (CC BY-NC 4.0)

 
  • View source
  • Report an issue

Made with and Quarto
View the source at GitHub