gpt4 book ai didi

r - 控制 ggplot2 图中点的相对大小

转载 作者:行者123 更新时间:2023-12-04 12:35:34 26 4
gpt4 key购买 nike

我需要绘制许多不同的图块图,根据图块的顶部有正方形和点
数据。不幸的是,我不能包括说明图片,但基本上该情节由瓷砖组成,这些瓷砖上要么有正方形和圆点,要么没有。

这些图形中的每一个在 x 方向和 y 方向上都有不同数量的图块。因此,我无法使用绝对单位 (mm) 来缩放点大小和框大小。有什么方法可以相对地指定点的大小。例如,像 geom_point(aes(x=x, y=y), size = 0.5 * tile_size()) .

以下 buggy 代码片段

df <- data.frame(x=factor(c(1:4), labels=c("a", "b", "c", "d")), y=factor(c(1:4), labels=c("f", "g", "h", "j")))
p <- ggplot(data = df) + geom_tile(aes(x=x, y=y), fill="green", color="black")
p <- p + opts(aspect.ratio=2)
p <- p + geom_point(aes(x=x, y=y), color="red", size = 4, shape=15, color="red")
p <- p + geom_point(aes(x=x, y=y), color="blue", size = 2)
p <- p + scale_x_discrete("Variables") + scale_y_discrete("Time")
show(p)



几乎实现了所需的功能,除非我调整图形窗口或 pdf 尺寸,点和框相对于平铺尺寸的相对大小会发生变化。特别是,点和框可能比绘制它们的图块大,这是绝对不允许的。

如果点大小的相对缩放是不可能的,那么我想知道是否可以使用 ggsave() 指定绘图区域的尺寸(没有轴标签、刻度等的绘图)。或 pdf() .然后我可以自己做相对缩放。

最佳答案

我认为您想以数据单位而不是物理单位指定大小。这对于圆形和正方形来说有点棘手,因为它们实际上可能是数据空间中的椭圆形和矩形(除非您使用 coord_equal )。但是如果你想这样做,你可以自己生成字形并使用 geom_polygon画他们。

关于r - 控制 ggplot2 图中点的相对大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3870303/

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