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;
}
}
}