Можно ли упорядочить ряды в алфавитном порядке в легенде Oxyplot chart?
Я хотел бы упорядочить legend
моей диаграммы Oxyplot в alphabetical order
. Возможно ли это в пределах Oxyplot
?
Вот мой текущий сюжет: Сюжет с легендой
Я хотел бы заказать legend
моего chart
. Я не буду заказывать способ, которым я строю данные в первую очередь, потому что это будет означать слишком много условий, и я хочу, чтобы график был как можно более общим. Я знаю, что это был бы вариант, но я бы предпочел не идти с этим методом.
order alphabetically
только элементы легенды в Oxyplot
?1 ответ:
Вы не можете изменить порядок de legend напрямую, но вы можете отсортировать ряды внутри модели, так что вы увидите legend в алфавитном порядке:
Там у вас есть 2 метода для сортировки:
Вариант 1, Простая сортировка пузырьков:
Series temp; int length = plotModel.Series.Count; for (i = 0; i < length; i++) { for (int j = i + 1; j < length; j++) { if (string.Compare(plotModel.Series[i].Title, plotModel.Series[j].Title) > 0) //true if second string goes before first string in alphabetical order { temp = plotModel.Series[i]; plotModel.Series[i] = plotModel.Series[j]; plotModel.Series[j] = temp; } } }
Вариант 2, Вспомогательный Список:
List<Series> sortedList = new List<Series>(plotModel.Series); sortedList.Sort((x, y) => string.Compare(x.Title, y.Title)); plotModel.Series.Clear(); foreach(Series s in sortedList) plotModel.Series.Add(s);