How to create a chart like the following in R?
Some toy data would look like this:
# Data
data <- rep(c(0, 25, 50, 75, 100),6)
data <- matrix(data, ncol=3, byrow=TRUE)
colnames(data) <- paste0("factor_", seq(3))
rownames(data) <- paste0("observation_", seq(10))
# factor_1 factor_2 factor_3
# observation_1 0 25 50
# observation_2 75 100 0
# observation_3 25 50 75
# observation_4 100 0 25
# observation_5 50 75 100
# observation_6 0 25 50
# observation_7 75 100 0
# observation_8 25 50 75
# observation_9 100 0 25
# observation_10 50 75 100
Thanks.
Jeez, I wasted too much time on this ...
It's not perfect - one would need to play with the units of the axes to get it to always produce "circular" circles (as opposed to ovals), but you get the gist:
I don't think you can do exactly what you want in
ggplot2
without a custom set of grobs and a custom geom, but this is a close approximation if you're willing to average out the ink:Another ggplot2;
Here's a quick & dirty solution using base graphics and unicode symbols: