Learn R Programming

ggforce (version 0.1.1)

facet_zoom: Facet data for zoom with context

Description

This facetting provides the means to zoom in on a subset of the data, while keeping the view of the full dataset as a separate panel. The zoomed-in area will be indicated on the full dataset panel for reference. It is possible to zoom in on both the x and y axis at the same time. If this is done it is possible to both get each zoom separately and combined or just combined.

Usage

facet_zoom(x, y, xy, split = FALSE, horizontal = TRUE, zoom.size = 2, show.area = TRUE, shrink = TRUE)

Arguments

x, y, xy
An expression evaluating to a logical vector that determines the subset of data to zoom in on
split
If both x and y is given, should each axis zoom be shown separately as well? Defaults to FALSE
horizontal
If both x and y is given and split = FALSE How should the zoom panel be positioned relative to the full data panel? Defaults to TRUE
zoom.size
Sets the relative size of the zoom panel to the full data panel. The default (2) makes the zoom panel twice the size of the full data panel.
show.area
Should the zoom area be drawn below the data points on the full data panel? Defaults to TRUE.
shrink
If TRUE, will shrink scales to fit output of statistics, not raw data. If FALSE, will be range of raw data before statistical summary.

See Also

Other ggforce.facets: facet_grid_paginate, facet_wrap_paginate

Examples

Run this code
# Zoom in on the versicolor species on the x-axis
ggplot(iris, aes(Petal.Length, Petal.Width, colour = Species)) +
    geom_point() +
    facet_zoom(x = Species == "versicolor")

# Zoom in on versicolor on both axes
ggplot(iris, aes(Petal.Length, Petal.Width, colour = Species)) +
    geom_point() +
    facet_zoom(xy = Species == "versicolor")

# Use different zoom criteria on each axis
ggplot(iris, aes(Petal.Length, Petal.Width, colour = Species)) +
    geom_point() +
    facet_zoom(x = Species != 'setosa', y = Species == 'versicolor')

# Get each axis zoom separately as well
ggplot(iris, aes(Petal.Length, Petal.Width, colour = Species)) +
    geom_point() +
    facet_zoom(xy = Species == "versicolor", split = TRUE)

Run the code above in your browser using DataLab