gpt4 book ai didi

调整 ggplot geom_dotplot 的大小

转载 作者:行者123 更新时间:2023-12-05 05:25:01 33 4
gpt4 key购买 nike

我在使用 ggplot2 创建图形时遇到问题。我正在使用带有中心堆叠的 geom_dotplot 来显示我的数据,这些数据是 4 个类别的离散值。

出于审美原因,我想自定义点的位置,这样

  1. 沿 y 轴减少点之间的空白空间,(即点大 1 个值)
  2. 分布适合且不重叠

我已经调整了 bindotsize 以实现美学目标 1,但这需要我摆弄 ylim() 参数以确保组适合在情节中。这导致绘图的空间更大,y 轴上的数字更少。

问题:谁能解释一下调整该图空白区域大小的方法?

我的代码如下:

plot <- ggplot(figdata, aes(y=Counts, x=category, col=strain)) + 
geom_dotplot(aes(fill=strain), dotsize=1, binwidth=.7,
binaxis= "y",stackdir ="centerwhole", stackratio=.7) +
ylim(18,59)

plot + scale_color_manual(values=c("#E69F00", "#56B4E9")) +
geom_errorbar(stat="hline", yintercept="mean",
aes( ymax=..y..,ymin=..y.., group = category, width = 0.5),
color="black")

产生:

enter image description here

编辑:合并抖动将使所有数据都适合,但我不想向该数据添加噪音,而是更愿意将其显示为谨慎数据。按照下面的建议将 binwidth 和 dotsize 调整为 0.3 也适合所有数据,但是它留下了太多的空白。

enter image description here

我认为我可能必须转换我的数据,使值的步长小于 1,以便使所有内容都水平对齐,并且点大小足够大以减少空白。

最佳答案

我认为最简单的方法是使用 coord_cartesian:

plot + scale_color_manual(values=c("#E69F00", "#56B4E9")) + 
geom_errorbar(stat="hline", yintercept="mean",
aes( ymax=..y..,ymin=..y.., group = category, width = 0.5),
color="black") +
coord_cartesian(ylim=c(17,40))

这给了我这个图(假数据不像你的那样分布整齐): enter image description here

关于调整 ggplot geom_dotplot 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32832686/

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