1

ExtJSの棒グラフを#006AB8の単色で色付けするのに問題があります。

ドキュメントを見ると、色のない、ある種の機能があります。

これが私のシリーズのコードです:

            series: [{
            type: 'bar',
            axis: 'bottom',
            highlight: true,
            tips: {
              trackMouse: true,
              width: 140,
              height: 28,
              renderer: function(storeItem, item) {
                this.setTitle(storeItem.get('callcentre') + ': ' + storeItem.get('calls'));
              }
            },
            label: {
              display: 'insideEnd',
                field: 'calls',
                renderer: Ext.util.Format.numberRenderer('0'),
                orientation: 'horizontal',
                color: '#333',
              'text-anchor': 'middle'
            },
            xField: 'callcentre',
            yField: ['calls'],
            renderer: function() {
                    return Ext.apply({
                            fill: '#006AB8'
                    });
            }
        }]

壊れたのはレンダラーであり、正しくフォーマットする方法がわかりません。

ありがとう、

ルーク。

4

3 に答える 3

2

こんな感じでやりました。

renderer: function(sprite, record, attr, index, store) {
    var value = 0;
    var color = ['rgb(147, 169, 208)'][value];
    return Ext.apply(attr, {
        fill: color
    });
}

より多くの色のオプションが必要な場合は、次のようにします。

var value = 3; <-- the value determines the color array (index starts 0).
var color = [
    'rgb(114, 19, 15)', 
    'rgb(92, 48, 71)', 
    'rgb(81, 114, 179)', 
    'rgb(196, 185, 183)', 
    'rgb(13, 111, 62)',
    'rgb(158, 129, 133)',
    'rgb(50, 107, 126)'][value];
    return Ext.apply(attr, {
    fill: color
});
于 2012-08-16T07:08:13.523 に答える
0

このコードを試すことができます:

    renderer: function(sprite, record, attr, index, store) {
        return Ext.apply(attr, {
            塗りつぶし: '#006AB8'
        });
    }
    

于 2012-04-23T19:31:55.990 に答える