R将频率分布"Ticks"添加到ggplot
R Add Frequency Distribution "Ticks" to ggplot
我知道这可能不是最好的例子,但我想在 x 轴上方添加 x 变量 (lstat) 的分布,如示例图中所示。我提供了 MWE 的数据和简单折线图的代码。
但是,到目前为止我还没有关于如何实现这一点的线索。有什么提示吗?
library(ggplot2)
library(mlbench)
data(BostonHousing)
ggplot(data = BostonHousing) +
geom_line(aes(x = lstat, y = medv))
Example Plot 表示 x 轴上方的频率刻度:
我相信你要找的东西叫做 'rug plot',你可以使用 ggplot 的 geom_rug()
函数来实现它,例如
library(tidyverse)
library(mlbench)
data(BostonHousing)
ggplot(data = BostonHousing) +
geom_line(aes(x = lstat, y = medv)) +
geom_rug(aes(x = lstat))
由 reprex package (v2.0.1)
于 2021-09-03 创建
如果要指定刻度线的高度,也可以使用geom_segment
函数。
library(tidyverse)
library(mlbench)
data(BostonHousing)
ggplot(data = BostonHousing) +
geom_line(aes(x = lstat, y = medv)) +
geom_segment(aes(x = lstat, xend = lstat, yend = 3, y = 0))
我知道这可能不是最好的例子,但我想在 x 轴上方添加 x 变量 (lstat) 的分布,如示例图中所示。我提供了 MWE 的数据和简单折线图的代码。
但是,到目前为止我还没有关于如何实现这一点的线索。有什么提示吗?
library(ggplot2)
library(mlbench)
data(BostonHousing)
ggplot(data = BostonHousing) +
geom_line(aes(x = lstat, y = medv))
Example Plot 表示 x 轴上方的频率刻度:
我相信你要找的东西叫做 'rug plot',你可以使用 ggplot 的 geom_rug()
函数来实现它,例如
library(tidyverse)
library(mlbench)
data(BostonHousing)
ggplot(data = BostonHousing) +
geom_line(aes(x = lstat, y = medv)) +
geom_rug(aes(x = lstat))
由 reprex package (v2.0.1)
于 2021-09-03 创建如果要指定刻度线的高度,也可以使用geom_segment
函数。
library(tidyverse)
library(mlbench)
data(BostonHousing)
ggplot(data = BostonHousing) +
geom_line(aes(x = lstat, y = medv)) +
geom_segment(aes(x = lstat, xend = lstat, yend = 3, y = 0))