2016-05-13 6 views
2

Я хотел бы заказать legend моей диаграммы Oxyplot в alphabetical order. Возможно ли это в пределах Oxyplot?Можно заказать в алфавитном порядке серию в легенде графика Oxyplot?

Вот мой текущий сюжет: Plot with legend

Я хотел бы заказать legend моего chart. Я бы не заказывал, как сначала создаю данные, потому что это будет означать слишком много условий, и я хочу, чтобы график был как можно более общим. Я знаю, что это будет вариант, но я бы не пошел с этим методом.

Пожалуйста, дайте мне знать, если возможно order alphabetically только предметы легенды в Oxyplot?

ответ

2

Вы не можете изменить порядок де легенды непосредственно, но вы можете сортировать серии внутри модели, так что вы увидите легенда в алфавитном порядке:

Там у вас есть 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); 

 Смежные вопросы

  • Нет связанных вопросов^_^