2012-02-23 2 views
0

Я до сих пор новичок в доджо и javascript, так что это может быть тривиально.
Я создал «dojox.charting.Chart2D» -chart.
Я получаю данные из хранилища данных (ItemFileReadStore) и могу успешно отображать их в своих DataSeries. Я также могу создать свою ось x a y, но только содержать простые числа. Что мне нужно, это добавить к моим x-Axis значения текста из одного поля в моем магазине. Я обнаружил, что это можно сделать с помощью функции labelFunc: function (n) {} ", но я просто не могу заставить ее считывать данные из моего магазина.Dojo charting: Как добавить ярлыки из хранилища данных в мою ось?

Мой магазин данных выглядит следующим образом:

{ identifier: "UniqueId" , items: [ 
{"UniqueId":1, "VisitDate":"2012-02-21T00:00:00", "VisitsTotal":407, "Visits10":71, "Visits15":6}, 
{"UniqueId":2, "VisitDate":"2012-02-20T00:00:00", "VisitsTotal":508, "Visits10":80, "Visits15":10}, 
... 

Мой код выглядит так:

var store = new dojo.data.ItemFileReadStore({ url: './../Data/MyJSONData.aspx' }); 
chart1 = new dojox.charting.Chart2D("simplechart1"); 
chart1.addAxis("x", {fixUpper: "major",fixLower: "minor",title: 'Datum', 
labelFunc: function (n) { 
// HOW DO I GET THE VALUES 'VisitDate' FROM MY STORE ??? 
}}); 

chart1.addSeries('VisitsTotal', 
new dojox.charting.DataSeries(store, { query: { Visits10: "*"} }, "Visits10"), 
{ stroke: 'red', fill: 'pink' } 
); 

chart1.addSeries('Visits10', 
new dojox.charting.DataSeries(store, { query: { Visits10: "*"} }, "Visits10"), 
{ stroke: 'red', fill: 'pink' } 
); 
... 

Я уже пробовал любую комбинацию, но я действительно не хватает некоторых основы, как читать из а также как установить мои собственные текстовые значения (метки) на мою ось X.

Заранее спасибо.

ответ

1

Добавить (метки) к оси Х.

chart1.addAxis("x", { labels: [{value: 1, text: "Jan"}, {value: 2, text: "Feb"}, 
         {value: 3, text: "Mar"}, {value: 4, text: "Apr"}, 
         {value: 5, text: "May"}, {value: 6, text: "Jun"}, 
         {value: 7, text: "Jul"}] 
    }); 

Или увидеть в My jsfiddle.

Чтение данных из хранилища

store.fetch({ query: {}, 
       onItem: function(item) { 
        console.log(store.getValue(item, 'VisitDate')); 
       } 
}); 

больше на Dojo Livedoc или stackoverflow