代码之家  ›  专栏  ›  技术社区  ›  Manusha

如何在radhtmlchart中为条形图指定单独的颜色?

  •  0
  • Manusha  · 技术社区  · 5 年前

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

    我想让图表看起来像这样。

    enter image description here

    1 回复  |  直到 5 年前
        1
  •  0
  •   Manusha    5 年前

    我找到了一个办法。

    第一次添加 彩色场 属性到 Telerik:柱状系列

    <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];
    

    我是从 here