2013-08-06 10 views
6

पर मान जोड़ें मैं मानक हार्टर्स टूलटिप में आरएचएचटीएस के माध्यम से कुछ अतिरिक्त मान जोड़ना चाहता हूं। उदाहरण कोड:rCharts hplot टूलटिप

require(rCharts) 
df <- data.frame(x = c(1:5), y = c(5:1), 
      z = c("A", "B", "C", "D", "E"), 
      name = c("K", "L", "M", "N", "O")) 
h1 <- hPlot(x = "x", y = "y", data = df, type = "scatter", group = "z") 

यह एक्स और वाई मानों के साथ टूलटिप उत्पन्न करता है। और शीर्षक के रूप में श्रृंखला नाम जेड। अब मैं टूलटिप में नाम मान जोड़ना चाहता हूं। हालांकि मुझे नहीं पता कि यह कैसे किया जाता है।

उत्तर

1

कई वर्षों के बाद, मैं एक जवाब है: यह एक शुरुआत के रूप में लेकिन मुझे लगता है यह काम नहीं करता (मुझे लगता है कि एक अच्छी शुरुआत है)।

ऐसा लगता है कि hPlot() जैसे इन रैपर फ़ंक्शंस को एक साधारण कस्टम फ़ॉर्मेटर फ़ंक्शन के साथ अतिरिक्त टूलटिप चर का समर्थन नहीं करता है। प्रश्न से डेटासेट के आधार पर नीचे काम कर रहे उदाहरण देखें।

require(rCharts) 
# create data frame 
df <- data.frame(x = c(1:5), y = c(5:1), 
       z = c("A", "B", "C", "D", "E"), 
       name = c("K", "L", "M", "N", "O")) 

# Plot using hPlot() approach 
h1 <- hPlot(x = "x", y = "y", data = df, type = "scatter", group = "z") 
h1$tooltip(borderWidth=0, followPointer=TRUE, followTouchMove=TRUE, shared = FALSE, 
      formatter = "#! function(){return 'X: ' + this.point.x + '<br>Y: ' + this.point.y + '<br>Z: ' + this.point.z + '<br>Name: ' + this.point.name;} !#") 
h1 

hplot-rcharts

टूल टिप्स ऊपर के उदाहरण में काम नहीं करते क्योंकि सरणी में चर नाम नहीं कर रहे हैं। str(h1) देखें।

# Plot using manual build 
h1 <- rCharts:::Highcharts$new() 
dlev <- levels(factor(as.character(df$z))) 
for(i in 1:length(dlev)) 
{ 
    h1$series(data = toJSONArray2(df[df$z==dlev[i],,drop=F], json = F,names=T), name = dlev[i],type = c("scatter"), marker = list(radius = 3)) 
} 
h1$tooltip(borderWidth=0, followPointer=TRUE, followTouchMove=TRUE, shared = FALSE, 
      formatter = "#! function(){return 'X: ' + this.point.x + '<br>Y: ' + this.point.y + '<br>Z: ' + this.point.z + '<br>Name: ' + this.point.name;} !#") 
h1 

manual-build-rcharts

यह काम करता है क्योंकि सरणी चर लाइन h1$series... शुरू करने में names=T का उपयोग कर नाम हैं। str(h1) देखें।

इस तरह के टूलटिप मुद्दे हल करता है, लेकिन नामित सरणी के साथ अन्य समस्याएं हो सकती हैं। उदाहरण के लिए, यह चीजें चमकदार ऐप वातावरण में टूट जाती है। एक कारण होना चाहिए कि hPlot() नामित सरणी का उपयोग नहीं करता है।

3

rCharts एक शानदार पैकेज है। लेकिन यह अभी भी अच्छी तरह से प्रलेखित नहीं है (शायद मुझे इस बिंदु को याद आती है)। मुझे लगता है कि आपको tooltip विशेषता के लिए नए जेएस फ़ंक्शन को फिर से परिभाषित करने की आवश्यकता है। किसी भी जेएस अक्षर को # के बीच लपेटने की जरूरत है! तथा !# ।

h1$tooltip(formatter = "#! function() { return 'x: '  + this.point.x + 
               'y: ' + this.point.y + 
               'name: ' + this.point.group; } !#") 
+0

वास्तव में यह एक अच्छी शुरुआत है। मैंने अभी उच्च साइट्स टूलटिप फॉर्मेटर दस्तावेज को अपनी साइट पर पाया है। – jeroen81

+3

@ jeroen81 क्या आपका मतलब है कि वहां कहीं दस्तावेज हैं? यदि आप बेहतर परिणाम प्राप्त करने में सफल होते हैं तो क्या आप इसे एक लिंक जोड़ सकते हैं या आपको जवाब जोड़ सकते हैं? – agstudy

+0

@agstudy: यहां एक नज़र डालें: http://api.highcharts.com/highcharts#plotOptions.column.tooltip – pfuhlert

संबंधित मुद्दे