Assessment declaration checklist

Please carefully read the statements below and check each box if you agree with the declaration. If you do not check all boxes, your assignment will not be marked. If you make a false declaration on any of these points, you may be investigated for academic misconduct. Students found to have breached academic integrity may receive official warnings and/or serious academic penalties. Please read more about academic integrity here. If you are unsure about any of these points or feel your assessment might breach academic integrity, please contact your course coordinator for support. It is important that you DO NOT submit any assessment until you can complete the declaration truthfully.

By checking the boxes below, I declare the following:

I understand that:

I agree and acknowledge that:

Deconstruct

Original

The original data visualisation selected for the assignment was as follows:


Source: Google 2025 Environmental Report - Google Sustainability (2025).


Objective and Audience

The objective and audience of the original data visualisation chosen can be summarised as follows:

Objective

To summarize Google’s 2024 “ambition-based” carbon emissions to track progress against science-based net-zero targets.

Audience

Investors, environmental researchers, and public stakeholders are interested in corporate climate accountability.

Critique

The visualisation chosen had the following three main issues:

  • Issue 1: The chart uses “ambition-based” emissions and prioritizes market-based Scope 2 data, which excludes part of the full inventory and understates the physical impact of emissions. This results in an incomplete and potentially misleading representation of Google’s total carbon footprint.
  • Issue 2: The donut chart makes it difficult to accurately compare category sizes because it relies on angles and areas rather than length. This reduces the viewer’s ability to interpret differences between emission sources, especially among Scope 3 categories.
  • Issue 3: The use of multiple similar shades of blue makes categories difficult to distinguish, increasing cognitive load and reducing accessibility for colorblind users. This limits the readability of the visualization.

Reconstruct

Code

The following code was used to fix the issues identified in the original.

# Load libraries
library(ggplot2)
library(dplyr)
library(forcats)
library(scales)

# -----------------------------
# Data: Google 2024 emissions (full inventory)
# -----------------------------
emissions <- data.frame(
  category = c(
    "Scope 1",
    "Scope 2 (Location-based)",
    "Purchased goods & services",
    "Capital goods & Use of sold products",
    "Fuel & energy related activities",
    "Upstream transportation & distribution",
    "Waste generated in operations",
    "Business travel",
    "Employee commuting"
  ),
  scope = c(
    "Scope 1",
    "Scope 2",
    rep("Scope 3", 7)
  ),
  value = c(
    73100,
    11283200,
    3601000,
    6337000,
    714000,
    853000,
    12000,
    399000,
    137000
  )
)

# -----------------------------
# Data processing
# -----------------------------
emissions <- emissions %>%
  mutate(
    value_m = value / 1e6,  # convert to millions
    category = fct_reorder(category, value_m)
  )

# -----------------------------
# Plot
# -----------------------------
p1 <- ggplot(emissions, aes(x = category, y = value_m, fill = scope)) +
  
  # Bars
  geom_col(width = 0.7) +
  
  # Flip for readability
  coord_flip() +
  
  # Value labels
  geom_text(
    aes(label = paste0(round(value_m, 2), "M")),
    hjust = -0.1,
    size = 4
  ) +
  
  # Color palette (clean + meaningful)
  scale_fill_manual(
    values = c(
      "Scope 1" = "#E69F00",
      "Scope 2" = "#009E73",
      "Scope 3" = "#0072B2"
    ),
    name = "Emission Scope"
  ) +
  
  # Axis formatting
  scale_y_continuous(
    labels = label_number(suffix = "M"),
    expand = expansion(mult = c(0, 0.1))
  ) +
  
  # Titles
  labs(
    title = "Google 2024 Greenhouse Gas Emissions (Full Inventory)",
    subtitle = "Breakdown by Emission Source (Scope 1, 2, and Scope 3 Categories)",
    x = NULL,
    y = "Emissions (Million tCO2e)",
    caption = "Source: Google 2025 Environmental Report\nNote: Full emissions inventory used (not 'ambition-based' subset)"
  ) +
  
  # Theme (clean, professional)
  theme_minimal(base_size = 13) +
  theme(
    plot.title = element_text(face = "bold", size = 16),
    plot.subtitle = element_text(size = 12),
    axis.text.y = element_text(size = 11),
    legend.position = "top",
    legend.title = element_text(face = "bold"),
    panel.grid.major.y = element_blank()
  )

Reconstruction

The following plot fixes the main issues in the original.

References

The reference to the original data visualisation choose, the data source(s) used for the reconstruction and any other sources used for this assignment are as follows: