Spread for WinForms 中同样提供了组合图表的功能,我们只需在图表区域中添加两种不同的图表系列就可以实现。
实现代码如下: private void Form1_Load(object sender, EventArgs e) { StackedBarSeries stack = new StackedBarSeries(); stack.LabelVisible = true; stack.YAxisId = 1; BarSeries series0 = new BarSeries(); series0.Values.Add(8.0); series0.Values.Add(4.0); series0.Values.Add(2.0); series0.Values.Add(1.0); BarSeries series1 = new BarSeries(); series1.Values.Add(2.0); series1.Values.Add(3.0); series1.Values.Add(4.0); series1.Values.Add(6.0); stack.Series.Add(series0); stack.Series.Add(series1); LineSeries series2 = new LineSeries(); series2.PointMarker = new BuiltinMarker(MarkerShape.Circle, 7.0f); series2.Values.Add(8.0); series2.Values.Add(12.0); series2.Values.Add(14.0); series2.Values.Add(15.0); series2.YAxisId = 1; series2.LabelVisible = true; ValueAxis y2 = new ValueAxis(); y2.AxisId = 1; y2.AutoMaximum = true; y2.AutoMinimum = true; y2.LabelVisible = true; y2.Location = AxisLocation.Far; YPlotArea plotArea = new YPlotArea(); plotArea.Location = new PointF(0.2f, 0.2f); plotArea.Size = new SizeF(0.6f, 0.6f); plotArea.Series.Add(stack); plotArea.Series.Add(series2); plotArea.YAxes.Add(y2); LabelArea label = new LabelArea(); label.Location = new PointF(0.5f, 0.02f); label.AlignmentX = 0.5f; label.AlignmentY = 0.0f; label.Text = "组合图表"; ChartModel model = new ChartModel(); model.LabelAreas.Add(label); model.PlotAreas.Add(plotArea); fpSpread1.ActiveSheet.Charts[0].Model = model; } 复制代码运行截图: 源码下载:VS2010 + Spread .NET 6.0
|
关于葡萄城
赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。
了解详情,请访问葡萄城官网。