[This article was first published on pacha.dev/blog, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)

Want to share your content on R-bloggers? click here if you have a blog, or here if you don’t.

Tetley tea boxes feature the following caffeine meter:

In R we can replicate this meter using ggplot2.

Move the information to a tibble:


caffeine_meter <- tibble(
  cup = c("Coffee", "Tea", "Green Tea", "Decaf Tea"),
  caffeine = c(99, 34, 34, 4)

# A tibble: 4 × 2
  cup       caffeine
  <chr>        <dbl>
1 Coffee          99
2 Tea             34
3 Green Tea       34
4 Decaf Tea        4

Now we can plot the caffeine meter using ggplot2:


g <- ggplot(caffeine_meter) +
  geom_col(aes(x = cup, y = caffeine, fill = cup))


Then I add the colours that I extracted with GIMP:

pal <- c("#f444b3", "#3004c9", "#85d26a", "#3a5dff")

g + scale_fill_manual(values = pal)

The Decaf Tea category should be at the end of the plot, so I need to transform the “cup” column to a factor sorted decreasingly by the “caffeine” column:


caffeine_meter <- caffeine_meter %>%
  mutate(cup = fct_reorder(cup, -caffeine))

g <- ggplot(caffeine_meter) +
  geom_col(aes(x = cup, y = caffeine, fill = cup)) +
  scale_fill_manual(values = pal)


Now I can change the background colour to a more blueish gray:

g +
  theme(panel.background = element_rect(fill = "#dcecfc"))

Now I need to add the title with a blue background, so putting all together:

caffeine_meter <- caffeine_meter %>%
  mutate(title = "Caffeine MeternIf brewed 3-5 minutes")

ggplot(caffeine_meter) +
  geom_col(aes(x = cup, y = caffeine, fill = cup)) +
  scale_fill_manual(values = pal) +
  facet_grid(. ~ title) +
    strip.background = element_rect(fill = "#3304dc"),
    strip.text = element_text(size = 20, colour = "white", face = "bold"),
    panel.background = element_rect(fill = "#dcecfc"),
    legend.position = "none"

To leave a comment for the author, please follow the link and comment on their blog: pacha.dev/blog.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you’re looking to post or find an R/data-science job.

Want to share your content on R-bloggers? click here if you have a blog, or here if you don’t.

Continue reading: Tetley caffeine meter replication with ggplot2

Understanding the Impact and Application of Data Visualization Techniques Using R Programming

Data visualization plays a crucial role in understanding complex data. The text discusses how one can use the R programming language and the ggplot2 package to recreate a caffeine meter originally found on Tetley tea boxes.

The process involved creating a tibble (or data frame in R terminology), plotting the caffeine meter values using ggplot2, and adding colors using GIMP. Additionally, the authors highlight how to rearrange categories and customize the plot’s aesthetics, such as changing the background color or adding a title.

Implications and Future Developments

While seemingly simple, this step-by-step approach of recreating a caffeine meter not only shows the power of data visualization, but also how programmers can leverage R’s flexibility to customize and manipulate plots. The practicality and ease of use of the ggplot2 package make it a valuable tool for R users seeking to understand and present their data better.

In the long term, this technique could lead to more sophisticated data visualization projects. With the increasing complexity and volume of data, there will be a growing demand for data visualization skills. Enhancements in ggplot2 and similar packages would help create more intuitive and user-friendly graphics that make complicated data more understandable.

Moreover, considering the rapid progress within the R programming community, we may expect the release of new packages or functionalities that offer even more customization options and easier methods of plot manipulation.

Actionable advice

Based on the above insights, here are some suggestions for those interested in data visualization and R programming:

  1. Start simple: Beginners should start with simple projects, like the one mentioned in the text, to understand the basics of data visualization using R and ggplot2.
  2. Continuous learning: Stay updated with developments in the R community. The capabilities of R are continuously growing, and new packages and functionalities are regularly released.
  3. Incorporate design principles: Despite the technical nature of data visualization, remember that plots are a form of communication. Learning basic design principles will go a long way in making your plots more easy to understand and aesthetically pleasing.
  4. Explore data: Try visualizing different parameters and variables of your data. Often, the best way to understand the dataset is to plot it.

Remember that data visualization, like any other skill, requires time and practice to master. So, patience is key! Get your hands dirty with code, make plenty of mistakes, and most importantly, keep having fun throughout your journey.

Read the original article