2014-09-21 51 views
0

我已經設置了一個dimplejs.org折線圖。我應該能夠將點擊從藍色變爲紅色(點擊次數減少,線條變藍,點擊次數增多,線條使用從藍色到紅色的漸變)。Dimplejs Bug。當系列不爲空時線不顯示

如果我設置如下的系列它工作正常;然而,工具提示僅包含x和y點(周和點擊)。我需要工具提示來包括本月。

var mySeries = myChart.addSeries(null, dimple.plot.line); 

如果我修改系列(按照上dimplejs.org其他示例和如下所示),以包括該陣列中的所有字段,行消失,我在控制檯得到的梯度誤差。

var mySeries = myChart.addSeries(["Month","Week","Clicks"],dimple.plot.line); 

我試過這個工具提示;但它沒有幫助:

mySeries.getTooltipText = function (e) { 
       return [ 
        "Month: " + e.aggField[0], 
        "Week in the year: " + e.aggField[1], 
        "Clicks in the week: " + e.aggField[2] 
       ]; 
      }; 

我已經創建了這個bug /問題的小提琴。有人能告訴我如何讓colourized線出現,並沒有控制檯錯誤。希望你能幫助。

這裏是我的小提琴:

http://jsfiddle.net/eformx/beL2bwa3/

回答

1

有這樣做似乎有些問題與漸變線,它只能在簡單的情況。我不認爲現實中可以跨越不同的軸類型進行工作,所以我可能會從未來版本中刪除該功能。邏輯取決於類別與度量軸。如果這可以適合你的情況,那麼你可以達到你想要的。

您鏈接到的小提琴中的數據似乎並不完全符合您的問題,但您可以實現類似於以下描述的內容。由於漸變線的限制,你需要使用一個測量軸和類別軸然後把數據在使用自定義提示方法:

var svg = dimple.newSvg("body", 800, 600); 

var data = [ 
    { "Month" : "Jan", "Week" : "2014-01-20", "Clicks" : "10"}, 
    { "Month" : "Jan", "Week" : "2014-01-27", "Clicks" : "4"}, 
    { "Month" : "Feb", "Week" : "2014-02-03", "Clicks" : "35"}, 
    { "Month" : "Feb", "Week" : "2014-02-10", "Clicks" : "46"}, 
    { "Month" : "Feb", "Week" : "2014-02-17", "Clicks" : "34"}, 
    { "Month" : "Feb", "Week" : "2014-02-24", "Clicks" : "26"}, 
    { "Month" : "Mar", "Week" : "2014-03-03", "Clicks" : "12"} 
]; 

var chart = new dimple.chart(svg, data); 

chart.addCategoryAxis("x", "Week"); 
chart.addMeasureAxis("y", "Clicks"); 
chart.addColorAxis("Clicks", ["blue", "red"]); 
var s = chart.addSeries(null, dimple.plot.line); 

s.getTooltipText = function(e) { 
    var i, 
     row; 
    for (i = 0; i < data.length; i += 1) { 
     row = data[i]; 
     if (row.Week === e.xField[0]) { 
      return [ 
       "Month: " + row.Month, 
       "Week in the year: " + row.Week, 
       "Clicks in the week: " + e.yValue 
      ]; 
     } 
    } 
}; 

s.lineWeight = 5; 
s.lineMarkers = true; 

chart.draw(); 

http://jsfiddle.net/beL2bwa3/3/

+0

謝謝John!很棒!愛圖表庫! – Rob 2014-09-23 03:15:22

0

我發現了一個簡單的解決方法,你可以調用addseries()兩次,一次使用包括工具提示字段和實際字段的字段數組,第二次使用真實類別字段。撥打電話的順序對於獲取線路和額外的工具提示非常重要:

myChart.addSeries("Sex", dimple.plot.line); 

myChart.addSeries(["Count Survived","Group Count","Sex"], dimple.plot.line)