MSChart使用

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;

namespace WinformTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            Paint();
        }

        private void Paint()
        {
            DataTable dt = CreatData();

            #region 样条图(平滑曲线)

            chart2.DataSource = dt;//绑定数据
            Series series = chart2.Series["Series1"];
            ChartArea chartArea = chart2.ChartAreas["ChartArea1"];
      
            chart2.Titles.Add("示功图");
            series.Color = Color.Red;
            series.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Spline;//设置图表类型
            series.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle.None;//设置点的样式,十字形
            chart2.Series[0].XValueMember = "XAixs";//X轴数据成员列
            chart2.Series[0].YValueMembers = "YAixs";//Y轴数据成员列
            chartArea.AxisX.Title = "X";//X轴标题
            chartArea.AxisX.TitleAlignment = StringAlignment.Near;//设置Y轴标题的名称所在位置位远
            chartArea.AxisY.Title = "Y";//X轴标题
            chartArea.AxisY.TitleAlignment = StringAlignment.Far;//设置Y轴标题的名称所在位置位远
            chartArea.AxisX.Interval = 5;//X轴数据的间距
            chartArea.AxisX.MajorGrid.Enabled = true;//不显示竖着的分割线
            //chartArea.AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Solid;

            chart2.Series[0].IsValueShownAsLabel = false;//显示坐标值            

            #endregion
        }       

        /// <summary>
        /// 创建一张二维数据表
        /// </summary>
        /// <returns>Datatable类型的数据表</returns>
        private DataTable CreatData()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("XAixs", System.Type.GetType("System.Double"));
            dt.Columns.Add("YAixs", System.Type.GetType("System.Double"));

            double[] XAixs = new double[] { 10, 15, 18, 25, 27, 25, 20, 15, 10};
            double[] YAixs = new double[] { 10, 20, 25, 22, 18, 15, 13, 12, 10};

            for (int i = 0; i < XAixs.Length; i++)
            {
                DataRow dr = dt.NewRow();
                dr["XAixs"] = XAixs[i];
                dr["YAixs"] = YAixs[i];
                dt.Rows.Add(dr);
            }
            return dt;
        }
    }
}

 

posted on 2015-07-24 11:45  老有所依  阅读(162)  评论(0)    收藏  举报

导航