繁体   English   中英

ggplot2 geom_rect图小麻烦

[英]ggplot2 geom_rect graph small trouble

我正在尝试创建geom_rect图,但是遇到了一些问题。 这是我的代码:

my_dat <- data.frame(xmin = c(0, 2, 0.1, 0, 0.1, 5, 2, 0.1, 0, 0 ), 
                     xmax = c(0, 10, 1, 0, 5, 10, 10, 2, 0, 0), 
                     ymin=c(10, 10, 10, 5, 0, 0, 0, 0, 0, 0), 
                     ymax = c(20,20, 20, 15, 20, 0, 0, 0, 0, 0), 
                     fill = c("A", "B", "C", "D", "E", "F", "G", "H", "H", "I"))

library(ggplot2)

g <- ggplot(my_dat,(aes(alpha=1/3))) + 
      geom_rect(aes(xmin = xmin -1 , xmax = xmax, 
                                    ymin = ymin -1, ymax = ymax, fill = fill))
g

这就是我的最终目的。

在此处输入图片说明

问题是我无法固定值,因为找不到方法来重新定位正方形,因为除了使用"ymin -1""xmin -1" ,而且位置混乱。

另外,我在两个轴上的标签都遇到了麻烦,并且图例中显示的alpha=1/3

也许您给ggplot传递的坐标与您认为的不同?

这是您想要的吗?

d <- data.frame(xmin = c( 0,  2, 0.1,  0, 0.1,  5,  2, 0.1, 0, 0),
                ymin = c( 0, 10,   1,  0,   5, 10, 10,   2, 0, 0), 
                xmax = c(10, 10,  10,  5,   0,  0,  0,   0, 0, 0),
                ymax = c(20, 20,  20, 15,  20,  0,  0,   0, 0, 0),
                fill = c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J"))

ggplot(d) + geom_rect(aes(xmin = xmin, xmax = xmax, ymin = ymin, ymax = ymax, fill = fill))  

它给出的矩形很好地停留在(0,0)-(10,20)区域内。

在此处输入图片说明

至于alpha值,也许这样可以帮助:

ggplot(d) + geom_rect(aes(xmin = xmin, xmax = xmax, ymin = ymin, ymax = ymax, fill = fill),
                      alpha = 1/3)

结果是

在此处输入图片说明


好的,作为基础,我设法绘制了所需的数据:

d <- data.frame(xmin = c( -0.1,  2, 0.1,  -0.2, 0.1,  5,  2, 0.1, -0.3, -0.4),
                ymin = c( 10,  10,   10,  5,   -0.1, -0.2, -0.3,  -0.4, -0.5, -0.6), 
                xmax = c(0, 10,  1,  0,   5,  10,  10,   2, 0, 0),
                ymax = c(20, 20,  20, 15,  20,  0,  0,   0, 0, 0),
                fill = c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J"))

ggplot(d) + geom_rect(aes(xmin = xmin, xmax = xmax, ymin = ymin, ymax = ymax, fill = fill), alpha=1/3)

刚刚更改了一些值并:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM