[英]MS Chart Y Axis not staring from 0 Hours [RangeBar]
我正在使用Rangebar Mschart绘制一些数据。 Y轴表示时间(总计24小时)。 图表正确绘制了数据,但是y轴不是从0小时开始。
码
var IETable = (dt as System.ComponentModel.IListSource).GetList();
chChart.DataBindCrossTable(IETable, "Number", "", "Start,Finish", "");
foreach (Series sr in chChart.Series)
{
sr.ChartType = SeriesChartType.RangeBar;
sr.YValueType = ChartValueType.Time;
}
chChart.ChartAreas[0].AxisY.LabelStyle.Format = "h : tt";
chChart.ChartAreas[0].AxisY.Interval = 2;
chChart.ChartAreas[0].AxisY.IntervalType = DateTimeIntervalType.Hours;
chChart.ChartAreas[0].AxisY.IntervalOffset = 0;
chChart.ChartAreas[0].AxisY.IsMarksNextToAxis = true;
chChart.ChartAreas[0].AxisY.IsStartedFromZero = true;
我还尝试了AxisY.Minimum = 0和AxisY.Maximum = 1。 Y轴从0开始,但是看不到绘图。
DateTime minDate = new DateTime(0, 0, 0, 0, 0, 0);
DateTime maxDate = minDate.AddHours(24);
chChart.ChartAreas[0].AxisY.Minimum = minDate.ToOADate();
chChart.ChartAreas[0].AxisY.Maximum = maxDate.ToOADate();
尝试这个。 您可能需要更改新的DateTime(0,0,0,0,0,0); 以适合年份和月份等,当您添加内容时。 可能的解决方案是使用DateTime.Now获取minDate并减去小时,分钟和秒
将TextBox值转换为datetime可以达到目的。
DateTime minDate =Convert.ToDateTime(tbDate.Text);
DateTime maxDate = minDate.AddDays(1);
chChart.ChartAreas[0].AxisY.Minimum = minDate.ToOADate();
chChart.ChartAreas[0].AxisY.Maximum = maxDate.ToOADate();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.