C# 每次使用C从mysql更新图表时,图表范围都会越来越小#

C# 每次使用C从mysql更新图表时,图表范围都会越来越小#,c#,mysql,charts,C#,Mysql,Charts,我正在从mysql数据库中输入一个图表,我需要该图表每10秒更新一次,因此我使用计时器并将间隔设置为10000 问题是,每次更新,它总是变得越来越拥挤。一切都在缩小 以下是提供图表的代码: void llenargrafica() { string query_grafica = "select * from humedad,presion,temperatura,viento;"; MySqlCommand cmd_query_grafica =

我正在从mysql数据库中输入一个图表,我需要该图表每10秒更新一次,因此我使用计时器并将间隔设置为10000

问题是,每次更新,它总是变得越来越拥挤。一切都在缩小

以下是提供图表的代码:

void llenargrafica()
    {

        string query_grafica = "select * from humedad,presion,temperatura,viento;";

        MySqlCommand cmd_query_grafica = new MySqlCommand(query_grafica, conn);
        MySqlDataReader leergrafica;
        try
        {
            conn.Open();

            leergrafica = cmd_query_grafica.ExecuteReader();
            while (leergrafica.Read())
            {
                this.chart1.Series["Humedad"].Points.AddXY(leergrafica.GetString("hum_nombre_sensor"), leergrafica.GetFloat("hum_dato"));
                this.chart1.Series["Temperatura"].Points.AddXY(leergrafica.GetString("temp_nombre_sensor"), leergrafica.GetFloat("temp_dato"));
                this.chart1.Series["Presión"].Points.AddXY(leergrafica.GetString("pre_nombre_sensor"), leergrafica.GetFloat("pre_dato"));
                this.chart1.Series["Viento"].Points.AddXY(leergrafica.GetString("vie_nombre_sensor"), leergrafica.GetFloat("vie_dato"));
            }



        } catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
        conn.Close();
        chart1.Update();

    }

    public Reporte_Detallado()
    {
        InitializeComponent();
        llenargrafica();
    }
这是计时器代码

 private void timer1_Tick(object sender, EventArgs e)
    {
        llenargrafica();
    }

您只是在不断地向同一空间添加数据点,当然它会变得更加拥挤。如果只想显示当前数据,则需要先清除点。您可以在
timer1\u Tick
块或
llenargrafica
块中执行此操作

您可以使用
ChartName.Series[0]。Points.Clear()

要一次清除所有点(从零开始图形),或者可以使用
ChartName.Series[0]。Points.RemoveAt(0)

如果你想显示一定数量的数据,你可以计算你的分数
ChartName.Series[0].Points.Count

您只是在不断地向同一空间添加数据点,当然它会变得更加拥挤。如果只想显示当前数据,则需要先清除点。您可以在
timer1\u Tick
块或
llenargrafica
块中执行此操作

您可以使用
ChartName.Series[0]。Points.Clear()

要一次清除所有点(从零开始图形),或者可以使用
ChartName.Series[0]。Points.RemoveAt(0)

如果你想显示一定数量的数据,你可以计算你的分数
ChartName.Series[0].Points.Count

是的,昨天我试过了,但似乎没有效果,只是没有这样的系列。但后来我设法修复了它,清除了计时器块上的点。是的,昨天我尝试过,但它似乎不起作用,只是没有这样的系列。但后来我设法修复了它,清除了计时器块上的点。