वक्र ggplotly आर के तहत क्षेत्र उम्मीद के अनुसार प्रतिपादन नहीं
मैंने निम्नलिखित डेटासेट और 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)
क्या कोई रास्ता है जिससे इसे टाला जा सकता है। छायांकित क्षेत्र कुछ मामलों में घटता के नीचे के क्षेत्र से आगे बढ़ता प्रतीत होता है और इस मामले में वक्र के व्युत्क्रम में जाना प्रतीत होता है। मैं किसी से निवेदन करता हूं कि आप एक बार देख लें।
जवाब
मुझे लगता है कि आप 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)