R 尝试使用ggplot2绘制类似于出版物中的图形
我正在尝试生成一个图,它看起来像这个图的第三部分/底部部分(其中法语/撒丁语表示Y,其他表示X) 我知道我需要使用ggplot2生成这些,但我不知道如何生成。我想知道是否有人能帮忙 这是我的基本代码R 尝试使用ggplot2绘制类似于出版物中的图形,r,ggplot2,R,Ggplot2,我正在尝试生成一个图,它看起来像这个图的第三部分/底部部分(其中法语/撒丁语表示Y,其他表示X) 我知道我需要使用ggplot2生成这些,但我不知道如何生成。我想知道是否有人能帮忙 这是我的基本代码 tbl$RegionX2 <- factor(tbl$RegionX, as.character(tbl$RegionX)) plot <- ggplot(tbl, aes(y = RegionX2, x = D, xmin = D - 2*SE, xmax
tbl$RegionX2 <- factor(tbl$RegionX, as.character(tbl$RegionX))
plot <- ggplot(tbl, aes(y = RegionX2,
x = D, xmin = D - 2*SE, xmax = D + 2*SE, label = RegionX2, colour = RegionY)) +
geom_point(colour = "black") +
geom_text(hjust = 1.2) +
theme_classic() +
theme(axis.title = element_blank(),
axis.ticks = element_blank(),
axis.text.y = element_blank(),
legend.position = "none") +
geom_errorbarh(height = 0)
ggsave(plot=plot,height=7,width=7, filename="D.pdf", useDingbats=FALSE)
现在还不太清楚你打算实现什么,但是在看了链接中你的预期数字之后,这里是我能够制作的东西。希望这是有帮助的 首先,我使用RegionY和RegionX创建了一个新列,以便在Y轴上放置唯一的因子。这是如何做到的
tbl
是数据集中的数据帧
tbl$X <- paste0(tbl$RegionY,tbl$RegionX)
下图
如果你需要更多的信息,请在评论中告诉我,这样我可以更新答案
tbl$X <- paste0(tbl$RegionY,tbl$RegionX)
tbl$X <- as.factor(tbl$X)
ggplot(tbl, aes(y = X,x = D,fill=RegionY)) +
geom_point(shape=21) +
scale_y_discrete(limits=rev(levels(tbl$X)),label=rev(substring(tbl$X,1,1))) +
geom_vline(xintercept = 0) +
geom_text(aes(label=tbl$RegionX,colour=RegionY),x=0.02) +
scale_x_continuous(limits = c(-0.04,0.025)) +
geom_errorbarh(aes(xmin = D - 2*SE, xmax = D + 2*SE,colour=RegionY),height=0.4) +
theme_classic() +
theme(axis.title = element_blank(),
axis.ticks = element_blank(),
axis.text.y = element_blank(),
legend.position = "none")