0

棒グラフ シリーズを最も多いものから最も少ないものの順に並べ替えるにはどうすればよいでしょうか? バインドする前にデータを並べ替えても効果がないようです。

最も少ないものから最も多いものへとレンダリングされる棒グラフ

私のコード:

chart.Series.Add("port");
chart.Series["port"].Type = SeriesChartType.Bar;
chart.Series["port"]["PointWidth"] = "0.6";
chart.Series["port"]["BarLabelStyle"] = "Center";
chart.Series["port"].ShowLabelAsValue = true;
chart.Series["port"].Points.DataBind(myData, "Key", "Value", "Label=Value{p2}");
chart.Series["port"].BorderStyle = ChartDashStyle.Solid;
chart.Series["port"].BorderColor = Color.White;
chart.Series["port"].BorderWidth = 1;
chart.Series["port"].ShowLabelAsValue = true;
chart.Series["port"].Font = myfont;

chart.ChartAreas.Add("Default");
chart.ChartAreas["Default"].BackColor = Color.Transparent;
foreach (var axis in chart.ChartAreas["Default"].Axes)
{
    axis.LabelStyle.Font = myfont;
    axis.MajorGrid.Enabled = false;
}
chart.ChartAreas["Default"].AxisX.Interval = 1;
chart.ChartAreas["Default"].AxisY.LabelStyle.Format = "p0";
4

1 に答える 1

0

シリーズで Sort() を呼び出す必要があります。 http://msdn.microsoft.com/en-us/library/dd455394.aspxを参照してください。したがって、ポイントを最も多いものから最も少ないものに並べ替えるには、


chart.Series["port"].Sort(PointSortOrder.Descending);

ポイント値以外でソートする必要がある場合に備えて、他に 2 つのソート方法があります。

于 2011-03-20T07:39:36.313 に答える