Adam52
July 4, 2020, 12:44pm
1
I have developed a boxplot using the following sample code:
a<- ggplot(na.omit(df1), aes(x=C,
y=E, fill=as.factor(complete),
color=as.factor(complete))) + geom_boxplot()
a + ggtitle("Sample Text") +
ylab("E") + scale_fill_discrete(name = "
Response", labels = c("No", "Yes")) + theme(plot.title =
element_text(face = "bold", hjust=0.5)) + geom_point(position =
position_jitterdodge()) + scale_fill_manual(values = rep(NA, 2))
This results in a sample graph that displays datapoints exactly as I want but results in the legend getting distorted. Is there a way to alter the code to have the legend title as "Response" with "Yes" and 'No" as the legend items?
Adam52:
df1
redefine complete
to be a factor variable earlier in your code, rather than inline while you construct the plot ? and have the levels be Yes and No as you want them
Using the {palmer penguins} dataset to make a minimal reproducible example, this approach seems to work:
library(tidyverse)
library(palmerpenguins)
data <- palmerpenguins::penguins %>%
mutate(sex_f = factor(sex))
ggplot(data) +
aes(x = species, y = culmen_length_mm, color = sex_f) +
geom_boxplot() +
geom_point(position = position_jitterdodge()) +
scale_color_discrete(name = "Sex", labels = c("Female", "Male", "Missing"))
#> Warning: Removed 2 rows containing non-finite values (stat_boxplot).
#> Warning: Removed 2 rows containing missing values (geom_point).
Created on 2020-07-04 by the reprex package (v0.3.0)
system
Closed
July 25, 2020, 1:13pm
5
This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.