找回密码
 立即注册

QQ登录

只需一步,快速开始

ZenosZeng 讲师达人认证 悬赏达人认证

超级版主

299

主题

7874

帖子

1万

积分

超级版主

Rank: 8Rank: 8

积分
13131

活字格认证圣诞拼拼乐微信认证勋章讲师达人元老葡萄悬赏达人

ZenosZeng 讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-11-1 12:33  /   查看:5189  /  回复:0
Spread for WinForms 中同样提供了组合图表的功能,我们只需在图表区域中添加两种不同的图表系列就可以实现。

实现代码如下:
  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             StackedBarSeries stack = new StackedBarSeries();
  4.             stack.LabelVisible = true;
  5.             stack.YAxisId = 1;

  6.             BarSeries series0 = new BarSeries();
  7.             series0.Values.Add(8.0);
  8.             series0.Values.Add(4.0);
  9.             series0.Values.Add(2.0);
  10.             series0.Values.Add(1.0);

  11.             BarSeries series1 = new BarSeries();
  12.             series1.Values.Add(2.0);
  13.             series1.Values.Add(3.0);
  14.             series1.Values.Add(4.0);
  15.             series1.Values.Add(6.0);

  16.             stack.Series.Add(series0);
  17.             stack.Series.Add(series1);

  18.             LineSeries series2 = new LineSeries();
  19.             series2.PointMarker = new BuiltinMarker(MarkerShape.Circle, 7.0f);
  20.             series2.Values.Add(8.0);
  21.             series2.Values.Add(12.0);
  22.             series2.Values.Add(14.0);
  23.             series2.Values.Add(15.0);
  24.             series2.YAxisId = 1;
  25.             series2.LabelVisible = true;

  26.             ValueAxis y2 = new ValueAxis();
  27.             y2.AxisId = 1;
  28.             y2.AutoMaximum = true;
  29.             y2.AutoMinimum = true;
  30.             y2.LabelVisible = true;
  31.             y2.Location = AxisLocation.Far;

  32.             YPlotArea plotArea = new YPlotArea();
  33.             plotArea.Location = new PointF(0.2f, 0.2f);
  34.             plotArea.Size = new SizeF(0.6f, 0.6f);
  35.             plotArea.Series.Add(stack);
  36.             plotArea.Series.Add(series2);

  37.             plotArea.YAxes.Add(y2);

  38.             LabelArea label = new LabelArea();
  39.             label.Location = new PointF(0.5f, 0.02f);
  40.             label.AlignmentX = 0.5f;
  41.             label.AlignmentY = 0.0f;
  42.             label.Text = "组合图表";

  43.             ChartModel model = new ChartModel();
  44.             model.LabelAreas.Add(label);
  45.             model.PlotAreas.Add(plotArea);

  46.             fpSpread1.ActiveSheet.Charts[0].Model = model;

  47.         }
复制代码


运行截图:
46.png

源码下载:VS2010 + Spread .NET 6.0
6708_Chart_2.zip (11.58 KB, 下载次数: 532)

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部