Il valore massimo dell’asse x del grafico non viene impostato correttamente

Al momento ho un grafico sulla mia applicazione Windows Form C # (in Visual Studio 2013) che disegna gradualmente una linea su di esso utilizzando un timer. Ho provato a impostare i valori minimo e massimo per gli assi xey e anche se i valori dell’asse y sono impostati correttamente e appaiono come previsto sul grafico, l’intervallo dell’asse x non viene impostato correttamente e si arresta a un certo punto (circa 17.9). Ecco il codice per il grafico e il timer che attualmente ho:

private void btnPlotGraph_Click(object sender, EventArgs e) { chart1.ChartAreas[0].AxisX.Minimum = 0; chart1.ChartAreas[0].AxisX.Maximum = double.Parse(txtTotalHorizontalDistance.Text); chart1.ChartAreas[0].AxisY.Minimum = 0 - double.Parse(txtInitialHeight.Text); chart1.ChartAreas[0].AxisY.Maximum = double.Parse(txtTotalVerticalDistance.Text); timer1.Tick += timer1_Tick; timer1.Start(); } private void timer1_Tick(object sender, EventArgs e) { string[] xCoordinates = File.ReadAllLines("H:\\Computing Coursework\\Code\\FormPrototype\\testX.txt"); string[] yCoordinates = File.ReadAllLines("H:\\Computing Coursework\\Code\\FormPrototype\\testY.txt"); chart1.Series["Projectile1"].Points.AddXY(xCoordinates[i], yCoordinates[i]); if (i >= xCoordinates.Length - 1) { timer1.Stop(); } else { i++; } } 

Inoltre, ecco uno screenshot del modulo una volta eseguito per mostrare il problema con il valore massimo dell’asse x (che dovrebbe essere 81.08 come mostrato nella casella di testo):

inserisci la descrizione dell'immagine qui

Il tuo difetto è nei valori x.

Quando li aggiungi come stringhe, i loro valori sono tutti 0 quindi non puoi fare nulla con loro, tranne che visualizzarli nelle etichette predefinite. Nessuna formattazione, nessuna distanza ..

Assicurati di convertirli in un numero, forse in questo modo:

  string[] xStringCoordinates = File.ReadAllLines(yourFileName); double[] xCoordinates = xStringCoordinates.Select(x => Convert.ToDouble(x)).ToArray(); 

Nota: se le stringhe contengono numeri validi, i valori y vengono convertiti dal sistema ma i valori x non lo fanno.