您的位置:首页 > 编程语言 > C#

C#中的chart横坐标显示日期和时间格式问题

2014-11-07 11:11 2081 查看
我们在C#中画图表,经常会使用到chart这个控件。在进行添加数据时,横坐标可以是数值型的数据,如int、float等。也可以是datatime型的数据。

但是在使用datatime型数据做x坐标时,经常会发现只会显示到日期,即 年-月-日。

那么怎么显示精确到年-月-日 时:分:秒  格式呢?

答案很简单,只要设置下chart的chartArea里面的属性就行。即

chart1.ChartAreas["ChartArea1"].AxisX.LabelStyle.Format = "yyyy-MM-dd-HH:mm:ss";

就OK了

另外你有可能需要鼠标停留在chart1上曲线上某点上时,弹出该点的坐标。但此时直接获取的x点坐标很可能是一个double值,而不是datetime格式的,怎么办呢?

答:用DateTime.FromOADate(e.xValue); //括号内为你获取的点的横坐标

例码如下

private void chart_main_GetToolTipText(object sender, ToolTipEventArgs e)//这是chart的gettooltip事件的映射函数
{
if (e.HitTestResult.ChartElementType == ChartElementType.DataPoint)
{
int i = e.HitTestResult.PointIndex;
DataPoint dp = e.HitTestResult.Series.Points[i];
DateTime dt = DateTime.FromOADate(dp.XValue);//将double的xvalue转换为datetime形式

//分别显示x轴和y轴的数值,其中{1:F2},表示显示的是float类型,精确到小数点后2位。
e.Text = string.Format("时间:{0};数值:{1:F2} ", dt, dp.YValues[0]);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: