Dojo图表:如何将数据存储区中的标签添加到我的Axis?

时间:2012-02-23 21:55:10

标签: dojox.charting dojo

我仍然是道场和javascript的新手,所以这可能是微不足道的 我创建了一个“dojox.charting.Chart2D” - 图 我从数据存储区(ItemFileReadStore)获取数据,并可以在我的DataSeries中成功显示它们。 我也可以创建我的x轴和轴,但只包含简单的数字。 我需要的是从我的商店中的一个字段添加到我的x轴的文本值。 我发现这可以用“labelFunc:function(n){}”完成,但我根本无法从我的商店读取数据。

我的商店数据如下所示:

{ 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 个答案:

答案 0 :(得分:1)

将(标签)添加到X轴。

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 Livedocstackoverflow

了解详情