簡體   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