ggplot2中的geom_text重叠文本和文本对齐
Posted
技术标签:
【中文标题】ggplot2中的geom_text重叠文本和文本对齐【英文标题】:geom_text overlapping text and alignment of text in ggplot2 【发布时间】:2017-11-25 10:51:22 【问题描述】:我必须通过 geom_text() 绘制表格,我尝试使用 position_jitter /dodge 和 hjust 使其看起来像表格并更改重叠或以倾斜方式排列的文本。
这是一个示例代码:
require(ggplot2)
require(reshape2)
dia3 <- melt(CO2, id = c(colnames(CO2)[1],colnames(CO2)[2]))
dia3
p <- ggplot(dia3, aes_string(x=colnames(dia3)[2],y=colnames(dia3)[1],color = colnames(dia3)[3]))+
geom_text(aes_string(label = colnames(dia3)[4]),
position=position_dodge(width = 0.5),
hjust = 0.5,
size = 2.5
)+
scale_x_discrete(drop = TRUE)+
theme_bw()+
theme(
axis.ticks.x = element_blank(),
axis.text.y= element_text(color="black", size=8),
axis.title.y = element_blank(),
axis.title.x = element_blank(),
legend.key = element_rect(fill="white"), legend.background = element_rect(fill=NA),
legend.position="bottom",
legend.title = element_blank(),
panel.grid = element_blank(),
panel.border = element_blank()
)
p
它产生的情节如下:
我需要帮助来安排所有垂直直线对齐的文本。
谢谢
【问题讨论】:
【参考方案1】:躲避由group
完成,它会自动设置为您映射的任何因子变量,在这种情况下包括x
。覆盖默认值以解决问题:
ggplot(dia3, aes_string(x = colnames(dia3)[2], y = colnames(dia3)[1],
color = colnames(dia3)[3], group = colnames(dia3)[3]))+
geom_text(aes_string(label = colnames(dia3)[4]),
hjust = 0.5,
size = 2.5,
position = position_dodge(0.5)) +
scale_x_discrete(drop = TRUE)
【讨论】:
以上是关于ggplot2中的geom_text重叠文本和文本对齐的主要内容,如果未能解决你的问题,请参考以下文章
R语言ggplot2可视化在图像中添加竖线并在竖线的两边添加文本标签并对齐实战:添加竖线添加竖线两边的对齐文本标签(Align geom_text with geom_vline )
R语言与医学统计图形-16ggplot2几何对象之标签与文本
如何在 R 中的 ggplot2 中更改 geom_text 中的字体颜色?
R语言ggplot2可视化:ggplot2可视化使用guide_axis(check.overlap=TRUE)选项删除重叠的轴文本跳过部分中间轴标签