C#中Chart控件中将X轴设置为time时间格式后,如何设置时间范围
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中Chart控件中将X轴设置为time时间格式后,如何设置时间范围相关的知识,希望对你有一定的参考价值。
C#中Chart控件中将X轴设置为time时间格式后,如何设置时间范围呢?比如设置成最大一个小时,间隔是十分钟。
staticinlineboolfillPoint_Gray(QImage&image,QPointp,ucharlow,ucharhigh,ucharnewVal,QStack<QPoint>&stack)
intx=p.rx();
inty=p.ry();
uchar*line=image.scanLine(y);
if(line[x]<low||line[x]>high)
returnfalse;
line[x]=newVal;
if(y>0)
uchar*last=image.scanLine(y-1);
if(last[x]>=low&&last[x]<=high)
stack.push(QPoint(x,y-1));
扩展资料
C#中以时间作为chart的X坐标轴间隔
privatevoidinitChart()
Seriesseries=chart1.Series[0];
series.ChartType=SeriesChartType.Line;
series.XValueType=ChartValueType.DateTime;
chart1.ChartAreas[0].AxisX.LabelStyle.Format="HH:mm:ss";//毫秒格式:hh:mm:ss.fff,后面几个f则保留几位毫秒小数,此时要注意轴的最大值和最小值不要差太大
chart1.ChartAreas[0].AxisX.LabelStyle.IntervalType=DateTimeIntervalType.Milliseconds;
chart1.ChartAreas[0].AxisX.MajorGrid.IntervalType=DateTimeIntervalType.Milliseconds;
chart1.ChartAreas[0].AxisX.ScrollBar.Enabled=true;
chart1.ChartAreas[0].AxisY.ScaleView.Size=5;
chart1.ChartAreas[0].AxisY.ScrollBar.Enabled=true;
chart1.ChartAreas[0].AxisX.Minimum=DateTime.Now.ToOADate();
chart1.ChartAreas[0].AxisX.Maximum=DateTime.Now.AddSeconds(1).ToOADate();
series.Points.AddXY(DateTime.Now.ToOADate(),0);
///<summary>
///刷新波形图曲线
///</summary>
///<paramname="obj"></param>
privatevoidSet_ZGraph_steadyTest(objectobj)
List<DateTime>listX=newList<DateTime>();
List<double>listY=newList<double>();
DataSetds=(DataSet)obj;
listX.Clear();
listY.Clear();
for(inti=0;i<ds.Tables[0].Rows.Count;i++)
listX.Add(DateTime.Parse((string)ds.Tables[0].Rows[i][0]));
listY.Add(Convert.ToDouble(ds.Tables[0].Rows[i][1]));
chart1.Series[0].Points.DataBindXY(listX,listY);
chart1.ChartAreas[0].AxisX.Minimum=listX[0].ToOADate();
chart1.ChartAreas[0].AxisX.Maximum=listX[ds.Tables[0].Rows.Count-1].AddSeconds(1).ToOADate();
chart1.ChartAreas[0].AxisY.ScaleView.Size=listY.Max()+listY.Min()+1;
参考技术A 可以手动调整数据为时间格式的数据series.XValueType = ChartValueType.Time;
series.ToolTip = "时间:#VALX 值#VALY";
series.Points.AddXY(DateTime.Parse(item.time.ToString("H:mm:ss")).ToOADate(),
ConvertToDoubleFromString(obj.传输数据));
chart.Series.Add(series);本回答被提问者采纳
C#中将dateTimePicker初始值设置为空
最近在做一个小项目,有一个功能是根据用户选择条件查询数据,要求时间控件的默认值为空,只有当用户修改了时间,才根据时间查询。简单的说,就是默认或者点击清空按钮的情况下,时间控件dateTimePicker的值为空,当触发事件ValueChanged时再显示相对应的时间。
开始,我以为修改控件的默认值为空就可以了,但是我失败了,dateTimePicker不允许空值。尝试了很多次之后我开始在网上找资料,寻到了如下方法:
窗体初始化或者放一个清空按钮,点击清空按钮时执行如下代码:
this. dateTimePicker1.Format = DateTimePickerFormat.Custom; this. dateTimePicker2.CustomFormat = "";
然后在DateTimePicker控件的事件 dtp_firsttime_ValueChanged中执行如下代码:
this. dateTimePicker1.Format = DateTimePickerFormat.Long; this. dateTimePicker1.CustomFormat = null;
这样做确实能让控件dateTimePicker1的初始值为空,但是存在一个bug,那就是第一次选择时间时,如果选择的恰好是默认的时间,那么将无法触发事件dtp_firsttime_ValueChanged ,即dateTimePicker1的值依然为空。这个问题很棘手,查阅很多资料无果之后继续细细研究dateTimePicker,发现了这样一个属性:Checked——当ShowSelectBox为true时,确定是否选中复选框,以指示用户已经选择了某个值。于是,我在窗体初始化或点击清空按钮的代码中更改了属性Checked的值,即添加如下代码:
this.dtp_firsttime.Checked = false;
这样bug便解决了。
出处:http://1454396751.iteye.com/blog/2276801
以上是关于C#中Chart控件中将X轴设置为time时间格式后,如何设置时间范围的主要内容,如果未能解决你的问题,请参考以下文章
【(VC/MFC)绘图控件TeeChart问题】如何设置X轴显示时间(vs2010)