制图时间不会从零开始

时间:2017-07-14 10:40:28

标签: c# charts

我在winform上有一个图表控件,应记录一些计数p小时 在本地PC时间重复12小时时钟 因此图表从0到11开始 问题在于它的时间是12:20或12:50或12:10 我无法在X轴上从0开始编号

我的主要内容如下:

int[] numbers = new int[11] {12,11,10,91,82,7,66,5,44,3,2,1};
chart1.ChartAreas[0].AxisX.Maximum = 11;
chart1.ChartAreas[0].AxisX.Minimum = 0;
chart1.ChartAreas[0].AxisX.Interval = 1;

然后循环更新并重新绘制图表,如下所示

DateTime  currentTime = DateTime.UtcNow.ToLocalTime();
int hour12 = (currentTime.Hour % 12);
numbers[hour12]++;    
chart1.Series["total"].Points.DataBindY(numbers);

我也尝试过,但在这里没有帮助。

chart1.ChartAreas[0].AxisX.IsMarginVisible = false; 

2 个答案:

答案 0 :(得分:1)

替换

chart1.Series["total"].Points.DataBindY(numbers);

chart1.Series["total"].Points.DataBindXY(Enumerable.Range(0,12).ToArray(), numbers);

更新: 设置AxisX以便正确显示所有图表系列:

chart1.ChartAreas[0].AxisX.Maximum = 12;
chart1.ChartAreas[0].AxisX.Minimum =-1;
chart1.ChartAreas[0].AxisX.Interval = 1;

答案 1 :(得分:1)

除了Sakis删除-1和12以获得0..11比例。

chart1.ChartAreas[0].AxisX.Maximum = 12;
chart1.ChartAreas[0].AxisX.Minimum =-1;
chart1.ChartAreas[0].AxisX.Interval = 1;
chart1.ChartAreas[0].AxisX.CustomLabels.Add(-1.5, -0.5, "Hour");
chart1.ChartAreas[0].AxisX.CustomLabels.Add(11.5, 12.5, "   ");
for(int i=0;i<12;i++)   chart1.ChartAreas[0].AxisX.CustomLabels.Add(i-0.9, i+0.9, i.ToString());