C# 绘制统计图大全(柱状图, 折线图, 扇形图)

C# 绘制统计图大全(柱状图, 折线图, 扇形图)

介绍

在数据可视化方面,我们经常需要用到各种统计图来展示数据,C#作为一种常用的编程语言,提供了许多绘制统计图的方法。这里将介绍关于如何在C#中使用ZedGraph这个开源库来绘制柱状图、折线图和扇形图。

步骤

1.下载ZedGraph库

在绘制统计图之前,我们需要先下载ZedGraph库。可以在官网上下载安装包或者直接通过NuGet安装。以下是NuGet安装示例:

Install-Package ZedGraph

2.创建Windows窗体应用程序

在Visual Studio中创建Windows窗体应用程序。

3.添加ZedGraph控件

在工具箱中添加ZedGraph控件,并将其拖入窗体中。

4.绘制柱状图

绘制柱状图的步骤如下:

// 添加数据点
List<double> list = new List<double>();
list.Add(20);
list.Add(30);
list.Add(50);
list.Add(25);
list.Add(40);

// 创建柱状图,并设置X轴和Y轴标题
GraphPane pane = zedGraphControl1.GraphPane;
pane.Title.Text = "柱状图";
pane.XAxis.Title.Text = "X轴";
pane.YAxis.Title.Text = "Y轴";

// 添加柱状图对象
BarItem item = pane.AddBar("数据", null, list.ToArray(), Color.Blue);
item.Bar.Fill = new Fill(Color.Blue, Color.White, Color.Blue);

// 更新控件并重绘
zedGraphControl1.AxisChange();
zedGraphControl1.Invalidate();

5.绘制折线图

绘制折线图的步骤和绘制柱状图类似,只需要将AddBar改为AddCurve,具体实现如下:

// 添加数据点
List<double> list = new List<double>();
list.Add(20);
list.Add(30);
list.Add(50);
list.Add(25);
list.Add(40);

// 创建折线图,并设置X轴和Y轴标题
GraphPane pane = zedGraphControl1.GraphPane;
pane.Title.Text = "折线图";
pane.XAxis.Title.Text = "X轴";
pane.YAxis.Title.Text = "Y轴";

// 添加折线图对象
LineItem item = pane.AddCurve("数据", null, list.ToArray(), Color.Blue, SymbolType.Circle);
item.Line.Width = 2;

// 更新控件并重绘
zedGraphControl1.AxisChange();
zedGraphControl1.Invalidate();

6.绘制扇形图

绘制扇形图需要先将数据转换成PieItem类型,具体实现如下:

// 添加数据点
List<double> list = new List<double>();
list.Add(20);
list.Add(30);
list.Add(50);
list.Add(25);
list.Add(40);

// 创建扇形图,并设置标题
GraphPane pane = zedGraphControl1.GraphPane;
pane.Title.Text = "扇形图";

// 添加扇形图对象
PieItem item = new PieItem("数据", list.ToArray(), Color.Blue);
item.LabelType = PieLabelType.Name_Value_Percent;

// 添加饼图对象到图表
pane.CurveList.Add(item);

// 更新控件并重绘
zedGraphControl1.AxisChange();
zedGraphControl1.Invalidate();

示例

以下是一个简单的使用ZedGraph绘制柱状图的示例:

private void button1_Click(object sender, EventArgs e)
{
    // 添加数据点
    List<double> list = new List<double>();
    list.Add(20);
    list.Add(30);
    list.Add(50);
    list.Add(25);
    list.Add(40);

    // 创建柱状图,并设置X轴和Y轴标题
    GraphPane pane = zedGraphControl1.GraphPane;
    pane.Title.Text = "柱状图";
    pane.XAxis.Title.Text = "X轴";
    pane.YAxis.Title.Text = "Y轴";

    // 添加柱状图对象
    BarItem item = pane.AddBar("数据", null, list.ToArray(), Color.Blue);
    item.Bar.Fill = new Fill(Color.Blue, Color.White, Color.Blue);

    // 更新控件并重绘
    zedGraphControl1.AxisChange();
    zedGraphControl1.Invalidate();
}

若要绘制折线图和扇形图,则只需要根据上面的示例进行修改即可。

总结

