To create a stacked bar chart in `ggplot2` displaying data per month, you can use the `geom_bar()` function and map your data to the `x` (months) and `fill` (categories) aesthetics. Here's a step-by-step example:
Assuming you have a data frame called `df` with columns `month`, `category`, and `value`, where `month` is a Date or DateTime, `category` represents the categories you want to stack, and `value` represents the values:
```R
library(ggplot2)
# Sample data
df <- data.frame(
month = seq(as.Date("2023-01-01"), as.Date("2023-12-01"), by = "1 month"),
category = c("A", "B", "C"),
value = c(10, 20, 30, 15, 25, 35, 5, 10, 15, 20, 25, 30)
)
# Create a ggplot2 stacked bar chart
ggplot(df, aes(x = month, y = value, fill = category)) +
geom_bar(stat = "identity") +
labs(
title = "Stacked Bar Chart per Month",
x = "Month",
y = "Value",
fill = "Category"
) +
theme_minimal() +
scale_x_date(date_labels = "%b %Y", date_breaks = "1 month") +
scale_fill_brewer(palette = "Set3")
```
In this code:
1. We use the `geom_bar()` function to create the stacked bar chart and map `month` to the x-axis, `value` to the y-axis, and `category` to the fill aesthetic to create the stacks.
2. We set the axis labels, chart title, and use a minimal theme for aesthetics.
3. We customize the x-axis scale to display months with a specific date format.
4. We choose a color palette for the fill using `scale_fill_brewer()`, but you can use any other color palette you prefer.
This code will create a stacked bar chart showing values per month, with different categories represented by different colors. You can adjust the data, labels, and visual settings according to your specific requirements.