先看成图
如果是您需要的效果,请往后看:
//曲线
Color[] Colorlist = new Color[7] { Color.FromArgb(255, 79, 129, 189), Color.FromArgb(255, 192, 80, 77), Color.FromArgb(255, 155, 187, 89), Color.FromArgb(255, 128, 100, 162), Color.FromArgb(255, 75, 172, 198), Color.FromArgb(255, 247, 150, 70), Color.FromArgb(255, 253, 63, 238) };
pointMlist = pointMlist.OrderBy(a => a.DailyInjDate).ToList(); // pointMlist 为一个List,X轴为时间,所以先按时间排序
Series Series = new Series("压力", DevExpress.XtraCharts.ViewType.Spline);
Series.DataSource = pointMlist;
Series.ArgumentScaleType = ScaleType.Qualitative;
Series.ArgumentDataMember = "DateFormat"; //以数据源的哪一行为参数 DateFormat:字段名,在list集合中
Series.ValueScaleType = ScaleType.Numerical; //以数据的形式展示
Series.ValueDataMembers.AddRange(new string[] { "DailyPress" }); //需要展示的数据 DailyPress:字段名,在list集合中
chartCtrlLine.Series.Add(Series); //添加至chartControl
Series.View = new DevExpress.XtraCharts.SplineSeriesView() { Color = Colorlist[0] };
XYDiagram diagram = (XYDiagram)chartCtrlLine.Diagram;
Color color = Series.View.Color;//设置坐标的颜色和图表线条颜色一致
diagram.AxisY.Label.TextColor = color;
diagram.AxisY.Color = color;
if (((XYDiagram)chartCtrlLine.Diagram).SecondaryAxesY.Count >= 0) { ((XYDiagram)chartCtrlLine.Diagram).SecondaryAxesY.Clear(); }
Series Series1 = new Series("温度", DevExpress.XtraCharts.ViewType.Spline);
Series1.DataSource = pointMlist;
Series1.ArgumentScaleType = ScaleType.Qualitative;
Series1.ArgumentDataMember = "DateFormat"; //以数据源的哪一行为参数
Series1.ValueScaleType = ScaleType.Numerical; //以数据的形式展示
Series1.ValueDataMembers.AddRange(new string[] { "DailyTemperature" }); //需要展示的数据
chartCtrlLine.Series.Add(Series1); //添加至chartControl
Series1.View = new DevExpress.XtraCharts.SplineSeriesView() { Color = Colorlist[1] };
CreateAxisY(Series1); 创建第二坐标轴
Series Series2 = new Series("流量", DevExpress.XtraCharts.ViewType.Spline);
Series2.DataSource = pointMlist;
Series2.ArgumentScaleType = ScaleType.Qualitative;
Series2.ArgumentDataMember = "DateFormat"; //以数据源的哪一行为参数
Series2.ValueScaleType = ScaleType.Numerical; //以数据的形式展示
Series2.ValueDataMembers.AddRange(new string[] { "InjDaily" }); //需要展示的数据
chartCtrlLine.Series.Add(Series2); //添加至chartControl
Series2.View = new DevExpress.XtraCharts.SplineSeriesView() { Color = Colorlist[2] };
CreateAxisY(Series2);创建第二坐标轴
//多重坐标轴,颜色与折现一致
private SecondaryAxisY CreateAxisY(Series series)
{
SecondaryAxisY myAxis = new SecondaryAxisY(series.Name);
((XYDiagram)chartCtrlLine.Diagram).SecondaryAxesY.Add(myAxis);
((LineSeriesView)series.View).AxisY = myAxis;
myAxis.Title.Text = "";
myAxis.Title.Alignment = StringAlignment.Far; //顶部对齐
myAxis.Title.Font = new Font("宋体", 9.0f);
Color color = series.View.Color;//设置坐标的颜色和图表线条颜色一致
myAxis.Title.TextColor = color;
myAxis.Label.TextColor = color;
myAxis.Color = color;
return myAxis;
}
完成