Я застрял в этой проблеме.Мне нужно построить график, как показано ниже: Это позиция в каждой игре.Обратите внимание, что позиция каждого игрока изменяется во время большего количества игр.Я хотел бы построить линейный график с историей позиций каждого игрока по играм.Как я могу это сделать?
Изображение из DataTable Попробовал этот код, но он не отображается правильно.
protected void Chart1_Load(object sender, EventArgs e)
{
dt = new DataTable();
dt_jogadores = new DataTable();
con = new MySqlConnection(OnfsDBCon);
con.Open();
string query_jogadores = "SELECT stackbr_tbl_jogadores.nome FROM stackbr_tbl_jogadores;";
string fullquery = "SELECT stackbr_tbl_ranking.posicao, stackbr_tbl_ranking.id_jogos, stackbr_tbl_jogadores.nome " +
"FROM stackbr_tbl_ranking, stackbr_tbl_jogadores " +
"WHERE stackbr_tbl_ranking.id_jogador = stackbr_tbl_jogadores.id;";
adapt = new MySqlDataAdapter(fullquery, con);
adapt_jogadores = new MySqlDataAdapter(query_jogadores, con);
adapt_jogadores.Fill(dt_jogadores);
adapt.Fill(dt);
if (dt_jogadores.Rows.Count > 0)
{
Chart1.DataSource = dt_jogadores;
foreach (DataRow row_jogadores in dt_jogadores.Rows)
{
string series_jogador = row_jogadores["nome"].ToString();
Chart1.Series.Add(series_jogador);
}
}
if (dt.Rows.Count > 0)
{
List<string> xvals = new List<string>();
List<decimal> yvals = new List<decimal>();
Chart1.DataSource = dt;
foreach (DataRow row in dt.Rows)
{
xvals.Add(row["id_jogos"].ToString());
yvals.Add(Convert.ToDecimal(row["posicao"].ToString()));
string series_jogador = row["nome"].ToString();
Chart1.Series[series_jogador].XValueMember = row["id_jogos"].ToString();
Chart1.Series[series_jogador].YValueMembers = row["posicao"].ToString();
Chart1.Series[series_jogador].Points.DataBindXY(xvals.ToArray(), yvals.ToArray());
}
Chart1.DataBind();
}
con.Close();
}