1

我在 .Net 图表中工作。我想在 X 轴上显示日期。例如:如果我选择过去 52 周,那么我应该显示过去 52 周的图表,而这 52 周的开始日期应该在 x 轴上。我不知道如何做到这一点..我尝试过使用代码..

        DateTime Frm = sessionManager.ChartViewPeriodFrom;
        DateTime To = sessionManager.ChartViewPeriodTo;

        double min = Frm.ToOADate();
        double max = To.ToOADate();

        Chart1.ChartAreas["ChartArea1"].AxisX.Minimum = min;
        Chart1.ChartAreas["ChartArea1"].AxisX.Maximum = max;
        Chart1.ChartAreas["ChartArea1"].AxisX.Interval = 7;

在这里,我得到的 Frm 为“9/17/2011 12:00:00 AM”但是,在图表中,最短日期从“9/21/2011 12:00:00 AM”开始。如何解决这个...

我也试过这样..[编辑部分]

        Chart1.Series["Series1"].XValueType = ChartValueType.Date;
        Chart1.ChartAreas["ChartArea1"].AxisX.Minimum = (new DateTime(2011, 09, 17, 12, 00, 00)).ToOADate();
        Chart1.ChartAreas["ChartArea1"].AxisX.Maximum = (new DateTime(2012, 09, 08, 12, 00, 00)).ToOADate();
        Chart1.ChartAreas["ChartArea1"].AxisX.Interval = 7;
        Chart1.ChartAreas["ChartArea1"].AxisX.IsMarginVisible = false; 
4

2 回答 2

2

经过长时间的搜索......我已经解决了我的上述问题......但我仍然不知道它是如何工作的......

        Chart1.ChartAreas["ChartArea1"].AxisX.IntervalAutoMode = IntervalAutoMode.VariableCount;
        Chart1.Series["Series1"].XValueType = ChartValueType.Date;
        DayOfWeek ds = DayOfWeek.Wednesday;
        double dblIntervalOffset = Convert.ToDouble(ds);
        Chart1.ChartAreas["ChartArea1"].AxisX.IntervalOffset = dblIntervalOffset;
        Chart1.ChartAreas["ChartArea1"].AxisX.Minimum = min;
        Chart1.ChartAreas["ChartArea1"].AxisX.Maximum = max;
        Chart1.ChartAreas["ChartArea1"].AxisX.Interval = 7;
        Chart1.ChartAreas["ChartArea1"].AxisX.IsMarginVisible = false;
于 2012-09-13T07:09:25.667 回答
0

Indexed必须为系列数据设置属性。

于 2015-08-19T08:00:42.173 回答