使用ZedGraph库可以方便地在C#中绘制出各种统计图,这些图形需要我们提供数据点和一些基本的设置。通过仔细地设置和调整,可以制作出专业的、有吸引力的统计图,用于数据展示和分析。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 绘制统计图大全(柱状图, 折线图, 扇形图) - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • C#异步下载文件

    当我们需要下载大型文件时,使用异步操作可以显著提高性能和效率。C#中提供了异步操作下载文件的方法,本篇攻略将介绍相关的知识点以及实现方法,包括异步下载文件的基本原理、实现步骤和两个具体的示例。 基本原理 异步下载文件的基本原理是将下载操作拆分成多个子任务,让操作系统去协调这些任务的执行,从而减小了主线程的负担,提高了程序的执行效率。具体实现方法是: 创建一个…

    C# 2023年6月1日
    00
  • 基于Unity实现3D版2048游戏的示例代码

    让我为您详细讲解一下基于Unity实现3D版2048游戏的完整攻略。 1、什么是2048游戏? 2048游戏是一款益智类小游戏,由Gabriele Cirulli在2014年创建。游戏规则非常简单:玩家通过滑动棋子,让相同数字的棋子相加,最终得到数字2048的棋子即可胜利。该游戏适合所有年龄段的玩家,可以锻炼玩家的观察力和反应能力。 2、如何基于Unity实…

    C# 2023年6月3日
    00
  • .Net(c#)汉字和Unicode编码互相转换实例

    .Net(c#)汉字和Unicode编码互相转换实例 在 .Net(c#) 中,我们可以很方便地进行汉字和 Unicode 编码之间的转换。本文将为您介绍汉字和 Unicode 编码的基本概念,并提供两个示例说明。 汉字和 Unicode 编码 Unicode 编码是一种字符编码标准,它使用一个编号来表示每个字符。Unicode 编码可以用来表示汉字、英文字…

    C# 2023年6月1日
    00
  • C# 通过 inline-asm 解决嵌入x86汇编

    首先,C# 通过 inline-asm 解决嵌入x86汇编,需要使用 __asm 关键字,在 C# 程序中编写 inline 汇编代码。 例如,下面是一个使用 inline-asm 在 C# 程序中调用 x86 汇编代码的示例: unsafe public static void InlineAsmTest() { int result = 0; // 内联…

    C# 2023年6月7日
    00
  • Entity Framework Core相关包的概念介绍与安装

    下面详细给您介绍一下”Entity Framework Core相关包的概念介绍与安装”的完整攻略。 什么是Entity Framework Core? Entity Framework Core是一个全新的对象关系映射框架,支持.NET Core平台,使用C#语言实现。它能够使开发人员通过操作对象来进行数据库操作,而不是直接使用SQL命令。它具有灵活性和可…

    C# 2023年5月31日
    00
  • C#中数组、ArrayList、List、Dictionary的用法与区别浅析(存取数据)

    下面是关于C#中数组、ArrayList、List、Dictionary的用法与区别浅析(存取数据)的完整攻略。 数组 定义 数组是一种数据结构,可以在单个变量下存储多个值。在C#中,数组是由相同类型的元素组成的集合。可以使用数组来存储一个固定数量的元素,这些元素在创建数组时就已被确定。 用法 创建数组 在C#中创建数组,需要指定数组的长度,然后使用关键字n…

    C# 2023年5月31日
    00
  • 关于WPF WriteableBitmap类直接操作像素点的问题

    关于WPF WriteableBitmap类直接操作像素点的问题,可以参考以下攻略: 1. 什么是WriteableBitmap类 WriteableBitmap是WPF中一个重要的类,它可以被用来创建一个用于呈现可写的图像的BitmapSource对象,而且可以以像素为单位进行访问和修改。WriteableBitmap对象的像素数组可以由开发者直接修改,使…

    C# 2023年6月3日
    00
  • ASP.NET Core项目配置教程(6)

    ASP.NET Core项目配置教程(6)主要涉及如何在ASP.NET Core项目中使用配置文件。下面是ASP.NET Core项目配置教程(6)的完整攻略。 什么是配置文件? 在ASP.NET Core中,配置文件是一种存储应用程序配置信息的机制。配置文件可以包含应用程序的各种设置,例如数据库连接字符串、日志记录级别、身份验证设置等。 如何使用配置文件?…

    C# 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部