图表轴标签间隔期

时间:2012-11-20 16:54:04

标签: c# asp.net charts axis-labels

我正在创建一个图表,显示从dropdown列表中选择的可变时间内的出席情况。我正在尝试根据所选值更改x轴的间隔。我使用了MSDN图表控件教程中的代码,但问题是当我选择下拉项时,我只得到一两个间隔。

当我选择1(1个月)时,我会从最小日期10/14开始一个间隔。 当我选择3(3个月)时,我应该得到几个两周的间隔,但相反,我只得到2个月的间隔。

有人可以帮我弄清楚为什么我会得到这些结果以及如何解决它?

下面的代码显示了我在目前为止在下拉列表的事件处理程序中所拥有的内容:

public void AttendanceChange(Object sender, EventArgs e){
        string StatusSelect = this.AttendanceSelect.SelectedValue;
    int Time = Convert.ToInt32(StatusSelect);

    if (Time == 1)
        SetAxisInterval(Chart3.ChartAreas[0].AxisX, 1, DateTimeIntervalType.Weeks);
    else if (Time == 3)
        SetAxisInterval(Chart3.ChartAreas[0].AxisX, 1, DateTimeIntervalType.Weeks);
    else if (Time == 6)
        SetAxisInterval(Chart3.ChartAreas[0].AxisX, 1, DateTimeIntervalType.Months);
    else if (Time == 12)
        SetAxisInterval(Chart3.ChartAreas[0].AxisX, 2, DateTimeIntervalType.Months);
    else if (Time == 24)
        SetAxisInterval(Chart3.ChartAreas[0].AxisX, 3, DateTimeIntervalType.Months);
}

以下是更改间隔的方法:

public void SetAxisInterval(Axis axis, int interval, DateTimeIntervalType intervalType)
{
    axis.Interval = interval;
    axis.IntervalType = intervalType;
}

1 个答案:

答案 0 :(得分:0)

这里的问题与这样一个事实有关:加载的每个日期都被计为一周中的一天,而不是一周中的一天。我在这篇文章中寻找答案:.Net Chart displaying dates as days in a week