我想创造一个干净版本的文字标签的GGPLOT2散点图的。 我们的目标是在视觉上代表了约25个项目相关的增加值。 我已经使用“position_jitter,”但我不知道如果我可以做的更好。
下面是一些模拟数据:
title <- rep("A Really Rather Long Text Label", 25)
value <- runif(25, 1,10)
spacing <- seq(1:25)
df <- data.frame(title, value, spacing, stringsAsFactors = FALSE)
这里是生成图表的代码:
library(ggplot2)
myplot <- ggplot(data=df, aes(x=spacing, y=value, label = title)) +
geom_text(aes(colour = value),
size = 2.5, fontface = "bold",
vjust = 0,
position = position_jitter(width=5, height=0)) +
theme_bw() +
scale_x_continuous(limits = c(-5, 30))+
scale_colour_gradient(low = "#6BAED6", high = "#08306B") +
theme(axis.title.x = element_blank(),
axis.ticks = element_blank(),
axis.text.x = element_blank(),
legend.position = "none")
myplot
有足够的空间,这一切文本的合理大小的图形 - 只要文本是免费的,因为它需要水平,以尽量转移! 我不想上下抖动,因为是为了显示与每个文本标签相关的y值。
该图出来略有不同每次运行ggplot命令时间 - 有时抖动结果比其他倍。 但我还没有找到一种方法来系统地防止标签重叠。
我是如何收拾文本的水平定位的任何建议感激,而无需手动移动单个项目。 我也很乐意听到关于如何提高这种类型的可视化表示的其他提示。