Winform控件:Chart

在 WinForms 中使用 Chart 控件可以实现各种数据可视化,包括折线图、柱状图、饼图等。以下是一些基本的使用方法和示例代码,帮助你快速上手。

1.1 基本配置

设置图表类型
cs 复制代码
// 设置图表类型为柱状图
chart1.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;

// 设置图表类型为折线图
chart1.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;

// 设置图表类型为饼图
chart1.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Pie;
添加数据点
cs 复制代码
// 添加数据点
chart1.Series[0].Points.AddXY("Label1", 10);
chart1.Series[0].Points.AddXY("Label2", 20);
chart1.Series[0].Points.AddXY("Label3", 30);

1.2 配置图表样式

设置标题
cs 复制代码
// 设置图表标题
chart1.Titles.Add("My Chart Title");
设置坐标轴标签
cs 复制代码
// 设置 X 轴标签
chart1.ChartAreas[0].AxisX.Title = "X Axis";

// 设置 Y 轴标签
chart1.ChartAreas[0].AxisY.Title = "Y Axis";
设置图例
cs 复制代码
// 添加图例
chart1.Legends.Add("Legend1");

1.3 示例代码

折线图示例
cs 复制代码
public partial class MainForm : Form
{
    public MainForm()
    {
        InitializeComponent();
        InitializeChart();
    }

    private void InitializeChart()
    {
        // 设置图表类型为折线图
        chart1.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;

        // 添加数据点
        chart1.Series[0].Points.AddXY("Label1", 10);
        chart1.Series[0].Points.AddXY("Label2", 20);
        chart1.Series[0].Points.AddXY("Label3", 30);

        // 设置图表标题
        chart1.Titles.Add("My Line Chart");

        // 设置坐标轴标签
        chart1.ChartAreas[0].AxisX.Title = "X Axis";
        chart1.ChartAreas[0].AxisY.Title = "Y Axis";

        // 添加图例
        chart1.Legends.Add("Legend1");
    }
}
柱状图示例
cs 复制代码
public partial class MainForm : Form
{
    public MainForm()
    {
        InitializeComponent();
        InitializeChart();
    }

    private void InitializeChart()
    {
        // 设置图表类型为柱状图
        chart1.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;

        // 添加数据点
        chart1.Series[0].Points.AddXY("Label1", 10);
        chart1.Series[0].Points.AddXY("Label2", 20);
        chart1.Series[0].Points.AddXY("Label3", 30);

        // 设置图表标题
        chart1.Titles.Add("My Bar Chart");

        // 设置坐标轴标签
        chart1.ChartAreas[0].AxisX.Title = "X Axis";
        chart1.ChartAreas[0].AxisY.Title = "Y Axis";

        // 添加图例
        chart1.Legends.Add("Legend1");
    }
}
饼图示例
cs 复制代码
public partial class MainForm : Form
{
    public MainForm()
    {
        InitializeComponent();
        InitializeChart();
    }

    private void InitializeChart()
    {
        // 设置图表类型为饼图
        chart1.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Pie;

        // 添加数据点
        chart1.Series[0].Points.AddXY("Label1", 10);
        chart1.Series[0].Points.AddXY("Label2", 20);
        chart1.Series[0].Points.AddXY("Label3", 30);

        // 设置图表标题
        chart1.Titles.Add("My Pie Chart");

        // 添加图例
        chart1.Legends.Add("Legend1");
    }
}

1.4 高级配置

动态数据更新
cs 复制代码
private void timer1_Tick(object sender, EventArgs e)
{
    // 动态添加数据点
    chart1.Series[0].Points.AddXY(DateTime.Now.ToString("HH:mm:ss"), new Random().Next(0, 100));

    // 限制数据点数量
    if (chart1.Series[0].Points.Count > 10)
    {
        chart1.Series[0].Points.RemoveAt(0);
    }
}
自定义样式
cs 复制代码
// 设置数据点颜色
chart1.Series[0].Color = Color.Red;

// 设置数据点标记
chart1.Series[0].MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle.Circle;
chart1.Series[0].MarkerColor = Color.Blue;

Chart 控件功能强大,支持多种图表类型和丰富的配置选项。通过上述示例代码,你可以快速实现基本的图表功能,并根据需要进行高级配置。

相关推荐
A_nanda9 小时前
c# MOdbus rto读写串口,如何不相互影响
算法·c#·多线程
码云数智-园园12 小时前
使用 C# 将 PowerPoint 演示文稿高效转换为 PDF 格式
c#
PfCoder12 小时前
WinForm真入门(23)---PictureBox 控件详细用法
开发语言·windows·c#·winform
gc_229915 小时前
C#学习调用OpenMcdf模块解析ole数据的基本用法(1)
c#·ole·openmcdf
MM_MS19 小时前
Halcon图像点运算、获取直方图、直方图均衡化
图像处理·人工智能·算法·目标检测·计算机视觉·c#·视觉检测
老骥伏枥~21 小时前
C# 控制台:Console.ReadLine / WriteLine
开发语言·c#
PfCoder1 天前
C#中定时器之System.Timers.Timer
c#·.net·visual studio·winform
人工智能AI技术2 天前
【C#程序员入门AI】本地大模型落地:用Ollama+C#在本地运行Llama 3/Phi-3,无需云端
人工智能·c#
MyBFuture2 天前
C#数组详解:一维二维与交错数组
开发语言·windows·c#·visual studio·vision pro