如何在图表控件中设置时间的最小值,最大值和间隔值(点图表)

时间:2016-02-16 06:15:01

标签: c# winforms

我通过存储过程获取了过去24小时的数据,我想将这些数据绘制到点图表中。 SP的结果是

enter image description here

X轴上的

:LocationName ..... 在Y轴上:TrackTimeStamp

我写了以下代码来绘制点

 SqlConnection con = new SqlConnection(@"Data Source=10.182.37.210;Initial Catalog=ECSGCore_QA2;User Id=sa;pwd=sa@1234;");
            con.Open();
            SqlCommand cmd = new SqlCommand("Sp_GetAssetLocation",con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@AssetId", 32);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            chart1.DataSource = dt;
            chart1.ChartAreas["ChartArea1"].AxisX.Title = "Location";
            chart1.ChartAreas["ChartArea1"].AxisY.Title = "Time";
            //chart1.ChartAreas["ChartArea1"].AxisY.Minimum = 
            //chart1.ChartAreas["ChartArea1"].AxisY.Maximum = 
            //chart1.ChartAreas["ChartArea1"].AxisY.Interval = 
            chart1.Series["Series1"].XValueMember = "LocationName";
            chart1.Series["Series1"].YValueMembers = "TrackTimeStamp";
            con.Close();

我的结果是:

enter image description here

我的问题:

  1. 如何设置最小值,如0:00/12:00 AM和最大值,如24:00/12:00 PM ??
  2. 我想从2开始设置2小时的间隔 凌晨12:00至中午12:00。怎么可能?
  3. 当我放大我的图表时 间隔时间应从2小时变为1小时。可能吗?怎么样 完成我的任务?
  4. 位置名称应该是不同的。 " Eitra_FirstFloor_2"显示4次。
  5. 如何制作点的链接(超链接)。点击事件上的其他信息显示。

1 个答案:

答案 0 :(得分:1)

在图表中,时间表示为double,min(0:00)= 0.0,max(24:00)= 1.0。 设置最小值和最大值:

# Copied from root to site source files by maven-resources-plugin
/src/site/markdown/README.md

在这种情况下,minX设置为cca 17:00(17/24 = 0.7)

我相信间隔设置方式相同