У меня есть элемент управления диаграммой, который измеряет удовлетворенность клиентов.
Возможные значения: Happy, Neutral и Sad. (например, возможный набор значений может быть: Happy (23), Neutral (12), Sad (19))
Я хочу, чтобы Happy всегда был Зелёным, Нейтральный - всегда оранжевым, а Грустный - красным (например, как статус RAG)
Я устанавливаю цвета так:
fbChart.Palette = ChartColorPalette.None;
fbChart.PaletteCustomColors = new Color [] {Color.Green, Color.Orange, Color.Red};
Это прекрасно работает, если все три возможных варианта имеют значения, но если есть только один или два значения, цвета облажаются. (Например, если у меня есть Happy (12) и Sad (9), но нет нейтрального, цвета получаются зелеными для Happy и оранжевыми для Sad.)
Есть ли способ связать цвета с именем (например, Happy / Neutral / 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();