繁体   English   中英

图表x轴最大值未正确设置

[英]Chart x-axis maximum value not being set correctly

我目前在C#Windows窗体应用程序(在Visual Studio 2013中)上有一个图表,可使用计时器在其上逐渐画一条线。 我尝试设置x轴和y轴的最小值和最大值,尽管y轴值已正确设置并按预期显示在图表上,但x轴范围未正确设置并停在某一点(大约17.9)。 这是我当前拥有的图表和计时器的代码:

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,如文本框中所示)后的屏幕截图:

在此处输入图片说明

您的错是在x值中。

当您将它们添加为字符串时,它们的值均为0因此除了在默认标签中显示它们之外,您无法对其进行任何操作。 没有格式,没有范围..

确保将它们转换为数字,也许是这样的:

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

注意:如果字符串包含有效数字,则y值会被系统转换,而x值不会。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM