为了弄一个实时数据显示的窗口,最近一周时间都耗在这个控件上了,属性有点多(下面列的是一些常用的)
后来干脆写代码把他们封装起来,各个chart直接来调用它,省得到属性里面去设置。
chart内的一些元素:
chart控件的主要两个属性为 chartAreas和Series。
void chartProperty(Chart chartName) //封装 图表属性 { //chartAreas属性 (图表区域) chartName.ChartAreas[0].BackColor = Color.Black; //背景颜色:黑(此处设为黑,其他设为白 才可看见) chartName.ChartAreas[0].BorderColor = Color.White ; //边框颜色:白 chartName.ChartAreas[0].AxisX.LabelStyle.ForeColor = Color.White; chartName.ChartAreas[0].AxisX.Title = "时间"; //X轴标题为“时间” chartName.ChartAreas[0].AxisX.TitleForeColor = Color.White; //“时间”颜色为白色 chartName.ChartAreas[0].AxisX.Maximum = 60; chartName.ChartAreas[0].AxisX.Minimum = 0; chartName.ChartAreas[0].AxisX.Interval = 5; //轴刻度间隔 chartName.ChartAreas[0].AxisX.LineColor = Color.White; //轴线颜色 chartName.ChartAreas[0].AxisX.MajorGrid.LineColor = Color.White; chartName.ChartAreas[0].AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dash;//网格刻线为虚线、白色 //series属性 图表数据集 //chartName .Series [0].XValueMember = //chartName .Series [0].YValueMembers = chartName.Series[0].ChartType = SeriesChartType.Spline; //图表类型 样条曲线 chartName.Series[0].Color = Color.Green; //图形颜色 绿色 chartName.Series[0].BorderWidth = 4; //曲线宽度 4 //曲线上边 每个数的标记 chartName.Series[0].MarkerColor = Color.Red; chartName.Series[0].MarkerBorderColor = Color.Yellow; chartName.Series[0].MarkerBorderWidth = 2; chartName.Series[0].MarkerStyle = MarkerStyle.Circle; //圆形标记 chartName.Series[0].IsValueShownAsLabel = true; //曲线上的数字是否显示 chartName.Series[0].LabelForeColor = Color.White; //曲线上数字颜色 }
当然还有chart本身的size、name、anchor、backcolor、datasource等属性,还有chartAreas的position属性也是需要设置的。
//窗口最小化的情况下 ,排列好位置 void minHua() { chartAmperage.Height = 75; chartAmperage.Top = 0; chartVoltage.Height = 75; //高度, 上边缘 chartVoltage.Top = 78; chartWFS.Height = 75; chartWFS.Top = 156; chartWeldScore.Height = 75; chartWeldScore.Top = 234; chartGSF.Height = 75; chartGSF.Top = 312; }
用两个定时器组件 实现数据实时显示
也可参考:C# chart控件实时动态显示数据