cowplot
包使这变得更容易了。
构建情节:
library(ggridges)
library(ggplot2)
p <- ggplot(iris, aes(x = Sepal.Length, y = Species)) + geom_density_ridges()
加载图像并用于axis_canvas()
构建一条垂直图像:
library(cowplot)
pimage <- axis_canvas(p, axis = 'y') +
draw_image("https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Iris_virginica.jpg/295px-Iris_virginica.jpg", y = 2.5, scale = 0.5) +
draw_image("https://upload.wikimedia.org/wikipedia/commons/thumb/4/41/Iris_versicolor_3.jpg/320px-Iris_versicolor_3.jpg", y = 1.5, scale = 0.5) +
draw_image("https://upload.wikimedia.org/wikipedia/commons/thumb/5/56/Kosaciec_szczecinkowaty_Iris_setosa.jpg/450px-Kosaciec_szczecinkowaty_Iris_setosa.jpg", y = 0.5, scale = 0.5)
# insert the image strip into the plot
ggdraw(insert_yaxis_grob(p, pimage, position = "left"))
没有axis.text.y
:
p <- ggplot(iris, aes(x = Sepal.Length, y = Species)) + geom_density_ridges() +
theme(axis.text.y = element_blank())
ggdraw(insert_yaxis_grob(p, pimage, position = "left"))
您也可以删除垂直线,目前我找不到将图像条放在轴线左侧的方法。