Sencha Touch Charts无法渲染

时间:2011-11-29 12:42:21

标签: sencha-touch extjs sencha-charts

我对sencha touch和sencha触摸图表都很陌生,而且在我的一个观点中,我有点麻烦地整合图表。我可能错过了一些明显的东西。以下是我设置chart变量的方法。

var chart2 = new Ext.chart.Chart({
    width: 500,
    height: 300,
    animate: true,
    store: testStore,
    theme: 'Base:gradients',
    series: [{
        type: 'pie',
        angleField: 'data1',
        label: {
            field: 'name',
            display: 'rotate',
            contrast: true,
            font: '18px Arial'
        }
    }]
});

加载数据存储的简单饼图
var testStore = new Ext.data.JsonStore({
fields: ['name', 'data1', 'data2', 'data3', 'data4', 'data5'],
data: [
    {'name':'metric one', 'data1':10, 'data2':12, 'data3':14, 'data4':8, 'data5':13},
    {'name':'metric two', 'data1':7, 'data2':8, 'data3':16, 'data4':10, 'data5':3},
    {'name':'metric three', 'data1':5, 'data2':2, 'data3':14, 'data4':12, 'data5':7},
    {'name':'metric four', 'data1':2, 'data2':14, 'data3':6, 'data4':1, 'data5':23},
    {'name':'metric five', 'data1':27, 'data2':38, 'data3':36, 'data4':13, 'data5':33}
]
});

这是我的ChartViewPanel

SS.views.chartView = Ext.extend(Ext.Panel, {

fullscreen: true,
initComponent: function() {

    console.log("Initializing Chart View");

    this.refreshButton = new Ext.Button({
        text: 'Refresh',
        ui: 'action',
        handler: function() {
            console.log("Refresh button is clicked");
        },
        scope: this
    });

    this.topToolbar = new Ext.Toolbar({
        title: 'Chart View',
        items: [
            { xtype: 'spacer'},
            this.refreshButton
        ]
    });

    this.dockedItems = [this.topToolbar];

    this.items = [chart2];

    console.log(chart);

    SS.views.chartView.superclass.initComponent.call(this);
}
});

正在渲染顶部栏,但不是图表。 javascript控制台也没有显示任何错误。那时我出错了?非常感谢

3 个答案:

答案 0 :(得分:0)

您需要在chart2中添加“renderTo”。 见http://docs.sencha.com/touch-charts/1-0/#!/api/Ext.chart.Chart

答案 1 :(得分:0)

问题出在您的CSS规则中,请检查您的风格

答案 2 :(得分:0)

使用renderTo:Ext.getBody()并添加高度解决了我的图表显示问题。谢谢你的帮助!