gpt4 book ai didi

r - ggplot2 - 在绘图之外进行注释

转载 作者:行者123 更新时间:2023-12-03 05:35:44 24 4
gpt4 key购买 nike

我想将样本大小值与绘图上的点相关联。我可以使用 geom_text 将数字定位在点附近,但这很困惑。将它们沿着图的外边缘排列起来会更清晰。

例如,我有:

df=data.frame(y=c("cat1","cat2","cat3"),x=c(12,10,14),n=c(5,15,20))

ggplot(df,aes(x=x,y=y,label=n))+geom_point()+geom_text(size=8,hjust=-0.5)

这会产生这个图: enter image description here

我更喜欢这样的东西: enter image description here

我知道我可以创建第二个图并使用 grid.arrange (如 this post ),但确定 textGrob 的间距与 y 轴对齐会很乏味。有没有更简单的方法来做到这一点?谢谢!

最佳答案

现在,这对于 ggplot2 3.0.0 来说很简单,因为现在可以通过在坐标函数中使用 clip = 'off' 参数来禁用绘图中的裁剪,例如 coord_cartesian(clip = ' off')coord_fixed(clip = 'off')。下面是一个示例。

    # Generate data
df <- data.frame(y=c("cat1","cat2","cat3"),
x=c(12,10,14),
n=c(5,15,20))

# Create the plot
ggplot(df,aes(x=x,y=y,label=n)) +
geom_point()+
geom_text(x = 14.25, # Set the position of the text to always be at '14.25'
hjust = 0,
size = 8) +
coord_cartesian(xlim = c(10, 14), # This focuses the x-axis on the range of interest
clip = 'off') + # This keeps the labels from disappearing
theme(plot.margin = unit(c(1,3,1,1), "lines")) # This widens the right margin

enter image description here

关于r - ggplot2 - 在绘图之外进行注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12409960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com