用C#实现MSCharts的快速绘图
本文关键字:绘图 MSCharts 实现 | 更新日期: 2023-09-27 18:28:32
我需要每1ms使用C#更新MS图表中的FastLine图。我有两个2048个元素的数组,一个用于X值(xValue
),另一个用于Y值(yValue
)。目前我是这样做的:
chart1.Series[0].Points.Clear();
for (int i = 0; i < 2048; i++)
{
chart1.Series[0].Points.AddXY(xValue[i], yValue[i]);
}
问题是这很慢(我需要的速度的5%)。。。
如何以更快、更高效的方式完成
你试过这样的东西吗:
// initialize a connection string
string myConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileNameString;
// define the database query
string mySelectQuery="SELECT Name, Sales FROM REPS WHERE RegionID < 3;";
// create a database connection object using the connection string
OleDbConnection myConnection = new OleDbConnection(myConnectionString);
// create a database command on the connection using query
OleDbCommand myCommand = new OleDbCommand(mySelectQuery, myConnection);
// open the connection
myCommand.Connection.Open();
// create a database reader
OleDbDataReader myReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
// since the reader implements and IEnumerable, pass the reader directly into
// the DataBind method with the name of the Column selected in the query
Chart1.Series["Default"].Points.DataBindXY(myReader, "Name", myReader, "Sales");
它直接取自DatabaseBindingXY.cs中的MSChart项目。
它可能比在数据集中循环更快。
我建议您下载用于Microsoft Chart Controls 的示例环境