如何在 radhtmlchart 中为条形分配单独的颜色?

How to Assign Individual Colors to Bars in radhtmlchart?

我正在尝试为 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(); 

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

我找到了一种方法。

首先在telerik:ColumnSeries

中添加ColorField属性
<telerik:ColumnSeries DataFieldY="ModelPercentage" ColorField="AddColor">

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

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

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

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

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

在绑定之前向数据 table 添加数据。

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

我的想法来自 here