1、设置Lable类型
m_TChartTest.Series(0).GetMarks().SetVisible(TRUE)//显示第一条曲线的标记
m_TChartTest.Series(0).GetMarks().SetStyle(0)// 设置Lable的类型:0-Y轴数值;1-Y轴数值(百分数);2-X轴数值;3-X轴和Y轴数值(百分数);4-X轴和Y轴数值
2、添加点(AddXY方法或Add方法)
m_TChartTest.Series(0).Add(123, "9月", RGB(0,0,0))// 第一个参数是y轴值,第二个参数是对应的x轴的标签值(此为当前时间字符串),第三个参数是所绘点的颜色。
m_TChartTest.Series(0).AddXY(i, m_vMaterial[i].fQuantity, strLable, RGB(255,0,0))// 添加X、Y轴的值
您可以试一下:)
绘制的点一直是方形
原因如下:series->setUseOpenGL(true)//openGl 加速
也就是说不能使用openFL加速
LightningChart的一个优点:在图中,通过鼠标滚轮,轻松实现放大缩小功能,便于观察曲线细节,下图为缩小放大效果:
绘制曲线的代码:
using Systemusing System.Collections.Genericusing System.ComponentModelusing System.Datausing System.Drawingusing System.Linqusing System.Textusing System.Threading.Tasksusing System.Windows.Forms//添加引用集using Arction.WinForms.Chartingusing Arction.WinForms.Charting.SeriesXYnamespace WindowsFormsApplication5{public partial class Form1 : Form{public Form1(){InitializeComponent()}//画线方法private void PaintLine(){DataBaseOpe ope = new DataBaseOpe()//禁用属性改变引起的重画,以便更快的渲染lightningChartUltimate1.BeginUpdate()//lightningChartUltimate1.Dock = DockStyle.Fill//添加点线系列PointLineSeries pls = new PointLineSeries(lightningChartUltimate1.ViewXY,lightningChartUltimate1.ViewXY.XAxes[0],lightningChartUltimate1.ViewXY.YAxes[0])//显示点pls.PointsVisible = falseSeriesPoint[] aPoints = new SeriesPoint[1000]for (int iPoint = 0 iPoint < ope.GetXmax() + 1 iPoint++){aPoints[iPoint].X = (double)iPointaPoints[iPoint].Y = ope.GetYvalue(iPoint)}//为点线系列分配数据pls.Points = aPoints//将点线系列添加进列表lightningChartUltimate1.ViewXY.PointLineSeries.Add(pls)//允许Chart绘图lightningChartUltimate1.EndUpdate()}
private void buttonGO_Click(object sender, EventArgs e){DataBaseOpe ope = new DataBaseOpe()PIDdeal pid = new PIDdeal()//LightningChart初始化lightningChartUltimate1.ViewXY.PointLineSeries.Clear()//数据库初始化:清空数据库ope.ClearDataBase()//PID变量初始化pid.PIDinit()pid.SetValue = double.Parse(textBoxSetValue.Text)double p = double.Parse(textBoxKp.Text)double i = double.Parse(textBoxKi.Text)double d = double.Parse(textBoxKd.Text)for(int j = 0j < 1000j++){ope.AddData(j, pid.PIDcontrol(pid.SetValue, p, i, d))}PaintLine()}}}
实现上面图中效果,需要用到数据库 *** 作和PID算法来实现,加上一个timer控件还可以实现实时曲线的绘制,
上图包含多种图表绘制的例子,可自定义实现数据可视化 *** 作。
(简数科技 技术支持 免费中文)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)