2016-04-29 5 views
0

を設定されていません。 Y軸の値が正しく設定されており、グラフに予想されるように、x軸の範囲が正しく設定されていない現れるとで停止するが、私は、x軸及びy軸の最小値と最大値を設定してしようとしましたある点(約17.9)。ここでは、チャートのコードと私が現在持っているタイマーです。またチャートのX軸の最大値は徐々にタイマーを使用してその上に線を描画(Visual Studioの2013年の)私は現在、私のC#Windowsフォームアプリケーションでのチャートを持って正しく

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++; 
    } 
} 

はあるべき、x軸の最大値に問題があることを(表示するために実行されると、ここではフォームのスクリーンショットです81.08)テキストボックスに示すように:

enter image description here

+0

あなたのせいではx値です。それらを文字列として追加すると、その値__allは0__ですので、デフォルトのラベルに表示する以外は何もできません。書式設定なし、範囲なし。 - 数字に変換してください! - 注:文字列に有効な数字が含まれている場合、y値は変換されますが、x値は変換されません。 – TaW

+0

Btw:本当にファイルをもう一度読み込みますか?または彼らは変化している.. ???ファイルの内容は、私がする必要があるので、プログラムが実行されるたびに変更@TaW – TaW

+0

そのたびに再読み込み。私は整数値でテキストボックスを読み込む行を置き換える場合でもので、それは値が文字列であることに問題だとよく分からない、すなわち「chart1.ChartAreas [0] .AxisX.Maximum = 82;」プログラムはまだ正しく動作しません。 –

答えて

0

あなたのせいではx値です。

それらの値全てがそうあなたがデフォルトのラベルでそれらを表示する以外彼らと何もできない0される文字列として、あなたはそれらを追加します。書式なし、なしの範囲..

多分このように、番号に変換することを確認してください:

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

注:文字列が有効な数字が含まれている場合はy値は、システムによって変換されたのですかが、 x値にはない..

関連する問題