我想绘制一个(阴影)三角形,该三角形的子区域以另一种颜色阴影,如下图所示
到目前为止,我只能绘制三角形:
library(ggplot2)
library(data.table)
dt.triangle <- data.table(group = c(1,1,1), polygon.x = c(1,2,1.75), polygon.y = c(1,1,2))
p <- ggplot()
p <- p + geom_polygon(
data = dt.triangle
,aes(
x=polygon.x
,y=polygon.y
,group=group
)
)
p
我的问题主要是添加白色阴影区域(并且还具有类似形状的三角形,比我的代码更宽)。
答案 0 :(得分:1)
受@desc给出的链接的启发,到目前为止,这是我的解决方案
library(ggplot2)
col_col <- c("#000000",'#000000')
col_fill <- c("#5cb85c","#f9f9f9")
d=data.frame(x=c(1,2,2, 1.5,1.5,2,2), y=c(1,1,2, 1.375,1.25,1.25,1.75), t=c('a', 'a', 'a', 'b', 'b', 'b', 'b'), r=c('x','z','y', 4,5,6,7))
p <- ggplot(data = d, aes(x = x, y = y, col = factor(t), fill = factor(t))) + geom_polygon(data = d, alpha = .75) + # geom_point() +
scale_color_manual(values = col_col) + scale_fill_manual(values = col_fill)
p + geom_point(data = d[1:3,]) + geom_text(data = d[1:3,], aes(x=x, y=y, label=r), hjust=0, vjust=1, size=4) +
theme(axis.title.x = element_blank(),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
axis.title.y = element_blank(),
axis.text.y = element_blank(),
axis.ticks.y = element_blank(),
legend.position = 'none')
我仍在弄清楚如何正确绘制不正确的矩形,同时将第二个多边形的点保持在边缘上。进一步的技巧仍然值得赞赏。