我尝试绘制我从bdd中检索的图形(ChartType = line),在我自己的位置和小时的横坐标上。我想根据时间(通过到该地点的时间)与其他路线进行绘制路线(地点)。
,但我不能将字符串放在斧头上。
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]);
}
首先,谢谢您的回答。我很抱歉,我有拼写错误。
我知道我无法将琴弦放在横坐标或纵标上。我放入Y轴的解决方案:整数和X轴:格式的小时:" HH:MM:SS"。但是我还有两个问题要解决。
第一个:我必须显示两个在y中具有相同坐标的曲线,但在x中是不同的(不同的时间)当我显示两条曲线时,它是叠加的,我只会得到一条曲线,它不会使Abscissa坐标有所不同。
第二个问题是如何将标签放在y轴上,即而不是显示int,我显示字符串?
在此处输入图像描述
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];
string[] z= new string[dt.Rows.Count]
for (int i = 0; i < dt.Rows.Count; i++)
{
y[i] = dt.Rows[i][0].ToString(); // place
x[i] = dt.Rows[i][1].ToString(); // theoretical hour format : "hh:mm:ss"
z[i] = dt.Rows[i][1].ToString(); // real hour format : "hh:mm:ss"
}
int j= dt.rows.count //j=33
for (int i = 0; i < dt.Rows.Count; i++)
{
grapheSillon.Series["théorique"].Points.AddXY(x[i], j);
grapheSillon.Series["réel"].Points.AddXY(z[i], j);
j=j-1
}
在y轴上添加字符串的解决方案
for (int i = 0; i < dt.Rows.Count ; i++)
{
chart2.ChartAreas[0].AxisY.CustomLabels.Add(i, i + 1, label[i]);
}