C# 按名称设置asp.net饼图中的颜色

C# 按名称设置asp.net饼图中的颜色,c#,asp.net,charts,C#,Asp.net,Charts,我有一个测量客户满意度的图表控件 可能的价值观是快乐、中立和悲伤。(例如,一组可能的值可能是:Happy(23)、Neutral(12)、Sad(19)) 我希望快乐永远是绿色,中性永远是橙色,悲伤永远是红色(例如,像一块破布) 我这样设置颜色: fbChart.palete=ChartColorPalette.None fbChart.PaletteCustomColors=新颜色[]{Color.Green,Color.Orange,Color.Red} 如果所有三个可能的选项都有值,则此选

我有一个测量客户满意度的图表控件

可能的价值观是快乐、中立和悲伤。(例如,一组可能的值可能是:Happy(23)、Neutral(12)、Sad(19))

我希望快乐永远是绿色,中性永远是橙色,悲伤永远是红色(例如,像一块破布)

我这样设置颜色:

fbChart.palete=ChartColorPalette.None
fbChart.PaletteCustomColors=新颜色[]{Color.Green,Color.Orange,Color.Red}

如果所有三个可能的选项都有值,则此选项可以正常工作,但如果只有一个或两个值,则颜色会出错。(例如,如果我有Happy(12)和Sad(9),但没有中性,则颜色会显示为绿色表示Happy,橙色表示Sad。)

有没有办法把颜色和名字联系起来(例如快乐/中性/悲伤)

编辑:

数据从数据表加载到图表中:

    var fb = from f in db.tl_feedbacks
             where f.timestamp >= new DateTime(fromYear, fromMonth, fromDay, 0, 0, 0) &&                f.timestamp <= new DateTime(toYear, toMonth, toDay, 23, 59, 59)  
               group f by f.tl_feedback_score.score into grp
               select new
               {
                     Score = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(grp.Key),  
                     Count = grp.Select(x => x.tl_feedback_score.score).Count()  
               };  
              fbChart.Series["Feedback"].XValueMember = "Score";  
              fbChart.Series["Feedback"].YValueMembers = "Count";

              fbChart.DataSource = fb;
              fbChart.DataBind();
var fb=从f到db.tl\u的反馈
其中f.timestamp>=新的日期时间(fromYear、fromMonth、fromDay、0、0)和&f.timestamp x.tl\u feedback\u score.score)。Count()
};  
fbChart.Series[“Feedback”].XValueMember=“Score”;
fbChart.Series[“Feedback”].YValueMembers=“Count”;
fbChart.DataSource=fb;
fbChart.DataBind();

我假设您正在使用datatable将数据绑定到图表,并且您正在使用asp.net图表控件

我希望这个解决方案能对你有所帮助

foreach (Series charts in fbchart.Series)
{
    foreach (DataPoint point in charts.Points)
    {
       switch (point.AxisLabel)
        {
           case "Neutral": point.Color = Color.Red; break;
           case "Happy": point.Color = Color.Green; break;
           case "Sad": point.Color = Color.Orange; break;
         }
         point.Label = string.Format("{0:0} - {1}", point.YValues[0], point.AxisLabel);

    }
 }  

上面代码的示例图像(图表)如下所示……下面是如何通过datatable将数据绑定到图表的?@errorstacks-是的,请参见上面的代码(作为编辑添加),如果代码不起作用,请告诉我。。。。