The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

Flipping scatterbar oreintations and positions

Dee Velazquez and Jean Fan

2024-11-22

Flipping scatterbar oreintations and positions

This tutorial demonstrates how to change the orientation of a scatterbar plot using the scatterbar package. Specifically, we will flip the x and y coordinates to create an alternative view of the data.

# Load packages and example adult mouse brain dataset
library(scatterbar)
library(ggplot2)

data("adult_mouse_brain_ffpe")

Here, we flip the x and y coordinates in the pos data frame to change the orientation of the whole scatterbar plot, such that the adult mouse brain is now displayed horizontally.

# Flip the x and y columns of the position data
flipped_pos <- adult_mouse_brain_ffpe$pos[, c(2,1)]
# Rename the columns to ensure the position data has the correct column names
colnames(flipped_pos) <- c('x','y')
# Create the scatterbar plot with the flipped position data
start.time <- Sys.time()
scatterbar::scatterbar(adult_mouse_brain_ffpe$prop, 
                       flipped_pos, padding_x = 0.3, padding_y = 0.3,
                       size_x = 220, size_y = 220,
                       legend_title = "Cell Types") + coord_fixed()
#> Calculated size_x: 219.7
#> Calculated size_y: 219.7
#> Applied padding_x: 0.3
#> Applied padding_y: 0.3

end.time <- Sys.time()
print(end.time - start.time)
#> Time difference of 0.1065509 secs

We can also change the orientation of the stacked bar charts themselves and how they are displayed. With coord_flip(), the adult mouse brain is now displayed vertically once more, but the stacked bar charts are now displayed horizontally.

# Create the scatterbar plot with the flipped scatterbar oreintation
start.time <- Sys.time()
scatterbar::scatterbar(adult_mouse_brain_ffpe$prop, 
                       flipped_pos, padding_x = 0.3, padding_y = 0.3,
                       size_x = 220, size_y = 220,
                       legend_title = "Cell Types") + coord_fixed() + coord_flip()
#> Calculated size_x: 219.7
#> Calculated size_y: 219.7
#> Applied padding_x: 0.3
#> Applied padding_y: 0.3
#> Coordinate system already present. Adding new coordinate system, which will
#> replace the existing one.

end.time <- Sys.time()
print(end.time - start.time)
#> Time difference of 0.1133971 secs

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.