代码之家  ›  专栏  ›  技术社区  ›  Dave Kapildev

js devexpress PieChart系列颜色运行时

  •  1
  • Dave Kapildev  · 技术社区  · 6 年前

    我正在努力 js.devexpress Pie Chart 。我想在运行时更改序列颜色。

    我正在从webservice获取数据,根据我的逻辑,我必须根据值更改红色或绿色。如果值小于0[零],则饼图颜色为红色,否则为绿色。

    我的代码是

     <div id="canvas-holder" >       
        <div id="pie" ></div>
    </div>
    

     var pie =   $("#pie").dxPieChart({
            size: {width: 500},
            //palette: "bright",
            dataSource: [{country: "On",area: 0}],
            series: [{argumentField: "country", valueField: "area"}],
            title: "Area of Countries"             
        }).dxPieChart("instance");
    
        setInterval(function () {
            debugger;
            pie.option("Color", "red");
    
            pie.element().css({ Color: 'red' })
    
            var chartOptions = pie.option();
            pie.series[0].Color = "red";
            pie.option(chartOptions);
    
        }, 1000);
    </script>
    

    `

    1 回复  |  直到 6 年前
        1
  •  0
  •   Dave Kapildev    6 年前

    我找到的快速解决方案:访问devexpress支持论坛 More Details

    Sample Code Download link

    代码为

    <div id="canvas-holder">
        <div id="pie"></div>
    </div>
    
    <script>
        var ds = [{ country: "On", area: 0 }];
    
        var pie = $("#pie").dxPieChart({
            size: { width: 500 },
            //palette: "bright",
            dataSource: ds,
            series: [{ argumentField: "country", valueField: "area" }],
            title: "Area of Countries",
            customizePoint: function (pointInfo) {
                if (pointInfo.value <= 0) {
                    return {
                        color: "red"
                    }
                }
                return {
                    color: "green"
                }
            }
        }).dxPieChart("instance");
    
        var isVal = 0;
    
        setInterval(function () {           
    
            if (isVal == 0)
                isVal = 1;
            else
                isVal = 0;
    
            ds[0].area = 1;
    
            pie.option("dataSource", ds);
    
        }, 1000);
    
    </script>
    
    推荐文章