我用 ggplot2 创建了一个图形,一些标签是重叠的。我想显示所有标签而不重叠。那可能吗?如何?我知道 geom_text 有一个选项“check_overlap”,如果没有重叠,则显示或不显示标签。但是,这不是我想要的。我想要并且需要显示所有标签。
\n\n我的代码:
\n\nggplot(data, aes(x=DRTG, y=ORTG)) +\n geom_point(colour = "#000000") + \n ggtitle("Gr\xc3\xa1fico Liga DIA: Ratio Ofensivo / Ratio Defensivo (hasta jornada 8)") +\n geom_text(label=rownames(data), colour = "#000000", nudge_x = 0, nudge_y = 1, size = 4, fontface = "bold", check_overlap = F) +\n geom_point(data=pointMedia, aes(x=mediaDRTG, y=mediaORTG, colour="red", size = 1)) + \n geom_vline(xintercept = pointMedia[, "mediaDRTG"], colour = "green") + \n geom_hline(yintercept = pointMedia[, "mediaORTG"], colour = "blue") +\n geom_text(data=pointMedia, aes(x=mediaDRTG, y=mediaORTG, label="Liga DIA"), nudge_x = 0, nudge_y = 1, colour = "red", fontface = "bold") +\n theme(legend.position = "none") +\n geom_abline(intercept =0 , slope = 1, colour = "orange")+ xlim(70,115) + ylim(70,115)\nRun Code Online (Sandbox Code Playgroud)\n\n以及一些标签上重叠的图像:
\n\n\n作为答案发布,之前是评论。
而不是只为nudge_yfor传递一个常量值geom_text:
ggplot(data, aes(x=DRTG, y=ORTG)) +
geom_text(label=rownames(data), colour = "#000000",
nudge_x = 0, nudge_y = 1, size = 4, fontface = "bold", check_overlap = F)
Run Code Online (Sandbox Code Playgroud)
...您可以传递完整的向量,例如my_nudge_y:
my_nudge_y=c(1,1,...,0.6,1.2,...)
ggplot(data, aes(x=DRTG, y=ORTG)) +
geom_text(label=rownames(data), colour = "#000000",
nudge_x = 0, nudge_y = my_nudge_y, size = 4, fontface = "bold", check_overlap = F)
Run Code Online (Sandbox Code Playgroud)
您可以使用它来单独调整琴弦位置。
一般来说,解决重叠并不是很容易的问题,因为文本数量相对较少,绘图区域开始填充文本。
| 归档时间: |
|
| 查看次数: |
4820 次 |
| 最近记录: |