Ответ 1
Вы можете добавить аргумент alpha
к вашему boxplot. Например:
geom_boxplot(aes(group=name), alpha = 0.8)
предоставит вам
Я создаю графический файл с несколькими группами и рисую geom_boxplot() над строкой строк. Однако было бы неплохо покрасить коробки прозрачно, чтобы линии могли быть видны.
Вот некоторые примеры данных:
x11()
name <- c("a", "a", "a", "a", "a", "a","a", "a", "a", "b", "b", "b","b", "b", "b","b", "b", "b")
class <- c("c1", "c1", "c1", "c2", "c2", "c2", "c3", "c3", "c3","c1", "c1", "c1", "c2", "c2", "c2", "c3", "c3", "c3")
year <- c("2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008")
value <- c(100, 33, 80, 90, 80, 100, 100, 90, 80, 90, 80, 100, 100, 90, 80, 99, 80, 100)
df <- data.frame(name, class, year, value)
df
Я рисую графику с помощью:
p1 <- ggplot(df, aes(year, value))
p1 <- p1 + geom_line(aes(group=name, size=name),colour="#ff2300",alpha=0.5) + facet_wrap(~ class, scales = "free_y")
p1 <- p1 + geom_boxplot(aes(group=name))
print(p1)
И в моей системе ширина строки в легенде отображается неправильно. Я делаю что-то неправильно? Спасибо заранее!
Вы можете добавить аргумент alpha
к вашему boxplot. Например:
geom_boxplot(aes(group=name), alpha = 0.8)
предоставит вам
Измените порядок геометров, чтобы сначала нарисовать квадрат, а затем линии. Однако я не думаю, что ваш график имеет смысл. Почему вы используете имя для изменения размера строки? Разве не было бы смысла менять тип линии? И я советую против free_y в грани, так как это трудно сравнивать.
name <- c("a", "a", "a", "a", "a", "a","a", "a", "a", "b", "b", "b","b", "b", "b","b", "b", "b")
class <- c("c1", "c1", "c1", "c2", "c2", "c2", "c3", "c3", "c3","c1", "c1", "c1", "c2", "c2", "c2", "c3", "c3", "c3")
year <- c("2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008")
value <- c(100, 33, 80, 90, 80, 100, 100, 90, 80, 90, 80, 100, 100, 90, 80, 99, 80, 100)
df <- data.frame(name, class, year, value)
df
library(ggplot2)
p1 <- ggplot(df, aes(year, value))
p1 <- p1 + geom_boxplot(aes(group=name)) + geom_line(aes(group=name, size=name),colour="#ff2300",alpha=0.5) +
facet_wrap(~ class, scales = "free_y")