winform chart 入门

 

 

 

using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            //网格设为透明色,即隐藏网格
            chart1.ChartAreas[0].AxisX.MajorGrid.LineColor = System.Drawing.Color.Transparent;
            chart1.ChartAreas[0].AxisY.MajorGrid.LineColor = System.Drawing.Color.Transparent;

            Series series1 = chart1.Series[0];//为图标增加一个序列
            series1.IsVisibleInLegend = false;//隐藏该序列的图例
            series1.ChartType = SeriesChartType.Point;//该序列为散点类型
            series1.BorderWidth = 1;//宽度为1
            series1.Color = System.Drawing.Color.Red;//颜色为红色
            chart1.ChartAreas[0].AxisX.Title = "时间"; //X轴标题
            chart1.ChartAreas[0].AxisY.Title = ""; //Y轴标题
            chart1.ChartAreas[0].AxisY.TextOrientation = TextOrientation.Horizontal;//Y轴标题的方向为水平
            //准备数据
            int[] x = { 1, 2, 3, 4, 5, 6, 7, 8 };
            int[] y = { 10, 11, 12, 13, 14, 15, 16, 17 };
            series1.Points.DataBindXY(x, y); //绑定数据
        }
    }
}
View Code

 

 

using System;
using System.Drawing;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            chart1.Dock = DockStyle.Fill;//填充整个界面
            chart1.ChartAreas[0].AxisX.Title = "时间"; //X轴标题
            chart1.ChartAreas[0].AxisY.Title = "数值"; //Y轴标题
            chart1.ChartAreas[0].AxisY.TextOrientation = TextOrientation.Horizontal;//Y轴标题的方向为水平
            //设置滚动轴
            chart1.ChartAreas[0].AxisX.ScrollBar.ButtonStyle = ScrollBarButtonStyles.All;//滚动轴上的按钮全显示
            chart1.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = true;//滚动轴显示位置,x轴下面还是图外面
            chart1.ChartAreas[0].AxisX.ScrollBar.Size = 20;
            //设置显示区域类型为秒
            chart1.ChartAreas[0].AxisX.ScaleView.MinSizeType = DateTimeIntervalType.Seconds;
            chart1.ChartAreas[0].AxisX.ScaleView.SizeType = DateTimeIntervalType.Seconds;
            chart1.ChartAreas[0].AxisX.ScaleView.SmallScrollMinSizeType = DateTimeIntervalType.Seconds;
            chart1.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Seconds;
            // 设置X轴标签的格式
            chart1.ChartAreas[0].AxisX.LabelStyle.Format = "yyyy-MM-dd-HH:mm:ss";
            chart1.ChartAreas[0].AxisX.ScrollBar.ButtonColor = Color.LightGray;
            //开启缩放功能
            chart1.ChartAreas[0].CursorX.Interval = 0;
            chart1.ChartAreas[0].CursorX.IsUserEnabled = true;
            chart1.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
            chart1.MouseClick += new System.Windows.Forms.MouseEventHandler(chart_MouseClick);

            // 设置曲线的样式
            Series series1 = chart1.Series[0];
            // 画样条曲线(Spline)
            series1.ChartType = SeriesChartType.Line;
            // 线宽1个像素
            series1.BorderWidth = 1;
            // 线的颜色:红色
            series1.Color = System.Drawing.Color.Red;
            // 图示上的文字
            series1.LegendText = "数值1";
            chart1.Series.Add("");
            DateTime[] dateTimes = new DateTime[8];
            int[] y = { 10, 11, 12, 2, 6, 15, 1, 7 };
            for(int i = 0; i < y.Length; i++)
            {
                dateTimes[i] = new DateTime(2023, 11, 7, 12, 0, i);//日期时间初始化
                series1.Points.AddXY(dateTimes[i], y[i]);//添加数据点
            }

        }

        private void chart_MouseClick(object sender, MouseEventArgs e)
        {
            Chart chart1 = sender as Chart;
            if (e.Button == MouseButtons.Right)//右键恢复事件
            {
                chart1.ChartAreas[0].AxisX.ScaleView.ZoomReset(0);
            }
        }

    }
}
View Code

 

posted @ 2023-10-25 11:07  阿坦  阅读(71)  评论(0)    收藏  举报