如果值是时间,如何为X轴显示网格 [英] How to Show Grid for X axis if value is time

查看:46
本文介绍了如果值是时间,如何为X轴显示网格的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我显示图表的代码是

DataTable dt;
                dt = objDataAccess.GetDataTable("select * from test");

                DataRow[] dr = dt.Select("pointname like '%CURRENT_PHASE_3%'");
                DataRow[] dr1 = dt.Select("pointname like '%CURRENT_PHASE_1%'");
                DataRow[] dr2 = dt.Select("pointname like '%CURRENT_PHASE_2%'");


                DataTable dt1 = new DataTable();
                dt1.Columns.Add("amp1", typeof(string));
                dt1.Columns.Add("amp2", typeof(string));
                dt1.Columns.Add("amp3", typeof(string));
                dt1.Columns.Add("time", typeof(DateTime));

                foreach (DataRow row in dr)
                {



                    DataRow ROW = dt1.NewRow();
                    ROW["amp3"] = row[0];
                    ROW["time"] = row[2];




                    dt1.Rows.Add(ROW);

                }
                int i = 0, x = 0;
                foreach (DataRow row1 in dr1)
                {
                    dt1.Rows[i]["amp1"] = row1[0]; i++;
                }
                foreach (DataRow row2 in dr2)
                {
                    dt1.Rows[x]["amp2"] = row2[0]; x++;
                }


                chart1.DataSource = dt1;

                chart1.Series["Phase1"].XValueMember = "time";
                chart1.Series["Phase1"].YValueMembers = "amp1";
                chart1.Series["Phase2"].YValueMembers = "amp2";
                chart1.Series["Phase2"].XValueMember = "time";
                chart1.Series["Phase3"].YValueMembers = "amp3";
                chart1.Series["Phase3"].XValueMember = "time";
                chart1.DataBind();
                chart1.Series["Phase1"].XValueType = ChartValueType.Time;
                chart1.ChartAreas[0].AxisX.LabelStyle.Format = "HH:mm";
                chart1.ChartAreas[0].AxisX.IntervalOffset = 1;
                chart1.ChartAreas[0].AxisX.IntervalOffsetType = DateTimeIntervalType.Hours;
                chart1.ChartAreas[0].AxisX.IsStartedFromZero = true;
                

我看起来像这样,但我想显示每一个小时后的时间

但是当我把代码加上
chart1.ChartAreas [0] .AxisX.Maximum = 24;得到错误

iIt looks like this but i want to show the time after every one Hour
but when i put code
chart1.ChartAreas[0].AxisX.Maximum = 24; getting error

推荐答案

您使用的是Excel Interop吗? 轴格式取自源表,因此您必须更改源数据的格式以更改图表中的结果。
Are you using Excel Interop?  The axis format is taken from the source table, so you must change the format of the source data to change the results in the graph.


这篇关于如果值是时间,如何为X轴显示网格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