私は20の項目と色のリストがあります:私は二重の値によって&グループを注文、GetColors
にリストを渡しているグループの数に基づいてリストから均等に選択しますか?
this.colors = new List<Color> {
(Color)ColorConverter.ConvertFromString("#DEEBF7"),
(Color)ColorConverter.ConvertFromString("#D2E1EF"),
(Color)ColorConverter.ConvertFromString("#C7D7E8"),
(Color)ColorConverter.ConvertFromString("#BCCDE0"),
(Color)ColorConverter.ConvertFromString("#B0C3D9"),
(Color)ColorConverter.ConvertFromString("#A5B9D2"),
(Color)ColorConverter.ConvertFromString("#9AAFCA"),
(Color)ColorConverter.ConvertFromString("#8FA6C3"),
(Color)ColorConverter.ConvertFromString("#839CBC"),
(Color)ColorConverter.ConvertFromString("#7892B4"),
(Color)ColorConverter.ConvertFromString("#6D88AD"),
(Color)ColorConverter.ConvertFromString("#627EA5"),
(Color)ColorConverter.ConvertFromString("#56749E"),
(Color)ColorConverter.ConvertFromString("#4B6B97"),
(Color)ColorConverter.ConvertFromString("#40618F"),
(Color)ColorConverter.ConvertFromString("#355788"),
(Color)ColorConverter.ConvertFromString("#294D81"),
(Color)ColorConverter.ConvertFromString("#1E4379"),
(Color)ColorConverter.ConvertFromString("#133972"),
(Color)ColorConverter.ConvertFromString("#08306B")
};
:
public SortedDictionary<Guid, Color> GetColors(IList<Tuple<Guid, double>> heightsAboveGroundByGuid)
{
// Order providers by measurement height from ground
IEnumerable<IGrouping<double, Tuple<Guid, double>>> groupedOrderedList = heightsAboveGroundByGuid.OrderBy(h => h.Item2).GroupBy(o => o.Item2);
int numberOfGroups = groupedOrderedList.Count();
SortedDictionary<Guid, Color> seriesColorsByGuid = new SortedDictionary<Guid, Color>();
int index = 0;
foreach (IGrouping<double, Tuple<Guid, double>> item in groupedOrderedList)
{
if (index <= this.colors.Count() - 1)
{
foreach (Tuple<Guid, double> childItem in item)
{
seriesColorsByGuid.Add(childItem.Item1, this.colors[index]);
}
}
index = Not sure how to implement this!;
}
return seriesColorsByGuid;
}
たとえば、実行時にダブルス40,40,40,50,50,60,60である。私は3つのグループを持っています。このシナリオでは、最初のグループ(40)が0のインデックス、2番目のグループ(50)のインデックス9 &、19の最終グループ(60)インデックス(リストの最後の色)を返すようにします。
渡されるグループの数によって均等に色分けされた色を設定するにはどうすればよいですか?
ありがとうございます!私はほとんどあなたのギャップの変数をインデックスに設定することでそれを得ましたが、私はgap&gapUsed変数を宣言すると、よりクリーンで読みやすくなりました。 – Hardgraf