CodeToLive

Data Visualization in R

Data visualization is a critical part of data analysis, allowing you to explore and communicate insights effectively. R provides powerful tools for data visualization, including the ggplot2 package, which is widely used for creating complex and customizable plots.

Basic Plotting

Use the plot() function to create basic plots. This function is part of base R and is useful for quick visualizations.


x <- 1:10
y <- x^2
plot(x, y, type = "l", main = "Line Plot", xlab = "X", ylab = "Y")
      

Using ggplot2

The ggplot2 package provides a more advanced and flexible way to create visualizations. It follows the grammar of graphics, making it easy to build complex plots layer by layer.


library(ggplot2)

data <- data.frame(x = 1:10, y = (1:10)^2)
ggplot(data, aes(x = x, y = y)) +
  geom_line() +
  ggtitle("Line Plot with ggplot2") +
  xlab("X") +
  ylab("Y")
      

Bar Plot

Create bar plots using geom_bar(). Bar plots are useful for comparing categorical data.


data <- data.frame(category = c("A", "B", "C"), value = c(10, 20, 30))
ggplot(data, aes(x = category, y = value)) +
  geom_bar(stat = "identity") +
  ggtitle("Bar Plot")
      

Scatter Plot

Scatter plots are useful for visualizing relationships between two continuous variables. Use geom_point().


data <- data.frame(x = rnorm(100), y = rnorm(100))
ggplot(data, aes(x = x, y = y)) +
  geom_point() +
  ggtitle("Scatter Plot")
      

Histogram

Histograms are used to visualize the distribution of a single variable. Use geom_histogram().


data <- data.frame(values = rnorm(1000))
ggplot(data, aes(x = values)) +
  geom_histogram(binwidth = 0.5) +
  ggtitle("Histogram")
      

Box Plot

Box plots are useful for visualizing the distribution of data across different categories. Use geom_boxplot().


data <- data.frame(category = rep(c("A", "B", "C"), each = 100), values = rnorm(300))
ggplot(data, aes(x = category, y = values)) +
  geom_boxplot() +
  ggtitle("Box Plot")
      

Customizing Plots

ggplot2 allows you to customize plots extensively. You can modify themes, colors, labels, and more.


ggplot(data, aes(x = x, y = y)) +
  geom_point(color = "blue", size = 3) +
  theme_minimal() +
  ggtitle("Customized Scatter Plot") +
  xlab("X Axis") +
  ylab("Y Axis")
      

Faceting

Faceting allows you to create multiple plots based on a categorical variable. Use facet_wrap() or facet_grid().


data <- data.frame(x = rnorm(300), y = rnorm(300), group = rep(c("A", "B", "C"), each = 100))
ggplot(data, aes(x = x, y = y)) +
  geom_point() +
  facet_wrap(~ group) +
  ggtitle("Faceted Scatter Plot")
      

Saving Plots

You can save plots to files using the ggsave() function.


ggplot(data, aes(x = x, y = y)) +
  geom_point() +
  ggtitle("Scatter Plot")

ggsave("scatter_plot.png", width = 6, height = 4)
      

Interactive Visualizations

For interactive visualizations, you can use packages like plotly.


library(plotly)
p <- ggplot(data, aes(x = x, y = y)) +
  geom_point() +
  ggtitle("Interactive Scatter Plot")

ggplotly(p)
      
Next: Statistical Analysis