1

我正在尝试使用设置为带有 Rally.data.custom.Store 的类型说明符来连接 RallyChart。当 RallyChart 的类型设置为列或为空白时,数据显示正确。当类型设置为 pie 时,我得到一个返回所有 0%s 的饼图。

这是我的商店的样子:

var myStore = Ext.create('Rally.data.custom.Store', {
    data: mySeries,
    fields: [
        { name: 'WorkItems', type: 'string' },
        { name: 'Count', type: 'int' }
    ]
});

这是我的图表配置功能的样子:

_buildChart: function(myStore) {
this.myChart = Ext.create('Rally.ui.chart.Chart', {
    height: 400, 
    store: myStore,
    series: [{
        type: 'pie',
        name: 'Count',
        dataIndex: 'Count'
    }],
    xField: 'WorkItems',
    chartConfig: {
        chart: {
                plotBackgroundColor: null,
                plotBorderWidth: null,
                plotShadow: false,
                type: 'pie'
        },
        title: {
        text: 'Work Breakdown in Selected Sprint'
        },
        tooltip: {
                pointFormat: '{series.name}: <b>{point.percentage}%</b>',
                percentageDecimals: 1
        },
        plotOptions: {
                pie: {
                    allowPointSelect: true,
                    cursor: 'pointer',
                    dataLabels: {
                        enabled: true,
                        color: '#000000',
                        connectorColor: '#000000',
                        formatter: function() {
                            return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
                        }
                    }
                }
            }
    }
});
this.add(this.myChart);
}

我的数据传入看起来像:['Defects', 4], ['Feature A', 4] ['Feature B', 4]

任何想法为什么柱形图可以显示它,但饼图不能?

4

1 回答 1

0

我敢打赌这是 2.0p5 版本的图表中的一个错误。我们刚刚发布了 SDK 的 2.0rc1 版本,其中包含一个更好的图表版本。以下代码示例展示了如何使用您的数据和2.0rc1中的 Rally.ui.chart.Chart 创建一个饼图:

//from inside your app
this.add({
    xtype: 'rallychart',
    height: 400,
    chartData: {
        series: [{
            type: 'pie',
            name: 'Browser share',
            data: [
               ['Defects', 4], ['Feature A', 4], ['Feature B', 4]
            ]
        }]
    },
    chartConfig: {
        chart: {
            plotBackgroundColor: null,
            plotBorderWidth: null,
            plotShadow: false,
            type: 'pie'
        },
        xAxis: {},//must specify empty x-axis due to bug
        title: {
            text: 'Work Breakdown in Selected Sprint'
        },
        tooltip: {
            pointFormat: '{series.name}: <b>{point.percentage}%</b>',
            percentageDecimals: 1
        },
        plotOptions: {
            pie: {
                allowPointSelect: true,
                cursor: 'pointer',
                dataLabels: {
                    enabled: true,
                    color: '#000000',
                    connectorColor: '#000000',
                    formatter: function() {
                        return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
                    }
                }
            }
        }
    }
});

请注意,不再需要创建中间存储来传递给图表 - 您可以简单地将您的系列作为 chartData 配置的一部分传递。

于 2013-06-20T16:42:14.217 回答