1、整理对应图形后去的数据集合,datatable dtchart 通过dtchart 进行图形数据显示;
2、设置chart控件,引用chartdev的dll,当前控件为chartControl1
3、初始化chart基本属性
Series s1 = this.chartControl1.Series[0];
s1.DataSource = dtchart ;
s1.ArgumentDataMember = ConstColumnName.COLUMN_XNAME;
s1.ValueDataMembers[0] = ConstColumnName.COLUMN_STAYNAME;
s1.LegendText = ConstColumnName.COLUMN_STAYNAME;
DevExpress.XtraCharts.XYDiagram xyDiagram1 = (XYDiagram)this.chartControl1.Diagram;
//xyDiagram1.AxisX.Range.MaxValueInternal = 12;
xyDiagram1.EnableAxisXScrolling = true;//X轴是否允许滚动
xyDiagram1.EnableAxisXZooming = true;//X轴是否允许缩放
xyDiagram1.PaneLayoutDirection = PaneLayoutDirection.Horizontal;//窗格的对齐方式
xyDiagram1.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;//x轴是扫描轴,时间类型
xyDiagram1.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Year;//测量单位是秒这样才能显示到秒
xyDiagram1.AxisX.DateTimeScaleOptions.GridAlignment = DateTimeGridAlignment.Year;
xyDiagram1.AxisX.Label.ResolveOverlappingOptions.AllowHide = false;
//xyDiagram1.AxisX.DateTimeScaleOptions.GridSpacing = 6;//
xyDiagram1.AxisX.WholeRange.MinValue = (m_ccdt.Rows[0])["x坐标字段名称"];
xyDiagram1.AxisX.WholeRange.MaxValue = (m_ccdt.Rows[m_ccdt.Rows.Count - 1])["x坐标字段名称"];
xyDiagram1.AxisX.VisualRange.MinValue = (m_ccdt.Rows[0])["x坐标字段名称"];//这个玩意好像是设置滚动轴的
xyDiagram1.AxisX.VisualRange.MaxValue = (m_ccdt.Rows[5])["x坐标字段名称"];
AxisX xAxis = xyDiagram1.AxisX;//获取X轴
xAxis.Alignment = AxisAlignment.Near;//指定轴相对于另一主轴的位置。属性 AxisAlignment.Zero 设置仅对主轴可用
xAxis.Title.Alignment = StringAlignment.Far;
xAxis.Title.Text = "投产年月";//设置轴标题
xAxis.Title.Visibility = DevExpress.Utils.DefaultBoolean.True; //是否显示轴标题
xAxis.Label.TextPattern = "";
//xAxis.Label.Angle = -10;//设置轴标签文本旋转的角度
xAxis.Label.EnableAntialiasing = DevExpress.Utils.DefaultBoolean.Default;//获取或设置是否对轴标签的文本应用反走样(平滑)
//xAxis.Label.Staggered = true;//轴标签是否是交错排列的
xAxis.WholeRange.Auto = false;
//xAxis.WholeRange.MaxValue = 70;
//xAxis.WholeRange.MinValue = -70;
AxisY yAxis = xyDiagram1.AxisY;//获取Y轴
yAxis.Alignment = AxisAlignment.Near;//指定轴相对于另一主轴的位置。属性 AxisAlignment.Zero 设置仅对主轴可用
yAxis.Title.Text = "y坐标字段名称";//设置轴标题
yAxis.Title.Alignment = StringAlignment.Far;
yAxis.Title.Visibility = DevExpress.Utils.DefaultBoolean.True; //是否显示轴标题
yAxis.Label.TextPattern = "";
//yAxis.WholeRange.Auto = false;
//yAxis.WholeRange.MaxValue = 14;
//yAxis.WholeRange.MinValue = -1;
//xyDiagram1.AxisY.AutoScaleBreaks.Enabled = true;
//xyDiagram1.AxisY.AutoScaleBreaks.MaxCount = 5;
PointSeriesView myView1 = (PointSeriesView)s1.View;//转换系列的视图类型为点类型
myView1.PointMarkerOptions.Kind = MarkerKind.Circle;//标记的形状
myView1.PointMarkerOptions.StarPointCount = 5;//设置星形标记具有的点数
myView1.PointMarkerOptions.Size = 8;//标记大小
DevExpress.XtraCharts.ChartTitle _title = new ChartTitle();
_title.Text = "标题名称自己随便写";
chartControl1.Titles.Add(_title);