0

我正在尝试为 radhtmlchart 中的每个单独的条添加不同的颜色。我尝试使用下面的代码,但它没有按预期工作。有什么办法可以做到这一点?

Color[] barColors = new Color[8]{
                       Color.Purple,
                       Color.SteelBlue,
                       Color.Aqua,
                       Color.Yellow,
                       Color.Navy,
                       Color.Green,
                       Color.Blue,
                       Color.Red   };

        for (int i = 0; i < 8; i++)
       {
            BarSeries bs = new BarSeries();
            bs.Appearance.FillStyle.BackgroundColor = barColors[i];
            RadHtmlChartCurrentChart.PlotArea.Series.Add(bs);

        }

RadHtmlChartCurrentChart.DataSource = datatable;
RadHtmlChartCurrentChart.DataBind(); 

我希望图表看起来像这样。

在此处输入图像描述

4

1 回答 1

0

我找到了一种方法来做到这一点。

首先在telerik:ColumnSeries中添加ColorField属性

<telerik:ColumnSeries DataFieldY="ModelPercentage" ColorField="AddColor">

然后使用字符串数组定义十六进制值中的颜色值,代码后面。

string[] barColors = new string[8]
            {
                "#ffb128","#ff8828", "#FFFF00", "#808000","#800000","#F333FF","#707AF3","#68E572"
            };

然后将这些颜色值作为列添加到您的数据源中。

这里我使用的是数据表,所以我添加了另一列作为颜色值。

CurrentvsPropose.Columns.Add("AddColor", typeof(string));

在绑定之前将数据添加到数据表中。

tableRowCvsP["AddColor"] = barColors[i];

我从这里得到了这个想法

于 2019-01-24T05:15:59.587 回答