0

我使用 extjs 4.1 绘制图表,我的要求是,在某些月份后,我需要更改图表底部轴(月份字段)标签的颜色。我走了很多方法如下,但无法实现。谁能告诉我如何实现?非常感谢。谢谢你。

此方法会将整个标签颜色从 JAN 更改为 DEC

 {
                    type: 'Category',
                    position: 'bottom',
                    fields: ['month'],
                    //dashSize: 0,
                    label: { 
                        font: '10px Verdana',
                        fill: 'Red',                            
                    }                        
                } 

以下方法不起作用

{
                    type: 'Category',
                    position: 'bottom',
                    fields: ['month'],
                    //dashSize: 0,
                    label: { 
                        renderer: function(name, a, b, c,attr) {
                            Ext.apply(name, {
                             fill: 'Red'
                             });
                            Ext.apply(a, {
                                fill: 'Red'
                            });
                            Ext.apply(b, {
                                fill: 'Red'
                            });
                            Ext.apply(c, {
                                fill: 'Red'
                            });
                            Ext.apply(attr, {
                                fill: 'Red'
                            });
                            return name;                                
                        }
                    },
                    renderer: function(sprite, record, attr, index, store) {
                        Ext.apply(attr, {
                            fill: 'Red'
                        });
                        sprite.setAttributes({fill: 'red'}, true);
                        return attr;
                    }
                }
4

1 回答 1

0

最后。我达到了。这是解决方案。我在这里检查条件,我们可以编写开关盒,使特定月份的颜色发生变化。

label: {
                        renderer: function(v) {
                            debugger
                            if(v == 'JAN'){
                                //this.font = "bold 12px Arial, Helvetica, sans-serif";
                                this.padding = 5;
                                this.fill= 'blue';
                            }
                            else{
                                this.fill= 'black';
                            }
                            return v;
                        }
                    }
于 2013-10-11T13:58:20.970 回答