r हाईचर्टर आर में कई श्रृंखलाएं बार्कर्ट खड़ी हुई हैं



highcharts (1)

मेरी राय में गुणक श्रृंखला जोड़ने के लिए एक अच्छा तरीका है hc_add_series_list (ओसी आप लूप के लिए उपयोग कर सकते हैं) का उपयोग करें, जिसके लिए श्रृंखला की एक सूची की आवश्यकता है (एक श्रृंखला उदाहरण list(name="A",data=mydata$A) के लिए है

जैसा कि आपने कहा था, आपको डेटा को पिघला / इकट्ठा करने की आवश्यकता है, आप tidyr पैकेज का उपयोग कर सकते हैं:

mynewdata <- gather(mydata)

तो आपको प्रत्येक key / श्रृंखला के लिए डेटा बनाने के लिए key तर्क के आधार पर डेटा समूह बनाना होगा। यहां आप dplyr पैकेज का उपयोग कर सकते हैं:

mynewdata2 <- mynewdata %>%
  # we change the key to name to have the label in the legend
  group_by(name = key) %>%  
  # the data in this case is simple, is just .$value column
  do(data = .$value) 

इस डेटा फ़्रेम में दो कॉलम होंगे और दूसरे कॉलम में प्रत्येक पंक्ति के लिए दस मान होंगे।

अब आपको एक सूची में इस जानकारी की आवश्यकता है। तो हमें list.parse3 list.parse2 के नाम का उपयोग करने के लिए पार्स करने की जरूरत है।

series <- list.parse3(mynewdata2)

तो अंत में परिवर्तन:

hc_series(list(name="A",data=mydata$A),
    list(name="B",data=mydata$B),
    list(name="C",data=mydata$C))

द्वारा:

hc_add_series_list(series)

आशा है कि यह स्पष्ट है।

हाईचर्चर पैकेज के दस्तावेजों के माध्यम से जाने के बाद, जेबीकून ने अपनी वेबसाइट पर जाकर, सूची में देखें.परसे 2 (), मैं अभी भी समस्या को हल नहीं कर सकता। समस्या निम्नानुसार है: एक डेटा.फ्रेम से कई श्रृंखला को एक स्टैक्ड बार्चर्ट में चार्ट करने के लिए, श्रृंखला 10 -30 श्रृंखला से कहीं भी हो सकती है। अब के लिए श्रृंखला को नीचे परिभाषित किया गया है, लेकिन स्पष्ट रूप से एक आसान तरीका हो सकता है, उदाहरण के लिए एक सूची या पिघला हुआ डेटा.फ्रेम फ़ंक्शन hc_series के समान जो कि ggplot2 के साथ किया जा सकता है।

डमी डेटा के साथ कोड के नीचे

mydata <- data.frame(A=runif(1:10),
               B=runif(1:10),
               C=runif(1:10))

highchart() %>% 
hc_chart(type = "column") %>% 
hc_title(text = "MyGraph") %>% 
hc_yAxis(title = list(text = "Weights")) %>% 
hc_plotOptions(column = list(
   dataLabels = list(enabled = FALSE),
   stacking = "normal",
   enableMouseTracking = FALSE)
   ) %>% 
hc_series(list(name="A",data=mydata$A),
        list(name="B",data=mydata$B),
        list(name="C",data=mydata$C))

जो इस चार्ट का उत्पादन करता है: