R 如何在ggplot中绘制此绘图
我想创造一个像这样的人物。我不知道它是什么类型的图形,在ggplot中找不到参考。我应该用什么“关键字”来搜索互联网R 如何在ggplot中绘制此绘图,r,ggplot2,figure,step,R,Ggplot2,Figure,Step,我想创造一个像这样的人物。我不知道它是什么类型的图形,在ggplot中找不到参考。我应该用什么“关键字”来搜索互联网 这可以通过一个geom\u段()来完成。。设置一列,定义线段是垂直的还是对角的。使用比例将该列分别映射为(实心、粗体、紫色)和(虚线、细线、黑色) library( tidyverse ) # Data X <- tibble( x = rep(c(100, 150, 800, 750, 850, 1250, 4300, 2300, 3300, 6100), each
这可以通过一个
geom\u段()来完成。
。设置一列,定义线段是垂直的还是对角的。使用比例将该列分别映射为(实心、粗体、紫色)和(虚线、细线、黑色)
library( tidyverse )
# Data
X <- tibble(
x = rep(c(100, 150, 800, 750, 850, 1250, 4300, 2300, 3300, 6100), each=2),
y = c(0,2, 4,8, 10,15, 20,45, 50,70, 80,100, 110,130, 140,160, 230,245, 280,310),
x1 = c(x[-1],0), y1 = c(y[-1],310), type=ifelse(x==x1,"vert","diag") )
# # A tibble: 20 x 5
# x y x1 y1 type
# <dbl> <dbl> <dbl> <dbl> <chr>
# 1 100 0 100 2 vert
# 2 100 2 150 4 diag
# 3 150 4 150 8 vert
# 4 150 8 800 10 diag
# ...
ggplot(X) + theme_bw() + scale_y_reverse() +
geom_segment( aes(x=x, y=y, xend=x1, yend=y1,
linetype=type, size=type, color=type) ) +
scale_linetype_manual( values=c(diag="dashed", vert="solid") ) +
scale_size_manual( values=c(diag=0.5, vert=2) ) +
scale_color_manual( values=c(diag="black", vert="darkorchid4") ) +
guides( linetype=FALSE, size=FALSE, color=FALSE ) +
xlab( "Concentration" ) + ylab( "Depth (cm)" )
库(tidyverse)
#资料
对于虚线,X看起来像一条geom_路径()
,或者是一条geom_线()
带有coord_flip()
。对于较厚的钢筋,可以使用geom\u rect()
/geom\u tile()
。我不知道有哪种几何函数明确地用于这类绘图。谢谢你,阿泰姆。正是我要找的!