【问题标题】:Chart Axis Labels Interval Issue图表轴标签间隔问题
【发布时间】:2012-11-20 16:54:03
【问题描述】:

我正在制作一个图表,显示从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;
}

【问题讨论】:

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    • 1970-01-01
    • 2013-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多