我有一张 MS 图表。我的代码如下:
chart.Series[chartType].Points.DataBindXY(xValues, xCaption, yValues, yCaption);
chart.ChartAreas[0].AxisX.LabelStyle.Format = "CustomAxisXFormat";
chart.FormatNumber += new EventHandler<FormatNumberEventArgs>(chart_FormatNumber);
然后
private void chart_FormatNumber(object sender, FormatNumberEventArgs e)
{
if (e.ElementType == ChartElementType.AxisLabels &&
e.Format == "CustomAxisXFormat")
{
e.LocalizedValue = string.Format("{0:hh tt}", new DateTime(1, 1, 2, (int)e.Value, 0, 0).AddHours(-1));
}
}
xValues
和yValues
are 是整数数组。
我遇到的问题是,如果xValues = int[]{1,2,3}
在chart_FormatNumber
处理事件时,值 ( e.Value
) 更改为{2,3,4}
.
所以必须在那里做减法以使其成为正确的值。
有人能告诉我发生了什么和/或如何阻止 MSChart 改变我的价值观吗?