C# 按名称设置asp.net饼图中的颜色
我有一个测量客户满意度的图表控件 可能的价值观是快乐、中立和悲伤。(例如,一组可能的值可能是:Happy(23)、Neutral(12)、Sad(19)) 我希望快乐永远是绿色,中性永远是橙色,悲伤永远是红色(例如,像一块破布) 我这样设置颜色: fbChart.palete=ChartColorPalette.NoneC# 按名称设置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} 如果所有三个可能的选项都有值,则此选
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-是的,请参见上面的代码(作为编辑添加),如果代码不起作用,请告诉我。。。。