我有一个数据可以通过两个分隔符分开.一个是年和二是场特征.
box<-as.data.frame(1:36)
box$year <- c(1996,1996,1996,1996,1996,1996,1996,1996,1996,
1997,1997,1997,1997,1997,1997,1997,1997,1997,
1996,1996,1996,1996,1996,1996,1996,1996,1996,
1997,1997,1997,1997,1997,1997,1997,1997,1997)
box$year <- as.character(box$year)
box$case <- c(6.40,6.75,6.11,6.33,5.50,5.40,5.83,4.57,5.80,
6.00,6.11,6.40,7.00,NA,5.44,6.00, NA,6.00,
6.00,6.20,6.40,6.64,6.33,6.60,7.14,6.89,7.10,
6.73,6.27,6.64,6.41,6.42,6.17,6.05,5.89,5.82)
box$code <- c("L","L","L","L","L","L","L","L","L","L","L","L",
"L","L","L","L","L","L","M","M","M","M","M","M",
"M","M","M","M","M","M","M","M","M","M","M","M")
colour <- factor(box$code, labels = c("#F8766D", "#00BFC4"))
Run Code Online (Sandbox Code Playgroud)
在箱图中,我想在它们上面显示点,以查看数据的分布方式.这可以通过每年一个箱子图轻松完成:
ggplot(box, aes(x = year, y = case, fill = "#F8766D")) +
geom_boxplot(alpha = 0.80) +
geom_point(colour = colour, size = 5) +
theme(text = element_text(size = 18),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
panel.grid.minor.x = element_blank(),
panel.grid.major.x = element_blank(),
legend.position = "none")
Run Code Online (Sandbox Code Playgroud)
但是当我在其中添加fill参数时,它变得更加复杂:
ggplot(box, aes(x = year, y = …Run Code Online (Sandbox Code Playgroud) ggplot2图的面板网格被创建为位于图的背景上。我的问题是:是否可以修改以覆盖情节?
我可以部分地看到用geom_hline()或替换网格的解决方案geom_vline()。但是,对于更复杂的图或在绘制地图时,这可能会很棘手,因此,我的问题仅涉及修改的元素theme()。
library(tidyverse)
df <- data.frame(x = c(1,2),
y = c(1,2))
df %>% ggplot(aes(x, y)) +
geom_area() + theme(
panel.grid = element_line(color = "red")
)
Run Code Online (Sandbox Code Playgroud)
用geom_hline()或替换网格的欺骗性解决方案geom_vline()
grd_x <- seq(1, 2, length.out = 9)
grd_y <- seq(0, 2, length.out = 9)
df %>% ggplot(aes(x, y)) +
geom_area() +
geom_hline(yintercept = grd_y, col = "red") +
geom_vline(xintercept = grd_x, col = "red")
Run Code Online (Sandbox Code Playgroud)
是否可以通过多个定义的低和高参数来制作颜色渐变?
让我们说,在这个数据上:
df <- data.frame(a = 1:100,
b = rnorm(100, mean = 1000, sd = 500))
ggplot(df) +
geom_point(aes(a, b)) +
scale_fill_continous(low = "white", high = "black")
## as "low" and "high" is all scale_fill_continous() funcion offer
Run Code Online (Sandbox Code Playgroud)
设置低和高参数只会导致线性颜色渐变,但我想要更多组合的颜色渐变,比如说从白色到蓝色然后再到黑色。
感谢您的关注和解答。