具有多个轴的道场图表

时间:2013-07-29 11:00:15

标签: dojo dojox.charting

我正在尝试创建一个折线图,其中一些系列显示在LHS轴(“y”)上,一些系列显示在RHS轴上(“其他y”):

//Init chart and set theme
var myChart = new Chart("graphDiv")
myChart.setTheme(theme)

//Add plot for LHS axis
myChart.addPlot("default", {
    type: Lines,
    markers: true,
    hAxis: "x",
    vAxis: "y"
})

//Add additional plot for RHS axis
myChart.addPlot("other", {
    type: Lines,
    markers: true,
    hAxis: "x",
    vAxis: "other y"
})

//Add axis
myChart.addAxis("x", {
    fixUpper: "major",
    fixLower:"minor"
})
myChart.addAxis("y", {
    title: "Y Axis Left",
    vertical: true,
    fixUpper: "major",
    fixLower:"minor"
})
myChart.addAxis("other y", {
    title: "Y Axis Right",
    vertical: true,
    leftBottom: false,
    fixUpper: "major",
    fixLower:"minor",
})

//Add the data
myChart.addSeries('test1',[{x:1,y:2},{x:2,y:2},{x:3,y:2},{x:4,y:2}],{plot:'default'})
myChart.addSeries('test2',[{x:1,y:3},{x:2,y:3},{x:3,y:3},{x:4,y:3}],{plot:'default'})
myChart.addSeries('test3',[{x:1,'other y':5},{x:2,'other y':5},{x:3,'other y':5}, x:4,'other y':5}],{plot:'other'})
myChart.render()

不渲染第二个轴,并且不渲染第二个绘图(“其他”)的数据。但是,如果我console.log(myChart)我可以在myChart.series中看到所有数据都在那里!控制台窗口中没有错误,我正在使用Dojo 1.9和chrome。

ahhh!

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:2)

将数据字段“other y”设置为“y”,如另一个图中所示。该属性对应于轴为x或y,而不是轴名称。即你的第三个系列应该是:

myChart.addSeries('test3',[{x:1,y:5},{x:2,y:5},{x:3,y:5}, {x:4,y:5}],{plot:'other'})

我在这个例子中为该系列制作了动画,因此它很突出:http://jsfiddle.net/psoares/nYtAg/