How can I best represent a scatter plot with two different factor variables. Consider the example problem,
df <- data.frame(x=rnorm(300),
y=rnorm(300),
type=factor(sample(c("a", "b", "c", "d"), 300, replace=T)),
class=factor(sample(c("1", "2", "3"), 300, replace=T, prob = c(.7, .25, .05))))
The scatter plot
ggplot(df, aes(x=x, y=y))+geom_point(aes(color=type, shape=class))
looks great on screen, but has poor readability when printed in black and white. On the other hand using facet_grid
ggplot(df, aes(x=x, y=y))+geom_point()+facet_grid(class~.)
I loose the structure in the data.
So can anyone suggest an alternative plot that looks great in black & white while preserving the data structure. I am wondering if there are any shape
or other aesthetics I can modify.
ggplot(df, aes(x=x, y=y))+geom_point(aes(shape=type, color=class), size = 3) + scale_color_grey()
$\endgroup$ – Roland Feb 4 '16 at 8:41loose the structure in the data
. $\endgroup$ – mtoto Feb 4 '16 at 12:56ggplot
is used only to illustrate the problem. Have I overlooked something that would make this question overly software-specific? $\endgroup$ – whuber♦ Feb 4 '16 at 16:39