2013-08-06 14 views
6

Standart Highcharts araç ipucuna rCharts aracılığıyla bazı ek değerler eklemek istiyorum. Örnek Kod:rCharts değerlerini ekle hPlot araç ipucu

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") 

Bu, x ve y değerleriyle bir araç ipucu oluşturur. Ve seri adı z olarak adlandırılır. Şimdi de isim değerlerini araç ipucuna eklemek istiyorum. Ancak bunun nasıl yapıldığına dair hiçbir fikrim yok.

cevap

1

birkaç yıl sonra, bir cevabım var: Burada bir başlangıçtır ama hayal gibi çalışmıyor (Sanırım iyi bir başlangıç).

hPlot() gibi bu sarmalayıcı işlevleri, basit bir özel biçimlendirme işleviyle bile ek araç ipucu değişkenlerini desteklemiyor gibi görünüyor. Sorudan gelen veri kümesine göre aşağıdaki çalışma örneğine bakın.

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

dizideki değişkenleri adlı değildir çünkü araç ipuçları yukarıdaki örnekte çalışmaz

. Bakınız 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

dizi değişkenleri h1$series... başlayan doğrultusunda names=T kullanılarak adlandırılır çünkü bu işler

. Bakınız str(h1).

Bu tür, araç ipucu sorununu çözer, ancak adlandırılan dizilerle ilgili başka sorunlar olabilir. Örneğin, parlak uygulama ortamında işleri bozar. hPlot()'un neden adlandırılmış dizileri kullanmamasının bir nedeni olmalıdır.

3

rCharts harika bir pakettir. Ama hala iyi belgelenmiş değil (Belki bu noktayı özlüyorum). tooltip özniteliği için yeni JS işlevini yeniden tanımlamanız gerektiğini düşünüyorum. Herhangi bir JS literalinin #! ve !# .

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

Gerçekten de bu iyi bir başlangıç. Highcharts tooltip formatter belgelerini sitelerinde buldum. – jeroen81

+3

@ jeroen81 Bu, bir yerde belgeler olduğunu mu demek istiyorsun? Daha iyi sonuçlar almayı başarırsanız lütfen ona bir bağlantı ekleyebilir veya cevaplar ekleyebilir misiniz? – agstudy

+0

@agstudy: Buraya bir göz atın: http://api.highcharts.com/highcharts#plotOptions.column.tooltip – pfuhlert