2015-04-15 56 views
1

我想繪製兩個數據集(統計數據和統計數據2)。Kendo-UI中的多個系列

我可以能夠得出一個系列(統計),

dataSource: { data: stats}, 

http://jsfiddle.net/1sgt4810

,但是當我添加第二個,它不會畫。

dataSource: { data: stats, stats2 }, 

http://jsfiddle.net/1sgt4810/2/

我知道有如下這樣做的一個選項

     series: [{ 
          type: "line", 
          field: "y", 
          categoryField: "x", 
          name: "Path1", 
          style: "smooth", 
          data: stats, 
          markers: { 
          visible: false 
          } 
         }, { 
          type: "line", 
          field: "y", 
          categoryField: "x", 
          name: "Path2", 
          style: "smooth", 
          data: stats2, 
          markers: { 
          visible: false 
          } 
         }], 

因爲在未來,我將有很多的線,我需要知道如何處理以模塊化方式提供多條線路。

+0

'{data:stats,stats2},';這不是有效的json。 – Daedalus

+0

我的觀點是,它是無效的;這就是爲什麼它不起作用。你可能會得到一個解析錯誤。 – Daedalus

回答

2

選項1

而不是使用dataSource,則可以提供數倍series,並給他們每人一個data屬性。你可以在Kendo UI's site的例子中看到這個。

series: [{ 
    name: "Path1", 
    //other properties 
    data: stats 
}, { 
    name: "Path2", 
    //other properties 
    data: stats2 
}], 

這裏的an updated fiddle顯示兩條線。我不相信沒有多個系列就有辦法做到這一點。

選項2

如果你想行合併爲一個,你可以串連陣列,像這樣:

dataSource: [].concat(stats, stats2) 

這裏a fiddle了點。

選項3

另一種可能是基於你有多少陣列有可能產生的系列。例如:

series: [ stats, stats2 ].map(function (data, idx) { 
    return { 
     type: "line", 
     field: "y", 
     categoryField: "x", 
     name: "Path" + (idx + 1), 
     style: "smooth", 
     data: data, 
     markers: { 
      visible: false 
     } 
    }; 
}) 

你可以看到那個here

+0

感謝您的努力,但我不想連接它們或使用單獨的數據源,因爲我需要處理多個線源。除此之外,這些數據源屬性完全相同。 – casillas

+0

我已經爲你的努力投了贊成票。 – casillas

+0

@ilyasUyanik,我想我不確定你在做什麼。你需要'stats'和'stats2'的數據,但你不想讓它們在同一條線上,也不要兩條線有兩條線。你想讓它看起來像什麼? – redbmk

1

看你jfiddle你的問題是,你想傳遞兩個統計數據陣列中的數據源,並希望它爲你而不是你需要modife您exitent統計

{ x: 1227.35612555829, y: 6016.67309037634, z: 6013.67309037634}, 

看看畫一條線at http://jsfiddle.net/1sgt4810/19/

+0

能否詳細說明一下。你爲什麼添加z屬性?你需要看看下面的小提琴:http://jsfiddle.net/1sgt4810/2/ – casillas

+0

我知道如何通過添加問題中提到的另一個系列手動添加兩行。但是,我想避免手動工作。如果我將有50系列的產品呢?我需要找到一種方法來實現模塊化。 – casillas

+0

檢查http://jsfiddle.net/3yhbyy2g/1/以下。可以使用scatterLine完成。 – casillas