【发布时间】:2010-10-06 07:35:14
【问题描述】:
我需要绘制许多不同的瓷砖图,根据 数据。不幸的是,我不能包括说明图片,但基本上情节由瓷砖组成,这些瓷砖上要么有正方形和点,要么没有。
这些数字中的每一个在 x 方向和 y 方向上都有不同数量的图块。因此,我不能使用绝对单位 (mm) 来缩放点大小和框大小。有没有办法以相对方式指定点的大小。比如geom_point(aes(x=x, y=y), size = 0.5 * tile_size())。
以下buggy代码sn-p
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() 指定绘图区域的尺寸(没有轴标签、刻度等的绘图)。然后我可以自己做相对缩放。
【问题讨论】:
-
'Sven:
geom_point代码应该可以工作。有什么问题? -
如果它不工作,给我们一些玩具代码来玩,并说明你得到什么和你想得到什么。