2010-09-29 63 views
1

我使用分机都绘制图表在浏览器中,我遇到了一个问题:ExtJS的图表问题

我想在一个图表中画出两条线,所以我用ColumnChart中,这是我的数据:

var store = new Ext.data.JsonStore({ 
    fields:['name', 'visits', 'views'], 
    data: [ 
     {name:'Jul 07', visits: 245, views: 3000000}, 
     {name:'Aug 07', visits: 240, views: 3500000}, 
     {name:'Sep 07', visits: 355, views: 4000000}, 
     {name:'Oct 07', visits: 375, views: 4200000}, 
     {name:'Nov 07', visits: 490, views: 4500000}, 
     {name:'Dec 07', visits: 495, views: 5800000}, 
     {name:'Jan 08', visits: 520, views: 6000000}, 
     {name:'Feb 08', visits: 620, views: 7500000} 
    ] 
}); 

由于访问数据比视图少得多。

因此,重新访问的行太接近x轴,有什么想法吗?

alt text


感谢您的回复,我决定让他们相同的比例。 BTW,我还有一个问题,希望你能提供一些suggesion:

alt text

回答

0

至于我可以看到有两个选项:1。 添加第二个Y轴,以不同的比例 2 。规模较大值下降

ExtJS的charts-我的知识犯规提供添加第二个轴的能力,但也有变通(见http://www.sencha.com/forum/showthread.php?72557-Ext-JS-Charts-Second-Y-Axis-Scale

因此最简单的方法是简单地划分ŧ比如说,他把价值较大的价值比如说是10,000,以便将这两个比例联系起来,然后记下它们的数量是几千。

1

要在ExtJs4中创建具有不同比例的yAxis,您可以使用左右轴。

xtype: 'chart', 
width: 400, 
height: 300, 
store: myStore, 
axes: [ 
    { 
     //title: 'Size', 
     type: 'Numeric', 
     position: 'left', 
     fields: ['sizeInBytes'], 
     minimum: 0 
    },{ /// NEW yAxis Scale /// 
     //title: 'Run Time', 
     type: 'Numeric', 
     position: 'right', 
     fields: ['runTimeMin'], 
     minimum: 0 
    },{ 
     //title: 'Date', 
     type: 'Time', 
     position: 'bottom', 
     fields: ['startTime'], 
     dateFormat: 'm/d/y h:i A' 
    } 
], 
series: [ 
    { 
     type: 'column', 
     axis: 'left', 
     xField: 'startTime', 
     yField: 'sizeInBytes' 
    },{ /// Specify the Axis and data field to use /// 
     type: 'line', 
     axis: 'right',// <---- 
     xField: 'startTime', 
     yField: 'runTimeMin' // <---- 
    } 
]