p1200112001 2017-08-28 07:49 采纳率: 100%
浏览 867
已采纳

解决问题马上微信10元红包,在线急等,留下您的微信号

EXTJS 4 ,折线图

 最近公司要弄个折线图,想要对折现点的颜色根据data的值不同进行渲染颜色
 Ext.define("eqmanaly.view.OneLineChart", {
     extend : "Ext.chart.Chart",
     alias  : "widget.OneLineChart",
     store  : "eqmanaly.store.OneLineChart",
     animate:true,
     width  :400,
     style: 'background:#fff',
//   theme: 'Category1',
     shadow: true,
     legend : {
            position: 'top'
     },
     axes:[
        {
        type:'Numeric',
        fields:['percent','upperlimit','lowerlimit'],
        title:'设备尺寸检测',
        position:'left',
        minimum:0 ,
        grid: {
                odd: {
                    opacity: 1,
                    stroke: '#bbb',
                    'stroke-width': 0.5
                }
            }
         },{
            type:'Category',
            position:'bottom',
            fields:['number'],
            title:'日期',
            grid:true,
            label:{
                rotate:{degrees:315}
            }
         }],
     series:[{
        axis:'left',
        type:'line',
        xField:['number'],
        yField:['upperlimit'],
        title:'最大值',
        highlight: true,
        style:{
            fill: '#6600FF',
            opacity:0.5
        },
        tips: {
            trackMouse: true,
            width: 65,
            height: 28,
            renderer: function(storeItem, item) {
                this.setTitle(String(storeItem.get('upperlimit')) );
            }
        },
        markerConfig: {
            type: 'circle',
            size: 1,
            radius: 1,
            'stroke-width': 0
        }

    },
    {
        axis:'left',
        type:'line',
        xField:['number'],
        yField:['lowerlimit'],
        title:'最小值',
        highlight: true,
        style:{opacity:.5},
        tips: {
            trackMouse: true,
            width: 65,
            height: 28,
            renderer: function(storeItem, item) {
                this.setTitle(String(storeItem.get('lowerlimit')) );
            }
        },
        markerConfig: {
            type: 'circle',
            size: 1,
            radius: 1,
            'stroke-width': 0
        }

    },
        {
        axis:'left',
        type:'line',
        xField:['number'],
        yField:['percent'],
        title:'实际尺寸',
        highlight: true,
        style:{opacity:.5},
        tips: {
            trackMouse: true,
            width: 65,
            height: 28,
            renderer: function(storeItem, item) {
                this.setTitle(String(storeItem.get('percent')) );
            }
        },
        markerConfig: {
            type: 'circle',
            size: 4,
            radius: 4,
            'stroke-width': 0
        },

        renderer : function(sprite, storeItem, barAttr, i, store) {
//           var colors = ['rgb(212, 40, 40)'];
            var percent = 0;
            for (var dd in storeItem.data){
                if(dd == "percent"){
                percent = storeItem.data[dd];
                }       
            }
            if( parseFloat("2.995")< parseFloat(percent) && parseFloat(percent)<parseFloat("3.105")){
//              return Ext.apply(barAttr, { fill: 'rgb(255, 68, 186)' }); 
                 barAttr.fill = 'rgb(255, 68, 186)';
            }else {
//              return Ext.apply(barAttr, { fill: 'rgb(25, 68, 186)' });
                barAttr.fill = 'rgb(25, 68, 186)';
            }
            return barAttr

        }


    }]
});

图片说明
图片说明
求:如何才能让第一次加载store的时候就渲染点成功

  • 写回答

6条回答 默认 最新

  • Go 旅城通票 2017-08-28 09:40
    关注

    ext-4.2.1.883测试你的代码没问题,4.1-之前的测试没效果。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!