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

我们在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]);
    }  

}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值