使用Dundas Chart控件制作一个模拟的逼真图

来源:互联网 发布:海淘网站大全 知乎 编辑:程序博客网 时间:2024/04/27 13:52

 

使用Dundas Chart 组件开发如上图,以下代码是在VS2003开发环境中运行的。在页面中加一个Dundas Chart 组件,并在Page_Load中调用SetChart1()函数即可(参数在0-10之间赋值)。

调用代码:

private void Page_Load(object sender, System.EventArgs e)
  {
   if(!Page.IsPostBack)
   {    
    SetChart1(1.5,2.5,3,8);
    SetChart2(1.5,8,3);
    SetChart3(4.2,3.8,7,9,9.9);
    SetChart4(10,6.3,2);
   }
  }

各函数:

/// <summary>
  /// 计划管理技能
  /// </summary>
  /// <param name="par1">时间管理</param>
  /// <param name="par2">规划安排</param>
  /// <param name="par3">目标设置</param>
  /// <param name="par4">战略制定</param>
  private void SetChart1(double par1,double par2,double par3,double par4)
  {
   //图的类型、颜色、粗细
   Chart1.Height = Unit.Parse("368px");
   Chart1.Height = Unit.Parse("450px");
   Chart1.Series["Series1"].Type = SeriesChartType.Line;
   Chart1.Series["Series1"].BorderColor = Color.DarkOrange;
   Chart1.Series["Series1"].Color= Color.DarkOrange;
   Chart1.Series["Series1"].BorderWidth = 3;
   Chart1.Series["Series1"].BorderStyle = ChartDashStyle.Solid;
   //出图类型
   Chart1.ImageType = ChartImageType.Jpeg;

   Chart1.Series["Series1"].MarkerStyle = MarkerStyle.Circle;
   Chart1.Series["Series1"].MarkerSize = 8;

   //邦定数据
   Chart1.Series["Series1"].Points.AddXY(par1,5);
   Chart1.Series["Series1"].Points.AddXY(par2,25);
   Chart1.Series["Series1"].Points.AddXY(par3,45);
   Chart1.Series["Series1"].Points.AddXY(par4,65);

   //设置Y1值
   Font myFont2 = new Font("楷体",10);
   Chart1.ChartAreas["Default"].AxisY.LabelStyle.Font = myFont2;
   int elementY = Chart1.ChartAreas["Default"].AxisY.CustomLabels.Add(1,10,"时间管理");
   elementY = Chart1.ChartAreas["Default"].AxisY.CustomLabels.Add(20,30,"规划安排");
   elementY = Chart1.ChartAreas["Default"].AxisY.CustomLabels.Add(40,50,"目标设置");
   elementY = Chart1.ChartAreas["Default"].AxisY.CustomLabels.Add(60,70,"战略制定");


   //
   Chart1.ChartAreas["Default"].BackColor = Color.Green;
   Chart1.ChartAreas["Default"].AxisX.MinorGrid.Enabled = false;

   Chart1.ChartAreas["Default"].AxisX.Minimum = 1;
   Chart1.ChartAreas["Default"].AxisX.Maximum = 10;
   Chart1.ChartAreas["Default"].AxisX.Interval = 1;

   // Set Grid lines and tick marks interval  设置虚线及其样式的代码
   Chart1.ChartAreas["Default"].AxisX.MajorGrid.Interval = 3;
   Chart1.ChartAreas["Default"].AxisX.MajorGrid.LineColor = Color.White;
   Chart1.ChartAreas["Default"].AxisX.MajorGrid.LineWidth = 2;
   // Set Line Style
   Chart1.ChartAreas["Default"].AxisX.MajorGrid.LineStyle = ChartDashStyle.Dot;

   Chart1.ChartAreas["Default"].AxisX.LineColor = Color.Black;
   Chart1.ChartAreas["Default"].AxisX.LineWidth = 3;

   Chart1.ChartAreas["Default"].AxisX2.LabelsAutoFit = false;
   Chart1.ChartAreas["Default"].AxisX2.Minimum = 1;
   Chart1.ChartAreas["Default"].AxisX2.Maximum = 10;
   Chart1.ChartAreas["Default"].AxisX2.MajorGrid.LineStyle = ChartDashStyle.NotSet;  //取消X2的竖线
   Font myFont1 = new Font("楷体",10);
   Chart1.ChartAreas["Default"].AxisX2.LabelStyle.Font = myFont1;
   Chart1.ChartAreas["Default"].AxisX2.CustomLabels.Add(2,3,"较低");
   Chart1.ChartAreas["Default"].AxisX2.CustomLabels.Add(5,6,"中等");
   Chart1.ChartAreas["Default"].AxisX2.CustomLabels.Add(8,9,"较高");

   Chart1.ChartAreas["Default"].AxisX2.Enabled = AxisEnabled.True;
   Chart1.ChartAreas["Default"].AxisX2.LineColor = Color.Black;
   Chart1.ChartAreas["Default"].AxisX2.LineWidth = 3;

   Chart1.ChartAreas["Default"].AxisY.MajorGrid.LineStyle = ChartDashStyle.NotSet;

   Chart1.ChartAreas["Default"].AxisY.LineColor = Color.Black;
   Chart1.ChartAreas["Default"].AxisY.LineWidth = 3;

   //显示Y2
   Chart1.ChartAreas["Default"].AxisY2.Enabled = AxisEnabled.True;
   //去掉Y2的值
   Chart1.ChartAreas["Default"].AxisY2.Minimum = 0;
   Chart1.ChartAreas["Default"].AxisY2.Maximum = 100;
   Chart1.ChartAreas["Default"].AxisY2.CustomLabels.Add(0,100,"");
   //取消Y2的竖线
   Chart1.ChartAreas["Default"].AxisY2.MajorGrid.LineStyle = ChartDashStyle.NotSet;
   Chart1.ChartAreas["Default"].AxisY2.LineColor = Color.Black;
   Chart1.ChartAreas["Default"].AxisY2.LineWidth = 4;

   //设置Legends
   //    Chart1.Legends["Default"].Docking = LegendDocking.Top;
   Chart1.Legends["Default"].Enabled = false;

   //设置标题
   Font myFont = new Font("楷体",10);
   Title title = new Title();
   title.Text = "能力水平";
   title.Font = myFont;
   title.Docking = Docking.Bottom;
   title.Color = Color.FromArgb(26, 59, 105);
   title.BackImageAlign = ChartImageAlign.Bottom;
   Chart1.Titles.Add(title);

   //取消四个边框的毛线
   Chart1.ChartAreas["Default"].AxisX.MajorTickMark.Enabled = false;
   Chart1.ChartAreas["Default"].AxisX2.MajorTickMark.Enabled = false;
   Chart1.ChartAreas["Default"].AxisY.MajorTickMark.Enabled = false;
   Chart1.ChartAreas["Default"].AxisY2.MajorTickMark.Enabled = false;
  }

/// <summary>
  /// 组织管理技能
  /// </summary>
  /// <param name="par1">任务分配</param>
  /// <param name="par2">授权协调</param>
  /// <param name="par3">团队管理</param>
  private void SetChart2(double par1,double par2,double par3)
  {
   //图的类型、颜色、粗细
   Chart2.Series["Series1"].Type = SeriesChartType.Line;
   Chart2.Series["Series1"].BorderColor = Color.DarkOrange;
   Chart2.Series["Series1"].Color= Color.DarkOrange;
   Chart2.Series["Series1"].BorderWidth = 3;
   Chart2.Series["Series1"].BorderStyle = ChartDashStyle.Solid;

   Chart2.Series["Series1"].MarkerStyle = MarkerStyle.Circle;
   Chart2.Series["Series1"].MarkerSize = 8;

   //邦定数据
   Chart2.Series["Series1"].Points.AddXY(par1,45);
   Chart2.Series["Series1"].Points.AddXY(par2,25);
   Chart2.Series["Series1"].Points.AddXY(par3,5);

   //设置Y1值
   Font myFont2 = new Font("楷体",10);
   Chart2.ChartAreas["Default"].AxisY.LabelStyle.Font = myFont2;
   int elementY = Chart2.ChartAreas["Default"].AxisY.CustomLabels.Add(1,10,"团队管理");
   elementY = Chart2.ChartAreas["Default"].AxisY.CustomLabels.Add(20,30,"授权协调");
   elementY = Chart2.ChartAreas["Default"].AxisY.CustomLabels.Add(40,50,"任务分配");


   //
   Chart2.ChartAreas["Default"].BackColor = Color.Green;
   Chart2.ChartAreas["Default"].AxisX.MinorGrid.Enabled = false;

   Chart2.ChartAreas["Default"].AxisX.Minimum = 1;
   Chart2.ChartAreas["Default"].AxisX.Maximum = 10;
   Chart2.ChartAreas["Default"].AxisX.Interval = 1;

   // Set Grid lines and tick marks interval  设置虚线及其样式的代码
   Chart2.ChartAreas["Default"].AxisX.MajorGrid.Interval = 3;
   Chart2.ChartAreas["Default"].AxisX.MajorGrid.LineColor = Color.White;
   Chart2.ChartAreas["Default"].AxisX.MajorGrid.LineWidth = 2;
   // Set Line Style
   Chart2.ChartAreas["Default"].AxisX.MajorGrid.LineStyle = ChartDashStyle.Dot;

   Chart2.ChartAreas["Default"].AxisX.LineColor = Color.Black;
   Chart2.ChartAreas["Default"].AxisX.LineWidth = 3;

   Chart2.ChartAreas["Default"].AxisX2.LabelsAutoFit = false;
   Chart2.ChartAreas["Default"].AxisX2.Minimum = 1;
   Chart2.ChartAreas["Default"].AxisX2.Maximum = 10;
   Chart2.ChartAreas["Default"].AxisX2.MajorGrid.LineStyle = ChartDashStyle.NotSet;  //取消X2的竖线
   Font myFont1 = new Font("楷体",10);
   Chart2.ChartAreas["Default"].AxisX2.LabelStyle.Font = myFont1;
   Chart2.ChartAreas["Default"].AxisX2.CustomLabels.Add(2,3,"较低");
   Chart2.ChartAreas["Default"].AxisX2.CustomLabels.Add(5,6,"中等");
   Chart2.ChartAreas["Default"].AxisX2.CustomLabels.Add(8,9,"较高");

   Chart2.ChartAreas["Default"].AxisX2.Enabled = AxisEnabled.True;
   Chart2.ChartAreas["Default"].AxisX2.LineColor = Color.Black;
   Chart2.ChartAreas["Default"].AxisX2.LineWidth = 3;

   Chart2.ChartAreas["Default"].AxisY.MajorGrid.LineStyle = ChartDashStyle.NotSet;

   Chart2.ChartAreas["Default"].AxisY.LineColor = Color.Black;
   Chart2.ChartAreas["Default"].AxisY.LineWidth = 3;

   //显示Y2
   Chart2.ChartAreas["Default"].AxisY2.Enabled = AxisEnabled.True;
   //去掉Y2的值
   Chart2.ChartAreas["Default"].AxisY2.Minimum = 0;
   Chart2.ChartAreas["Default"].AxisY2.Maximum = 100;
   Chart2.ChartAreas["Default"].AxisY2.CustomLabels.Add(0,100,"");
   //取消Y2的竖线
   Chart2.ChartAreas["Default"].AxisY2.MajorGrid.LineStyle = ChartDashStyle.NotSet;
   Chart2.ChartAreas["Default"].AxisY2.LineColor = Color.Black;
   Chart2.ChartAreas["Default"].AxisY2.LineWidth = 4;

   //设置Legends
   //    Chart2.Legends["Default"].Docking = LegendDocking.Top;
   Chart2.Legends["Default"].Enabled = false;

   //设置标题
   Font myFont = new Font("楷体",10);
   Title title = new Title();
   title.Text = "能力水平";
   title.Font = myFont;
   title.Docking = Docking.Bottom;
   title.Color = Color.FromArgb(26, 59, 105);
   title.BackImageAlign = ChartImageAlign.Bottom;
   Chart2.Titles.Add(title);

   //取消四个边框的毛线
   Chart2.ChartAreas["Default"].AxisX.MajorTickMark.Enabled = false;
   Chart2.ChartAreas["Default"].AxisX2.MajorTickMark.Enabled = false;
   Chart2.ChartAreas["Default"].AxisY.MajorTickMark.Enabled = false;
   Chart2.ChartAreas["Default"].AxisY2.MajorTickMark.Enabled = false;
  }

  /// <summary>
  /// 设置第三个图:领导管理技能
  /// </summary>
  /// <param name="par1">人际关系</param>
  /// <param name="par2">沟通协调</param>
  /// <param name="par3">培养下属</param>
  /// <param name="par4">激励推动</param>
  /// <param name="par5">决策判断</param>
  private void SetChart3(double par1,double par2,double par3,double par4,double par5)
  {
   //图的类型、颜色、粗细
   Chart3.Series["Series1"].Type = SeriesChartType.Line;
   Chart3.Series["Series1"].BorderColor = Color.DarkOrange;
   Chart3.Series["Series1"].Color= Color.DarkOrange;
   Chart3.Series["Series1"].BorderWidth = 3;
   Chart3.Series["Series1"].BorderStyle = ChartDashStyle.Solid;

   Chart3.Series["Series1"].MarkerStyle = MarkerStyle.Circle;
   Chart3.Series["Series1"].MarkerSize = 8;

   //邦定数据
   Chart3.Series["Series1"].Points.AddXY(par1,10);
   Chart3.Series["Series1"].Points.AddXY(par2,30);
   Chart3.Series["Series1"].Points.AddXY(par3,50);
   Chart3.Series["Series1"].Points.AddXY(par4,70);
   Chart3.Series["Series1"].Points.AddXY(par5,90);

   //设置Y1值
   Font myFont2 = new Font("楷体",10);
   Chart3.ChartAreas["Default"].AxisY.LabelStyle.Font = myFont2;
   int elementY = Chart3.ChartAreas["Default"].AxisY.CustomLabels.Add(1,10,"人际关系");
   elementY = Chart3.ChartAreas["Default"].AxisY.CustomLabels.Add(20,30,"沟通协调");
   elementY = Chart3.ChartAreas["Default"].AxisY.CustomLabels.Add(40,50,"培养下属");
   elementY = Chart3.ChartAreas["Default"].AxisY.CustomLabels.Add(60,70,"激励推动");
   elementY = Chart3.ChartAreas["Default"].AxisY.CustomLabels.Add(80,90,"决策判断");


   //
   Chart3.ChartAreas["Default"].BackColor = Color.Green;
   Chart3.ChartAreas["Default"].AxisX.MinorGrid.Enabled = false;

   Chart3.ChartAreas["Default"].AxisX.Minimum = 1;
   Chart3.ChartAreas["Default"].AxisX.Maximum = 10;
   Chart3.ChartAreas["Default"].AxisX.Interval = 1;

   // Set Grid lines and tick marks interval  设置虚线及其样式的代码
   Chart3.ChartAreas["Default"].AxisX.MajorGrid.Interval = 3;
   Chart3.ChartAreas["Default"].AxisX.MajorGrid.LineColor = Color.White;
   Chart3.ChartAreas["Default"].AxisX.MajorGrid.LineWidth = 2;
   // Set Line Style
   Chart3.ChartAreas["Default"].AxisX.MajorGrid.LineStyle = ChartDashStyle.Dot;

   Chart3.ChartAreas["Default"].AxisX.LineColor = Color.Black;
   Chart3.ChartAreas["Default"].AxisX.LineWidth = 3;

   Chart3.ChartAreas["Default"].AxisX2.LabelsAutoFit = false;
   Chart3.ChartAreas["Default"].AxisX2.Minimum = 1;
   Chart3.ChartAreas["Default"].AxisX2.Maximum = 10;
   Chart3.ChartAreas["Default"].AxisX2.MajorGrid.LineStyle = ChartDashStyle.NotSet;  //取消X2的竖线
   Font myFont1 = new Font("楷体",10);
   Chart3.ChartAreas["Default"].AxisX2.LabelStyle.Font = myFont1;
   Chart3.ChartAreas["Default"].AxisX2.CustomLabels.Add(2,3,"较低");
   Chart3.ChartAreas["Default"].AxisX2.CustomLabels.Add(5,6,"中等");
   Chart3.ChartAreas["Default"].AxisX2.CustomLabels.Add(8,9,"较高");

   Chart3.ChartAreas["Default"].AxisX2.Enabled = AxisEnabled.True;
   Chart3.ChartAreas["Default"].AxisX2.LineColor = Color.Black;
   Chart3.ChartAreas["Default"].AxisX2.LineWidth = 3;

   Chart3.ChartAreas["Default"].AxisY.MajorGrid.LineStyle = ChartDashStyle.NotSet;

   Chart3.ChartAreas["Default"].AxisY.LineColor = Color.Black;
   Chart3.ChartAreas["Default"].AxisY.LineWidth = 3;

   //显示Y2
   Chart3.ChartAreas["Default"].AxisY2.Enabled = AxisEnabled.True;
   //去掉Y2的值
   Chart3.ChartAreas["Default"].AxisY2.Minimum = 0;
   Chart3.ChartAreas["Default"].AxisY2.Maximum = 100;
   Chart3.ChartAreas["Default"].AxisY2.CustomLabels.Add(0,100,"");
   //取消Y2的竖线
   Chart3.ChartAreas["Default"].AxisY2.MajorGrid.LineStyle = ChartDashStyle.NotSet;
   Chart3.ChartAreas["Default"].AxisY2.LineColor = Color.Black;
   Chart3.ChartAreas["Default"].AxisY2.LineWidth = 4;

   //设置Legends
   //    Chart3.Legends["Default"].Docking = LegendDocking.Top;
   Chart3.Legends["Default"].Enabled = false;

   //设置标题
   Font myFont = new Font("楷体",10);
   Title title = new Title();
   title.Text = "能力水平";
   title.Font = myFont;
   title.Docking = Docking.Bottom;
   title.Color = Color.FromArgb(26, 59, 105);
   title.BackImageAlign = ChartImageAlign.Bottom;
   Chart3.Titles.Add(title);

   //取消四个边框的毛线
   Chart3.ChartAreas["Default"].AxisX.MajorTickMark.Enabled = false;
   Chart3.ChartAreas["Default"].AxisX2.MajorTickMark.Enabled = false;
   Chart3.ChartAreas["Default"].AxisY.MajorTickMark.Enabled = false;
   Chart3.ChartAreas["Default"].AxisY2.MajorTickMark.Enabled = false;
  }

  /// <summary>
  /// 控制管理技能
  /// </summary>
  /// <param name="par1">监查反馈</param>
  /// <param name="par2">应变调控</param>
  /// <param name="par3">绩效管理</param>
  private void SetChart4(double par1,double par2,double par3)
  {
   //图的类型、颜色、粗细
   Chart4.Series["Series1"].Type = SeriesChartType.Line;
   Chart4.Series["Series1"].BorderColor = Color.DarkOrange;
   Chart4.Series["Series1"].Color= Color.DarkOrange;
   Chart4.Series["Series1"].BorderWidth = 3;
   Chart4.Series["Series1"].BorderStyle = ChartDashStyle.Solid;

   Chart4.Series["Series1"].MarkerStyle = MarkerStyle.Circle;
   Chart4.Series["Series1"].MarkerSize = 8;

   //邦定数据
   Chart4.Series["Series1"].Points.AddXY(par1,45);
   Chart4.Series["Series1"].Points.AddXY(par2,25);
   Chart4.Series["Series1"].Points.AddXY(par3,5);

   //设置Y1值
   Font myFont2 = new Font("楷体",10);
   Chart4.ChartAreas["Default"].AxisY.LabelStyle.Font = myFont2;
   int elementY = Chart4.ChartAreas["Default"].AxisY.CustomLabels.Add(1,10,"绩效管理");
   elementY = Chart4.ChartAreas["Default"].AxisY.CustomLabels.Add(20,30,"应变调控");
   elementY = Chart4.ChartAreas["Default"].AxisY.CustomLabels.Add(40,50,"监查反馈");


   //
   Chart4.ChartAreas["Default"].BackColor = Color.Green;
   Chart4.ChartAreas["Default"].AxisX.MinorGrid.Enabled = false;

   Chart4.ChartAreas["Default"].AxisX.Minimum = 1;
   Chart4.ChartAreas["Default"].AxisX.Maximum = 10;
   Chart4.ChartAreas["Default"].AxisX.Interval = 1;

   // Set Grid lines and tick marks interval  设置虚线及其样式的代码
   Chart4.ChartAreas["Default"].AxisX.MajorGrid.Interval = 3;
   Chart4.ChartAreas["Default"].AxisX.MajorGrid.LineColor = Color.White;
   Chart4.ChartAreas["Default"].AxisX.MajorGrid.LineWidth = 2;
   // Set Line Style
   Chart4.ChartAreas["Default"].AxisX.MajorGrid.LineStyle = ChartDashStyle.Dot;

   Chart4.ChartAreas["Default"].AxisX.LineColor = Color.Black;
   Chart4.ChartAreas["Default"].AxisX.LineWidth = 3;

   Chart4.ChartAreas["Default"].AxisX2.LabelsAutoFit = false;
   Chart4.ChartAreas["Default"].AxisX2.Minimum = 1;
   Chart4.ChartAreas["Default"].AxisX2.Maximum = 10;
   Chart4.ChartAreas["Default"].AxisX2.MajorGrid.LineStyle = ChartDashStyle.NotSet;  //取消X2的竖线
   Font myFont1 = new Font("楷体",10);
   Chart4.ChartAreas["Default"].AxisX2.LabelStyle.Font = myFont1;
   Chart4.ChartAreas["Default"].AxisX2.CustomLabels.Add(2,3,"较低");
   Chart4.ChartAreas["Default"].AxisX2.CustomLabels.Add(5,6,"中等");
   Chart4.ChartAreas["Default"].AxisX2.CustomLabels.Add(8,9,"较高");

   Chart4.ChartAreas["Default"].AxisX2.Enabled = AxisEnabled.True;
   Chart4.ChartAreas["Default"].AxisX2.LineColor = Color.Black;
   Chart4.ChartAreas["Default"].AxisX2.LineWidth = 3;

   Chart4.ChartAreas["Default"].AxisY.MajorGrid.LineStyle = ChartDashStyle.NotSet;

   Chart4.ChartAreas["Default"].AxisY.LineColor = Color.Black;
   Chart4.ChartAreas["Default"].AxisY.LineWidth = 3;

   //显示Y2
   Chart4.ChartAreas["Default"].AxisY2.Enabled = AxisEnabled.True;
   //去掉Y2的值
   Chart4.ChartAreas["Default"].AxisY2.Minimum = 0;
   Chart4.ChartAreas["Default"].AxisY2.Maximum = 100;
   Chart4.ChartAreas["Default"].AxisY2.CustomLabels.Add(0,100,"");
   //取消Y2的竖线
   Chart4.ChartAreas["Default"].AxisY2.MajorGrid.LineStyle = ChartDashStyle.NotSet;
   Chart4.ChartAreas["Default"].AxisY2.LineColor = Color.Black;
   Chart4.ChartAreas["Default"].AxisY2.LineWidth = 4;

   //设置Legends
   //    Chart4.Legends["Default"].Docking = LegendDocking.Top;
   Chart4.Legends["Default"].Enabled = false;

   //设置标题
   Font myFont = new Font("楷体",10);
   Title title = new Title();
   title.Text = "能力水平";
   title.Font = myFont;
   title.Docking = Docking.Bottom;
   title.Color = Color.FromArgb(26, 59, 105);
   title.BackImageAlign = ChartImageAlign.Bottom;
   Chart4.Titles.Add(title);

   //取消四个边框的毛线
   Chart4.ChartAreas["Default"].AxisX.MajorTickMark.Enabled = false;
   Chart4.ChartAreas["Default"].AxisX2.MajorTickMark.Enabled = false;
   Chart4.ChartAreas["Default"].AxisY.MajorTickMark.Enabled = false;
   Chart4.ChartAreas["Default"].AxisY2.MajorTickMark.Enabled = false;
  }

原创粉丝点击