2016-11-04 1 views
0

R로 점을 찍어 사각형을 사용하여 대화 형 플롯을 작성하려고합니다.geom_rect 반투명 영역을 유지하면서 색상이 윤곽선을 유지하십시오.

기본 아이디어가 있습니다. 그러나, 내가 갇혀있는 각 직사각형 (데이터의 "채우기"열에서 윤곽이 지정됨) 색이있는 개요 있지만 완전히 투명 영역을 가질 수 있습니다.

library(ggplot2) 
library(dplyr) 
library(plotly) 
set.seed(1) 
data <- data.frame(Name = paste0("Name",seq(1:10)), xmin = runif(10, 0, 1), xmax = runif(10, 1, 2), ymin = runif(10, 0, 1), ymax = runif(10, 1, 2), fill = sample(c("black","purple"),10, replace=TRUE)) 

p <- ggplot(data, aes(xmin = xmin, xmax = xmax, ymin = ymin, ymax = ymax, fill = NULL, colour = fill, text = Name)) + geom_rect(size = 0.3, alpha = 0.5) + scale_colour_identity() + theme_bw() 
ggplotly(p, tooltip = "text") %>% layout(dragmode = "select") 

내가 각각의 사각형 위에 마우스를 올려 나에게 표시된 데이터의 이름 변수를 가질 수 아래

가 작동하고 무엇을 MWE입니다. 또한 데이터의 채우기 변수는 직사각형의 색상을 결정합니다. 그러나 사각형을 투명하게 만들 수는 없습니다.

는 I 시도 :

1) 변경 기입 = NULL = NA를 작성하지만,이 오류의 결과 :

Error in seq.default(h[1], h[2], length.out = n) : 
    'to' cannot be NA, NaN or infinite 

2) 변경 알파 = 알파 = 0.01~0.5, 그러나 이것은 만든다 각 사각형의 외곽선 또한 다소 투명합니다.

이 유형의 그림은 사각형 영역을 완전히 투명하게 만 만들 수 있습니까? 사각형의 윤곽선을 채색하고 다른 알파 값에 응답 할 수 있기를 정말로 바라고 있습니다.

나를위한 조언이 있으시면 언제든지 들어 볼 수 있습니다.

+1

어쩌면'geom_rect 같은 출력이 보이는 (... 채우기 = NA) 다음과 같이 코드를 수정하여이를 수행 할 수 있습니다' – cuttlefish44

+1

당신이 짓을했는지 확인 @ cuttlefish44 주석에 표시된대로 'geom_rect'의'aes'의'fill = NA' * outside *. – aosmith

답변

0

사실 간단합니다. geom_rect 함수에 fill=alpha("grey",0)을 사용하여 채우기 매개 변수에 투명한 색을 사용하면 원하는 결과를 얻을 수 있습니다.

당신은

p <- ggplot(data, aes(xmin = xmin, xmax = xmax, ymin = ymin, ymax = ymax, colour = "purple", text = Name)) + geom_rect(size = 0.3, alpha = 0.5,fill=alpha("grey",0)) + scale_colour_identity() + theme_bw() 
ggplotly(p, tooltip = "text") %>% layout(dragmode = "select") 

Output Image

관련 문제