c#绘制图表winforms图表

时间:2016-11-27 13:21:25

标签: c# winforms c#-4.0 charts

我尝试绘制一个从BDD检索的图形(chartType = Line),在纵坐标上我自己的位置和小时的横坐标。 我想根据时间(到达地方的时间)绘制一条路线(地点),以便与其他路线进行比较。

但是我不能把字符串放在Y轴上。

Const string DB_CONN_STR = "SERVER=127.0.0.1; DATABASE=test7100; UID=root; PASSWORD=";

        MySqlConnection cn = new MySqlConnection(DB_CONN_STR);
        DataSet ds = new DataSet();
        DataTable dt = new DataTable();

        string sqlCmd = "SELECT  `PR4`, `DHT`, `DHR` FROM `table 4` WHERE 1";
            // PR4= place et DHT= time
            MySqlDataAdapter adr = new MySqlDataAdapter(sqlCmd, cn);
            adr.SelectCommand.CommandType = CommandType.Text;
            adr.Fill(dt);



        string[] x = new string[dt.Rows.Count];
        string[] y = new string[dt.Rows.Count];

        for (int i = 0; i < dt.Rows.Count; i++)
        {
            y[i] = dt.Rows[i][0].ToString();
            x[i] = dt.Rows[i][1].ToString();

        }

        for (int i = 0; i < dt.Rows.Count; i++)
        {
            grapheSillon.Series[0].Points.AddXY(x[i], y[i]);
        }

2 个答案:

答案 0 :(得分:0)

首先,谢谢你的回答。 我道歉,我错过了。

我明白我不能在横坐标或纵坐标上放置字符串。我放在Y轴上的解决方案:整数和X轴:格式为小时:“hh:mm:ss”。 但我还有两个问题要解决。

第一个:我必须显示两条在Y中具有相同坐标的曲线但在X中它是不同的(不同的时间) 当我显示我的两条曲线时,它是叠加的,我只得到一条曲线,它不会产生横坐标坐标的差异。

第二个问题是如何在Y轴上放置标签,即不显示int,而是显示字符串?

enter image description here

namespace OldApiService{
   [RoutePrefix("api/old/greeting")]
   public class GreetingController: ApiController{
       [Route("")]
       public string Get(){ return "hello from old api"; }
   }
}

namespace NewApiService{
   [RoutePrefix("api/new/greeting")]
   public class GreetingController: ApiController{
       [Route("")]
       public string Get(){ return "hello from new api"; }
   }
}

答案 1 :(得分:0)

在Y轴上添加字符串的解决方案

  for (int i = 0; i < dt.Rows.Count ; i++)
            {

                chart2.ChartAreas[0].AxisY.CustomLabels.Add(i, i + 1, label[i]);
            }