可以按字母顺序排列 Oxyplot 图表图例中的系列吗?
It is possible to order alphabetically the series in Oxyplot chart legend?
我想在 alphabetical order
中订购我的 Oxyplot 图表的 legend
。在 Oxyplot
内可能吗?
这是我目前的情节:Plot with legend
我想订购 chart
的 legend
。我不会先排序我绘制数据的方式,因为这意味着太多的条件,我想尽可能地保持绘图的一般性。我知道这是一种选择,但我不想采用这种方法。
请告诉我是否可以 order alphabetically
仅 Oxyplot
中的图例项目?
您不能直接修改图例的顺序,但您可以对模型内部的系列进行排序,因此您会看到图例按字母顺序排序:
你有两种排序方法:
选项 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);
我想在 alphabetical order
中订购我的 Oxyplot 图表的 legend
。在 Oxyplot
内可能吗?
这是我目前的情节:Plot with legend
我想订购 chart
的 legend
。我不会先排序我绘制数据的方式,因为这意味着太多的条件,我想尽可能地保持绘图的一般性。我知道这是一种选择,但我不想采用这种方法。
请告诉我是否可以 order alphabetically
仅 Oxyplot
中的图例项目?
您不能直接修改图例的顺序,但您可以对模型内部的系列进行排序,因此您会看到图例按字母顺序排序:
你有两种排序方法:
选项 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);