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不允许空值。尝试了很多次之后我开始在网上找资料,寻到了如下方法:

窗体初始化或者放一个清空按钮,点击清空按钮时执行如下代码:

C#代码 :
this. dateTimePicker1.Format = DateTimePickerFormat.Custom;
this. dateTimePicker2.CustomFormat = "";

然后在DateTimePicker控件的事件 dtp_firsttime_ValueChanged中执行如下代码:

 

C#代码:
 this. dateTimePicker1.Format = DateTimePickerFormat.Long;
 this. dateTimePicker1.CustomFormat = null;

 这样做确实能让控件dateTimePicker1的初始值为空,但是存在一个bug,那就是第一次选择时间时,如果选择的恰好是默认的时间,那么将无法触发事件dtp_firsttime_ValueChanged ,即dateTimePicker1的值依然为空。这个问题很棘手,查阅很多资料无果之后继续细细研究dateTimePicker,发现了这样一个属性:Checked——当ShowSelectBoxtrue时,确定是否选中复选框,以指示用户已经选择了某个值。于是,我在窗体初始化或点击清空按钮的代码中更改了属性Checked的值,即添加如下代码:

C#代码:
this.dtp_firsttime.Checked = false;

这样bug便解决了。

 

出处:http://1454396751.iteye.com/blog/2276801

以上是关于C#中Chart控件中将X轴设置为time时间格式后,如何设置时间范围的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Chart.js v2 中格式化 x 轴时间刻度值

【(VC/MFC)绘图控件TeeChart问题】如何设置X轴显示时间(vs2010)

c# chart控件在最开始的时候只显示两个坐标轴,其他的不显示怎么设置啊

Chart.js 轴标签字体大小

删除 chart.js 中的 x 轴标签/文本

devexpress chartcontrol 控件点击时获取x轴对应的值 最好c#代码