2016-08-01 3 views
1

두 개의 채워진 밴드를 한 줄에 그려야했지만 plotly은 오른쪽 쌍 사이에 채워지지 않았습니다. 이 작업을 수행하는 올바른 방법은 무엇입니까?R 음모를 사용하여 하나의 그림에 여러 개의 채워진 신뢰 밴드를 그리는 방법

두 밴드의 오버랩을 처리하는 데 이상적인 투명도를 지정하는 방법에 대해서도 알고 있습니다.

require(plotly) 
x <- c(1, 2, 1, 2) 
g <- c('a','a','b','b') 
y <- c(1, 2, 3, 4) 
lo <- y - .1 
hi <- y + .1 

a <- plot_ly(x=x, y=y, group=g) 
a <- add_trace(a, x=x, y=lo, group=g, fill='tonexty') 
a <- add_trace(a, x=x, y=hi, group=g) 
a 

답변

1

난 당신이 어떻게 당신의 음모를 원하는 것을 완전히 확실하지 않다 그러나 당신은 geom_ribbon 기능을 사용 ggplot2에서 플롯을 만드는 시도 할 수 있습니다. 그런 다음 plotly 그래프에 플롯을 변환 ggplotly를 사용

df <- data.frame(
    x, g, y, lo, hi 
) 

plot <- ggplot(data=df, aes(x=x, y=y, colour=g)) + geom_line(aes(x=x)) + 
    geom_ribbon(aes(ymin=lo,ymax=hi), alpha=0.25) 

ggplotly(plot) 

enter image description here

+0

을 사용하고 투명도를 지정하는

a <- plot_ly(x=x, y=y, group=g) a <- add_trace(a, x = x[g=="a"], y = lo[g=="a"], group = g[g=="a"]) a <- add_trace(a, x = x[g=="a"], y = hi[g=="a"], group = g[g=="a"], fill = 'tonexty') a <- add_trace(a, x = x[g=="b"], y = lo[g=="b"], group = g[g=="b"]) a <- add_trace(a, x = x[g=="b"], y = hi[g=="b"], group = g[g=="b"], fill = 'tonexty') 

한 가지 방법을 : 그래서, 각 그룹에 대한 LO에 하이 칠 수 있도록하는 한 가지 방법은 명시 적으로 호출 주문하는 것입니다 사용 해왔다. 나는 단지 내 R 패키지 중 하나를 여러 개의 '음모'플롯을 함께 사용하면 이미지가 손실되는 결과를 낳고 '음모'를 직접 사용하여 출력을보다 잘 제어하려고합니다. –

0

fill = "tonexty"는 전에 온 것을 추적에 따라 채 웁니다. 접근 I는 toRGB

a <- plot_ly(x=x, y=y, group=g) 
a <- add_trace(a, x = x[g=="a"], y = lo[g=="a"], group = g[g=="a"]) 
a <- add_trace(a, x = x[g=="a"], y = hi[g=="a"], group = g[g=="a"], fill = 'tonexty', 
     fillcolor = toRGB("red", 0.1)) 
a <- add_trace(a, x = x[g=="b"], y = lo[g=="b"], group = g[g=="b"]) 
a <- add_trace(a, x = x[g=="b"], y = hi[g=="b"], group = g[g=="b"], fill = 'tonexty', 
     fillcolor = toRGB("blue", 0.7)) 
a 
+0

음색 오해를 찾아 주셔서 감사합니다. group = 또는 color = 두 그룹으로 자동 분리하는 작업을 할 수있는 방법이 있습니까? –

+0

@FrankHarrell 흠, 거기 있는지 모르겠습니다. 어쩌면'lapply'를 사용하는 방법이 있을지 모르지만, 그것에 대해 생각해야 할 것입니다. – Jota

+0

새로운 다각형을 시작할 때'add_trace'가 "그룹 인식"이 아니라는 의미입니다. 맞습니까? –