C# 每次使用C从mysql更新图表时,图表范围都会越来越小#
我正在从mysql数据库中输入一个图表,我需要该图表每10秒更新一次,因此我使用计时器并将间隔设置为10000 问题是,每次更新,它总是变得越来越拥挤。一切都在缩小 以下是提供图表的代码: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 =
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代码>是的,昨天我试过了,但似乎没有效果,只是没有这样的系列。但后来我设法修复了它,清除了计时器块上的点。是的,昨天我尝试过,但它似乎不起作用,只是没有这样的系列。但后来我设法修复了它,清除了计时器块上的点。