我有一个图表控制,以衡量客户的满意度。
可能的价值观是快乐的、中立的和悲伤的。(例如,一组可能的值可以是:快乐(23),中立(12),悲伤(19) )
我希望快乐永远是绿色的,中立的永远是橙色的,悲伤的永远是红色的(比如像一块破布一样)
我把颜色设置如下:
fbChart.Palette = ChartColorPalette.None;
fbChart.PaletteCustomColors =新Color[] { Color.Green,Color.Orange,Color.Red };
如果所有三种可能的选项都有值,这是很好的,但是如果只有一两个值,颜色就会变糟。(例如,如果我有“快乐”(12)和“悲伤”(9),但没有中立,颜色就会变成“绿色”代表“快乐”,“橙色”代表“悲伤”。)
有没有办法把颜色和名字绑在一起(例如快乐/中性/悲伤)?
编辑:
数据从datatable加载到图表中:
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();发布于 2011-10-10 20:34:43
我假设您使用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);
}
} 上面代码的示例图像(图表)类似于this...Below

https://stackoverflow.com/questions/7718180
复制相似问题