我尝试制作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
在图例中显示。
答案 0 :(得分:0)
也许你将不同的坐标传递给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)
刚刚更改了一些值并且: