C# WinForm开发系列之c# 通过.net自带的chart控件绘制饼图,柱形图和折线图的基础使用和扩展

【WinForm】【C#】记录学习使用Chart控件制作折线图过程 阅读详情
AI摘要

本文介绍如何使用 C# 中的 Chart 控件绘制饼图、折线图和柱状图,并提供详细的代码示例及图表美化技巧。

一.需要实现的目标是:

1.将数据绑定到pie的后台数据中,自动生成饼图。

2.生成的饼图有详细文字的说明。


1.设置chart1的属性Legends中默认的Legend1的Enable为false;

如图1所示:

图1
2.设置Series的ChartType为Pie,如图2所示:

图2

图3
3.后台绑定数据
      List<string> xData = new List<string>() { "A", "B", "C", "D" };
            List<int> yData = new List<int>() { 10, 20, 30, 40 };
            chart1.Series[0]["PieLabelStyle"] = "Outside";//将文字移到外侧
            chart1.Series[0]["PieLineColor"] = "Black";//绘制黑色的连线。
            chart1.Series[0].Points.DataBindXY(xData, yData);

4.后台代码主要实现了数据绑定和将指示的文字移到饼图的外侧。如图4所示:

图4

折线图和柱形图的生成和饼图相同。

二.chart画饼图,折线图,柱形图的扩展。

1.使用chart控件创建,跟上面相同;

2.进行关于柱形图样式的数据数据,

代码展示:

 //画图柱形图的条数决定是由数据源也就Series决定。Series是对象,动态创建即可。
        private void Form2_Load(object sender, EventArgs e)
        {
            //画图柱形图的条数决定是由数据源也就Series决定。Series是对象,动态创建即可。
            Series s1 = new Series();
            Series s2 = new Series();
            Series s3 = new Series();

    //随机
            Random r = new Random();
            for (int i = 1; i < 13; i++)
            {
                //绑定数据
                s1.Points.AddXY(i, r.Next(20, 30));
                s2.Points.AddXY(i, r.Next(10, 30));
                s3.Points.AddXY(i, r.Next(20, 30));
            }
            //指定柱形条的颜色
            s1.Color = Color.Green;
            s2.Color = Color.Red;
            s3.Color = Color.Black;
            //加入到chart1中
            chart1.Series.Add(s1);
            chart1.Series.Add(s2);
            chart1.Series.Add(s3);
        }

3.柱形图效果如图5所示:


图5


4.C# chart绑定数据的几种方式

(1)、数组, List 等简单Collection类型的方式

Series s1= new Series();
然后绑定数据就可以了
chart1.Series["s1"].Points.DataBindXY(Hdop, Vdop);
(2)DataTable方式

  Series dataTable3Series = new Series("dataTable3");

  dataTable3Series.Points.DataBind(dataTable3.AsEnumerable(), "日期", "日发展", "");

dataTable3Series.XValueType = ChartValueType.DateTime;//设置X轴类型为时间
dataTable3Series.ChartType = SeriesChartType.Line;  //设置Y轴为折线
chart1.Series.Add(dataTable3Series);//加入你的chart1

三.chart控件画图的一些关键点

1.如何将折线图的各个数据点凸显出来

代码如下:

  private void Form3_Load(object sender, EventArgs e)
        {
            List<string> xData = new List<string>() { "A", "B", "C", "D" };
            List<int> yData = new List<int>() { 10, 20, 30, 40 };
            //线条颜色
            chart1.Series[0].Color = Color.Green;
            //线条粗细
            chart1.Series[0].BorderWidth = 3;
            //标记点边框颜色      
            chart1.Series[0].MarkerBorderColor = Color.Black;
            //标记点边框大小
            chart1.Series[0].MarkerBorderWidth = 3;
            //标记点中心颜色
            chart1.Series[0].MarkerColor = Color.Red;
            //标记点大小
            chart1.Series[0].MarkerSize = 8;
            //标记点类型     
            chart1.Series[0].MarkerStyle = MarkerStyle.Circle;
            //将文字移到外侧
            chart1.Series[0]["PieLabelStyle"] = "Outside";
            //绘制黑色的连线
            chart1.Series[0]["PieLineColor"] = "Black";
            chart1.Series[0].Points.DataBindXY(xData, yData);
        }

效果图如图6所示:


图6

2.  如何去掉柱形图纵向线条

代码如下:

  private void Form2_Load(object sender, EventArgs e)
        {
            //画图柱形图的条数决定是由数据源也就Series决定。Series是对象,动态创建即可。
            Series s1 = new Series();
            Series s2 = new Series();
            Series s3 = new Series();
            Random r = new Random();
            for (int i = 1; i < 13; i++)
            {
                //绑定数据
                s1.Points.AddXY(i, r.Next(20, 30));
                s2.Points.AddXY(i, r.Next(10, 30));
                s3.Points.AddXY(i, r.Next(20, 30));
            }
            //指定柱形条的颜色
            s1.Color = Color.Green;
            s2.Color = Color.Red;
            s3.Color = Color.Black; 
            //加入到chart1中
            //X轴上网格
            chart1.ChartAreas[0].Axes[0].MajorGrid.Enabled = false;
            //y轴上网格
            //ct.ChartAreas[0].Axes[1].MajorGrid.Enabled = false;      
            chart1.Series.Add(s1);
            chart1.Series.Add(s2);
            chart1.Series.Add(s3);
        }

效果如图7所示:


图7

3.  如何使用chart控件画圆环图

操作与饼形图,折线图等相似,只是需要将chartType设置为Doughnut;

如图8所示:


图8

在这里可以设置关于圆环的内外百分比,如图9所示:


图9

效果图如图10所示:


图10

注意:代码设置圆环大小代码如下:

 //DoughnutRadius用来设置用作圆环图大小的半径百分比
 chart1.Series["data"].CustomProperties = "DoughnutRadius = 20";

C# 实时折线图,波形图 此Demo是采用VS自带的Chart图表控件,制作实时动态显示的折线图,和波形图。本文仅供学习分享使用,如有不足之处,还请指正。 涉及知识点: Chart 控件,功能强大,可以绘制柱状图,折线图,波形图,饼状图,大大简化了对图的开发与定制。     Chart控件的相关概念: ChartArea,表示图表区域,一个Chart可以绘制多个ChartArea,重叠在一起。 ... 阅读详情

相关推荐

构建优秀的C#饼状图控件:PieChart指南

本文还有配套的精品资源,点击获取 简介:本文介绍了C#中饼状图的创建和优化方法。讨论了如何使用.NET内置库(如Windows Forms和WPF Chart控件)及第三方库(如LiveCharts和OxyPlot)来实现高质量的饼状图。重点强调了数据绑定、数据标签、颜色和样式、交互性、动画效果以及性能优化等关键点,以帮助开发者提高软件用户体验。 1. C#饼状图...

weixin_36289742的博客 2321

C# chart画折线

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录版本一(DataGridView 和 Chart)1.小目标2.过程实现3.结果二、版本二(Combobox 和 Chart)1.小目标2.过程实现3.浅贴一下效果总结 版本一(DataGridView 和 Chart) 1.小目标 控件绑定Sql Sever 数据库 DataGridView列出数据,Chart画折线 2.过程实现 chart的初始设置(个人习惯) 图列关掉(属性>Legends&g.

barelank的博客 1万+

C#chart折线图表

C#用chart画的折线图表,可以使用

C# Winform Chart控件用法4之饼状图

1、拖chart控件在新建的窗口,命名chart1 2、源代码

qq_57798018的博客 8988

C# 生成图表(饼图/柱形图)的控件及实例

摘要:C#源码,菜单窗体,饼图,柱形图,图表  一个demo,很简单实用,拿来与大家分享,C# 生成图表,生成常用的圆饼图/柱形图的控件及实例,运行截图如上所示,是不是很棒。

初学者入门机器学习 (ML)的推荐教程

了解基本的机器学习概念并不难。有大量免费的在线博客文章、视频和编码教程可以引导您了解基础知识——从介绍性内容到常见应用程序,再到算法和应用技能。这篇文章总结了一些用于介绍 ML 的最佳免费选项。它按逻辑顺序排列,每个概念都建立在上一个概念的基础上。

u010542847的博客 4615

c# chart 各个属性_C# WinForm开发系列之c# 通过.net自带的chart控件绘制饼图,柱形图和折线图的基础使用和扩展...

一.需要实现的目标是:1.将数据绑定到pie的后台数据中,自动生成饼图。2.生成的饼图有详细文字的说明。1.设置chart1的属性Legends中默认的Legend1的Enable为false;如图1所示:图12.设置Series的ChartType为Pie,如图2所示:图2图33.后台绑定数据List xData = new List() { "A", "B", "C", "D" };List ...

weixin_36243739的博客 1229

基于ADRC算法的多旋翼飞行器抗扰动控制实践

本文详细介绍了基于ADRC算法的多旋翼飞行器抗扰动控制实践,通过线性扩张状态观测器(LESO)实时估算风力等扰动,实现提前补偿,显著提升飞行稳定性。文章结合具体案例和工程实现技巧,展示了ADRC在突风条件下的优异表现,为无人机控制提供了高效解决方案。

weixin_29284885的博客 191

C# WinForm开发系列之c# 通过.net自带的chart控件绘制饼图,柱形图和折线图的基础使用和扩展...

一.需要实现的目标是: 1.将数据绑定到pie的后台数据中,自动生成饼图。 2.生成的饼图有详细文字的说明。 1.设置chart1的属性Legends中默认的Legend1的Enable为false; 如图1所示: 图1 2.设置Series的ChartType为Pie,如图2所示: 图2 图3 3.后台绑定数据 List<str...

weixin_30314793的博客 644

GLDAS数据高效处理指南:基于Matlab的NC4转GeoTIFF实战解析

本文提供了一份基于Matlab的GLDAS数据处理实战指南,详细解析了如何将NetCDF4格式的GLDAS数据高效、准确地批量转换为GIS友好的GeoTIFF格式。文章核心内容包括数据理解、环境搭建、核心代码逐步拆解、效率提升技巧以及常见避坑方案,旨在帮助全球生态、水文与气候领域的研究者打通数据预处理的关键环节,提升科研工作效率。

weixin_29094775的博客 310

SAPIEN ManiSkill3 入门教程(一)

请注意,table.set_pose(pose) 设置的是演员在世界帧中的坐标系姿势。移除的实体可以再次添加到场景中,但已在场景中的实体则不能再次添加。显示器可以是物理的(如显示器),也可以是虚拟的(如 VNC)。我们可以通过 get_pose()、get_linear_velocity() 和 get_angular_velocity()获取演员的运动量(姿势、线速度、角速度)。现在,让我们创建一个斜坡。例如,您可能需要一个简单的碰撞形状来进行快速模拟,但却需要一个复杂的视觉形状来进行逼真的渲染。

机器人控制与仿真应用 3071

C# WinForm开发系列之chart控件画折线图和柱形图并自定义鼠标移动到数据标记点显示提示信息

用 C# WinForm 的 Chart 控件画折线图和柱形图时,鼠标悬停数据标记点常无提示。本文给出 Series 配置、HitTest 命中判断与 GetToolTipText 事件代码,并附自定义 Panel 提示框写法,照着改即可让悬停显示 X、Y 值。若需在图表中接入大模型分析,可参考 TaoToken 官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 配置 Base URL 与 API Key。

weixin_42591908的博客 13

Python 爬虫实战:就业市场趋势数据抓取与行业洞察

在当今竞争激烈的就业市场中,了解行业趋势和就业形势对于求职者、学生以及人力资源专业人士来说至关重要。通过获取和分析就业市场数据,我们可以深入了解不同行业的招聘需求、薪资水平、技能要求等关键信息,从而为职业规划和人才发展提供有力支持。

yansideyucsdn的博客 1406

视频教程-C#图表技术-C#

C#图表技术 二十多年的企业管理软件开发经历,熟知管理软件的整个开发流程,熟...

weixin_30805025的博客 199

PostgreSQL面试题及详细答案120道(101-120)

本文针对PostgreSQL数据库提供全面的性能优化方案,涵盖10个关键面试题解析。主要内容包括:1)并发参数调优(max_connections、worker_processes);2)缓存设置(effective_cache_size);3)WAL日志优化;4)慢查询监控与日志配置;5)会话管理与阻塞处理;6)高写入场景优化策略;7)存储类型参数调整;8)自动清理机制配置;9)大表DDL操作避坑指南;10)性能瓶颈诊断方法论。对DBA和开发者具有实操指导价值

大剑师兰特的GIS世界 855

3D深度饼图的QT实现

首先,我们需要创建一个QT项目并创建一个窗口,用于显示我们的饼图。在QT Creator中,选择创建一个新的QT Widgets应用程序项目,并创建一个新的窗口类。在本文中,我将介绍如何使用QT实现一个3D深度饼图(Pie 3D)的可视化效果。在构造函数中,我们将创建一个饼图(QChartView)并设置饼图的数据。这是一个简单的示例,您可以根据需要自定义和扩展代码来创建更复杂的饼图。现在,我们已经完成了3D深度饼图的QT实现。您将看到一个具有相应数据的3D深度饼图显示在窗口中。3D深度饼图的QT实现。

