곡선 아래 영역 ggplotly R이 예상대로 렌더링되지 않음
다음 데이터 세트와 ggplot2로 플롯을 만들었습니다.
아래 링크에서 CSV로 데이터 세트를 다운로드했습니다.
https://www.kaggle.com/dataset/e392d3cfbb5749653d5c82f4bec1daa03628fb06d374fad84eac319f1b3f982422
내가 사용한 코드는 다음과 같습니다.
library(readr)
library(ggplot2)
library(plotly)
다음으로 CSV 파일에서 데이터 프레임을 만듭니다.
DF <- read_csv("C:/Users/mysystem/Desktop/Random3.csv")####Please set your working directory here
이제 ggplot을 사용하여 플롯을 만듭니다.
p2<-ggplot(DF, aes(x=Col1, y=Col2, group=ID)) +
geom_line(size=.5) + geom_ribbon(data=subset(DF, Col1>1 ),aes(x=Col1,ymax=Col2,
fill=ID),ymin=0,alpha=0.3 ) +
scale_fill_manual(name='Legend', values=c("green4", "red"), labels=c("A", "B" ))+labs(x="Col1",
y="Col2")+ xlim(0, 10000)+ theme_bw()# +theme(legend.position='none')
위의 그림은 곡선 아래 영역을 적절하게 보여줍니다. 그러나 ggplotly를 실행하면 곡선 아래 영역이 반전됩니다.
ggplotly(p2)
이것을 피할 수있는 방법이 있습니까? 음영 처리 된 영역은 경우에 따라 곡선 아래 영역을 넘어 이동하는 것처럼 보이며이 경우 곡선의 역으로 이동하는 것처럼 보입니다. 나는 누군가에게 봐달라고 요청한다.
답변
1 AllanCameron
나는 당신이 geom_area
대신 원하는 것을 생각합니다 geom_ribbon
. 첫 번째 값을 건너 뛰는 대신 0으로 설정하여 결과 다각형이 가진 역 채우기를 방지 할 수도 있습니다.
library(ggplot2)
library(plotly)
DF <- read.csv("Random3.csv")
DF$Col2[DF$Col1 == 0] <- 0
p2 <- ggplot(DF, aes(x = Col1, y = Col2, group = ID)) +
geom_line(size = 0.5) +
geom_area(aes(x = Col1, fill = ID), alpha = 0.3,
position = "identity") +
scale_fill_manual(name = 'Legend',
values = c("green4", "red"),
labels = c("A", "B")) +
labs(x = "Col1", y = "Col2") +
xlim(0, 10000) +
theme_bw()
p2
ggplotly(p2)