C#winform怎么用chart控件实时绘制采集到的速度和扭力曲线

2024-11-16 14:48:53
推荐回答(1个)
回答1:

给你一个例子
private void button1_Click(object sender, EventArgs e)
{
chart1.DataSource = GetData();
// Set series members names for the X and Y values
chart1.Series["Series1"].XValueMember = "Time";
chart1.Series["Series1"].YValueMembers = "City";

chart1.Series["Series2"].XValueMember = "Time";
chart1.Series["Series2"].YValueMembers = "Count";

// Data bind to the selected data source
chart1.DataBind();

// Set series chart type
chart1.Series["Series1"].ChartType = SeriesChartType.Line;
chart1.Series["Series2"].ChartType = SeriesChartType.Spline;
// Set point labels
chart1.Series["Series1"].IsValueShownAsLabel = true;
chart1.Series["Series2"].IsValueShownAsLabel = true;
// Enable X axis margin
chart1.ChartAreas["ChartArea1"].AxisX.IsMarginVisible = true;
// Enable 3D, and show data point marker lines
//chart1.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = true;
chart1.Series["Series1"]["ShowMarkerLines"] = "True";
chart1.Series["Series2"]["ShowMarkerLines"] = "True";

}

private DataTable GetData()
{
DataTable tableInfo = new DataTable();

DataColumn dctime = new DataColumn("Time", Type.GetType("System.String"));
DataColumn dcCity = new DataColumn("City", Type.GetType("System.String"));
DataColumn dcCount = new DataColumn("Count", Type.GetType("System.Int32"));
tableInfo.Columns.Add(dctime);
tableInfo.Columns.Add(dcCity);
tableInfo.Columns.Add(dcCount);
DataRow dr = tableInfo.NewRow();
dr["Time"] = "1:00";
dr["City"] = "10";
dr["Count"] = "15";
tableInfo.Rows.Add(dr);
DataRow dr1 = tableInfo.NewRow();
dr1["Time"] = "2:00";
dr1["City"] = "12";
dr1["Count"] = "19";
tableInfo.Rows.Add(dr1);
DataRow dr2 = tableInfo.NewRow();
dr2["Time"] = "3:00";
dr2["City"] = "13";
dr2["Count"] = "25";
tableInfo.Rows.Add(dr2);
DataRow dr3 = tableInfo.NewRow();
dr3["Time"] = "4:00";
dr3["City"] = "14";
dr3["Count"] = "10";
tableInfo.Rows.Add(dr3);

DataRow dr4 = tableInfo.NewRow();
dr4["Time"] = "5:00";
dr4["City"] = "15";
dr4["Count"] = "11";
tableInfo.Rows.Add(dr4);

DataRow dr5 = tableInfo.NewRow();
dr5["Time"] = "6:00";
dr5["City"] = "16";
dr5["Count"] = "17";
tableInfo.Rows.Add(dr5);

DataRow dr6 = tableInfo.NewRow();
dr6["Time"] = "7:00";
dr6["City"] = "17";
dr6["Count"] = "20";
tableInfo.Rows.Add(dr6);

DataRow dr7 = tableInfo.NewRow();
dr7["Time"] = "8:00";
dr7["City"] = "12";
dr7["Count"] = "13";
tableInfo.Rows.Add(dr7);
return tableInfo;
}