CodeJolt的博客 277

在Asp.net页面中实现数据饼图

ASP.NET之所以能够在客户端浏览器中形成各种数据图片,是因为在ASP.NET中提供了绘图功能,具体的作法是先在服务器端创建一个Bitmap实例,然后利用ASP.NET中提供的绘图功能,按照要生成的图片的模样,进行绘制,最后把绘制好的实例以数据流的方式传送到客户端的浏览器上,并形成图片显示出来。本文要介绍的在ASP.NET页面中实现数据饼图采用的基本也是这种方法。饼图有时称为"Pie"图,本文要实现的数据饼图模样具体如图01所示: 图01...

ba_wang_mao的专栏 1243

淘系商品的成长密码:历史与趋势透视

本文分析了淘系商品的发展历程,从早期的市场探索到如今的行业领先地位,深入探讨了技术创新、供应链优化、用户需求洞察等关键因素在淘系商品成功中的作用。通过对平台不断完善商品生态、提升购物体验和服务的过程分析,文章总结了淘系商品在竞争激烈的市场中如何通过创新应对挑战并推动电商行业的进步。未来,随着消费趋势变化和新兴模式的兴起,淘系商品将在更大范围内发挥其市场影响力。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 6万+

(七十)c#Winform自定义控件-饼状图

前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章。 GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:https://gitee.com/kwwwvagaa/net_winform_custom_control.git 如果觉得写的还行,请点个 star 支持一下吧 欢迎前来交流探讨: 企鹅群5...

冰封一夏 1877

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

C# winform chart 饼状图的使用布局

第一步 添加chart控件一些属性的设置点Legends属性,修改外观属性 点series属性,修改ChartType类型 点击Tiles,属性中的Text就是标题文本,外观中还可以修改标题的大小

uiopmn1的博客 4974

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

C# 自定义控件-饼状图(Winform)

这里我演示的是Winform的自定义控件。(创建一个文件夹CusContorl,在这个文件夹里创建自定义控件,文件夹名字自己自定义即可。(2)在自己的窗口代码里调用自定义控件,处理好XY轴数据,直接传值给 pieChart1.SetPieXY(X,Y).解决方法:自己代码先运行一下,关闭程序,此时在工具箱可以看到自己的自定义控件。(1)在工具箱有自己的创建的自定义控件,直接拖转到窗口界面就可以了。2.使用自带echart控件,拖到自定义控件里,进行自定义。3.设置图表类型-饼状图。5.设置外边距和大小。

peri404的博客 2301

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

C# Winfrom Chart 图表控件 柱状图、折线图

新建一个.NET Framework 类型的 Winfrom 项目,在数据里面找到 Chart 控件,拖入到界面中如下: 此时,默认的有一个图表的样式,实际运行却什么都没有 修改图表样式在Series这里,点击集合后面到三个点 这里可以修改标记的名字这里修改图表到样式 绑定数据此时图表还没有任何数据,可以用绑定方式添加数据,如下 运行后如下..................................................................................

熊思雨的博客 3万+

C# | 使用Chart动态展示实时折线图数据

实时折线图是展示数据变化趋势的有效方式,可以用于监控系统性能、物理实验、股票走势等多个领域。在C#中,我们可以使用Chart控件来实现实时折线图的展示,其动态性和可交互性可以帮助用户更好地理解数据。本文将介绍如何使用Chart控件展示实时折线图数据,希望能帮助读者快速掌握这个技能,应用于实际场景中。

猿长大人 9169

C# GDI 绘制饼图

i++)//计算百分率。

csdn9990的博客 603

关于微软C#中的CHART图表控件的简单使用

http://www.cnblogs.com/winshe/articles/6604406.html 最近公司项目要用到Chart图表控件,这是一个比较老的东西了,目前网络上似乎已经不太流行这个控件,但是只要配置了相关的属性,效果还是可以的。前前后后摸索了好久,接下来谈谈这个件控件最重要的几个属性。 1.ChartAreas属性 ChartAreas属性指绘图区,一个控件可以有多个绘图区,比如我...

不是我的博客 7431
上一篇: C# WinForm开发系列之DataGridView部分属性总结和图片资源的引用方式
下一篇: C# 利用微软提供的画图类画图(如折线图)
想念-忘记了
博客等级 码龄10年 64粉丝 61原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值