C#绘制曲线图和柱状图的方法

C#之Chart篇 叕叕叕到周五了,时间总是走的如此之快,不免伤感(- -)。。。(伤感个毛线呀,再伤感16年就走了)12月就要结束了,赶紧来一篇充实一下生活。最近在项目中,做了个图表程序,运用了Chart,今天在这里做一个整理总结。 1.第一个Chart控件 1)先来熟悉一下chart,在前端做一个图表可能会用到chart.js,在C#中可以用自带的控件chart,感觉挺方便的。 2)创建一个项目,windo 阅读详情
 
  1. 在我们程序开发的过程中经常会需要绘制曲线图和柱状图等,尤其是在做统计功能时。但是有时候我们有觉得没有必要使用第三方控件(例如:ZedGraph等),这是我们可以自己编写代码来实现这些图形绘制的功能。以下是我在开发过程中所使用过的两段代码,现共享大家,希望能给大家带来一定的帮助,如有不妥敬请斧正!
  2. 1.柱状图,效果图如下
  3. 代码如下:
  4. 注意:请注意参数 chartTable 图形里的一些元素需要从chartTable里面取。具体请查看代码。
  5.         //Render是图形大标题,图开小标题,图形宽度,图形长度,饼图的数据集和饼图的数据集  
  6.         public Image Render(string title, int width, int height, DataTable chartTable) 
  7.         { 
  8.             Bitmap bm = new Bitmap(width, height); 
  9.             Graphics g = Graphics.FromImage(bm); 
  10.             g.Clear(Color.White); 
  11.             DataTable dt = chartTable; 
  12.             const int top = 30; 
  13.             const int left = 35; 
  14.             if (width < left * 2 || height < top * 2) 
  15.             { 
  16.                 g.DrawString("绘图区域太小", new Font("Tahoma", 8), 
  17.                     Brushes.Blue, new PointF(0, 0)); 
  18.                 return bm; 
  19.             } 
  20.             //计算最高的点  
  21.             float highPoint = 1; 
  22.             foreach (DataRow dr in dt.Rows) 
  23.             { 
  24.                if (highPoint < Convert.ToSingle(dr[0])) 
  25.                 { 
  26.                     highPoint = Convert.ToSingle(dr[0]); 
  27.                 } 
  28.                 if (highPoint < Convert.ToSingle(dr[1])) 
  29.                 { 
  30.                     highPoint = Convert.ToSingle(dr[1]); 
  31.                 } 
  32.             } 
  33.             try 
  34.             { 
  35.                 //画大标题  
  36.                 g.DrawString(title, new Font("Tahoma", 12), Brushes.Black, new PointF(2, 2)); 
  37.                 StringFormat drawFormat = new StringFormat(); 
  38.                 drawFormat.FormatFlags = StringFormatFlags.DirectionVertical; 
  39.                 g.DrawString("[红--" + dt.Columns[0].ToString() + "]", new Font("Tahoma", 8), 
  40.                     Brushes.Red, new PointF(2, top), drawFormat); 
  41.                 g.DrawString("[蓝--" + dt.Columns[1].ToString() + "]", new Font("Tahoma", 8), 
  42.                     Brushes.Blue, new PointF(17, top), drawFormat); 
  43.                 //画条形图  
  44.                 float barWidth = (Convert.ToSingle(width) - left) / (dt.Rows.Count * 3 + 1); 
  45.                 PointF barOrigin = new PointF(left + barWidth, 0); 
  46.                 float barHeight = dt.Rows.Count; 
  47.                 float topFontSize = (barWidth / highPoint.ToString().Length); 
  48.                  
  49.                 if (topFontSize > 2*top/3) 
  50.                 { 
  51.                     topFontSize = 2*top/3; 
  52.                 } 
  53.                 if (topFontSize < 5) 
  54.                 { 
  55.                     topFontSize = 5; 
  56.                 } 
  57.                 for (int i = 0; i < dt.Rows.Count; i++) 
  58.                 { 
  59.                     //底部字体的大小 
  60.                     float bottomFontSize = (2 * barWidth / dt.Rows[i][2].ToString().Length) + 2; 
  61.                     if (bottomFontSize > 2 * top / 3) 
  62.                     { 
  63.                         bottomFontSize = 2 * top / 3; 
  64.                     } 
  65.                     barHeight = Convert.ToSingle(dt.Rows[i][0]) * (height - 2 * top) / highPoint * 1; 
  66.                     barOrigin.Y = height - barHeight - top; 
  67.                     g.FillRectangle(new SolidBrush(Color.Red), barOrigin.X, barOrigin.Y, barWidth, barHeight); 
  68.                     //柱状图底部 
  69.                     g.DrawString(dt.Rows[i][2].ToString(), new Font("Tahoma", bottomFontSize), Brushes.Black, 
  70.                         new PointF(barOrigin.X, height - top)); 
  71.                     //柱状图顶部 
  72.                     g.DrawString(dt.Rows[i][0].ToString(), new Font("Tahoma", topFontSize), Brushes.Red, 
  73.                         new PointF(barOrigin.X, barOrigin.Y - 3*topFontSize/2)); 
  74.                     barOrigin.X = barOrigin.X + barWidth; 
  75.                     barHeight = Convert.ToSingle(dt.Rows[i][1]) * (height - 2 * top) / highPoint * 1; 
  76.                     barOrigin.Y = height - barHeight - top; 
  77.                     g.FillRectangle(new SolidBrush(Color.Blue), barOrigin.X, barOrigin.Y, barWidth,  
  78. barHeight); 
  79.                     //柱状图顶部 
  80.                     g.DrawString(dt.Rows[i][1].ToString(), new Font("Tahoma", topFontSize), Brushes.Blue, 
  81.                         new PointF(barOrigin.X, barOrigin.Y - 3 * topFontSize/2)); 
  82.                     barOrigin.X = barOrigin.X + (barWidth * 2); 
  83.                 } 
  84.                 //设置边  
  85.                 g.DrawLine(new Pen(Color.Blue, 2), new Point(left, top), 
  86.                     new Point(left, height - top)); 
  87.                 g.DrawLine(new Pen(Color.Blue, 2), new Point(left, height - top), 
  88.                     new Point(left + width, height - top)); 
  89.                 g.Dispose(); 
  90.                 return bm; 
  91.             } 
  92.             catch 
  93.             { 
  94.                 return bm; 
  95.             } 
  96.         }
  97. 2.线状图,效果如下:
  98. 代码如下: 
  99. 注意:请注意参数 chartTable 图形里的一些元素需要从chartTable里面取。具体请查看代码。
  100.         //Render是图形大标题,图开小标题,图形宽度,图形长度,饼图的数据集和饼图的数据集  
  101.         public Image Render(string title, int width, int height, DataTable chartTable) 
  102.         { 
  103.             Bitmap bm = new Bitmap(width, height); 
  104.             Graphics g = Graphics.FromImage(bm); 
  105.             g.Clear(Color.White); 
  106.             const int top = 30; 
  107.             const int left = 35; 
  108.             if (width < left * 2 || height < top * 2) 
  109.             { 
  110.                 g.DrawString("绘图区域太小" ,new Font("Tahoma", 8), 
  111.                     Brushes.Blue, new PointF(0, 0)); 
  112.                 return bm; 
  113.             } 
  114.             if (chartTable == null) 
  115.             { 
  116.                 g.DrawString("没有数据", new Font("Tahoma", 7), 
  117.                     Brushes.Blue, new PointF(0, 0)); 
  118.                 return bm; 
  119.             } 
  120.             DataTable dt = chartTable; 
  121.             //计算最高的点  
  122.             float highPoint = 1; 
  123.             foreach (DataRow dr in dt.Rows) 
  124.             { 
  125.                 if (highPoint < Convert.ToSingle(dr[0])) 
  126.                 { 
  127.                     highPoint = Convert.ToSingle(dr[0]); 
  128.                 } 
  129.                 if (highPoint < Convert.ToSingle(dr[1])) 
  130.                 { 
  131.                     highPoint = Convert.ToSingle(dr[1]); 
  132.                 } 
  133.             } 
  134.             //建立一个Graphics对象实例  
  135.             try 
  136.             { 
  137.                 //画大标题  
  138.                 g.DrawString(title, new Font("Tahoma", 12), Brushes.Black, new PointF(2, 2)); 
  139.                 StringFormat drawFormat = new StringFormat(); 
  140.                 drawFormat.FormatFlags = StringFormatFlags.DirectionVertical; 
  141.                 g.DrawString("[红--" + dt.Columns[0].ToString() + "]", new Font("Tahoma", 8), 
  142.                     Brushes.Red, new PointF(2, top), drawFormat); 
  143.                 g.DrawString("[蓝--" + dt.Columns[1].ToString() + "]", new Font("Tahoma", 8), 
  144.                     Brushes.Blue, new PointF(17, top), drawFormat); 
  145.                 //画条形图  
  146.                 float barWidth = (Convert.ToSingle(width) - left) / (dt.Rows.Count + 1); 
  147.                 PointF barOrigin = new PointF(left + barWidth , 0); 
  148.                 float barHeight = dt.Rows.Count; 
  149.                 float topFontSize = 7; 
  150.                 float bottomFontSize = 7; 
  151.                 PointF[] pt1 = new PointF[dt.Rows.Count]; 
  152.                 PointF[] pt2 = new PointF[dt.Rows.Count]; 
  153.                 for (int i = 0; i < dt.Rows.Count; i++) 
  154.                 { 
  155.                     //底部字体的大小 
  156.                     barHeight = Convert.ToSingle(dt.Rows[i][0]) * (height - 2 * top) / highPoint * 1; 
  157.                     barOrigin.Y = height - barHeight - top; 
  158.                     g.FillEllipse(new SolidBrush(Color.Red), barOrigin.X - 3, barOrigin.Y - 3, 6, 6); 
  159.                     pt1[i] = new PointF(barOrigin.X, barOrigin.Y); 
  160.                     //顶部 
  161.                     g.DrawString(dt.Rows[i][0].ToString(), new Font("Tahoma", topFontSize), Brushes.Red, 
  162.                         new PointF(barOrigin.X, barOrigin.Y - 4 * topFontSize / 2)); 
  163.                     barHeight = Convert.ToSingle(dt.Rows[i][1]) * (height - 2 * top) / highPoint * 1; 
  164.                     barOrigin.Y = height - barHeight - top; 
  165.                     g.FillEllipse(new SolidBrush(Color.Blue), barOrigin.X - 3, barOrigin.Y - 3, 6, 6); 
  166.                     pt2[i] = new PointF(barOrigin.X, barOrigin.Y); 
  167.                     //顶部 
  168.                     g.DrawString(dt.Rows[i][1].ToString(), new Font("Tahoma", topFontSize), Brushes.Blue, 
  169.                         new PointF(barOrigin.X, barOrigin.Y - 4 * topFontSize / 2)); 
  170.                     barOrigin.X = barOrigin.X + barWidth; 
  171.                 } 
  172.                 if (dt.Rows.Count > 10) 
  173.                 { 
  174.                     int dis = dt.Rows.Count / 10; 
  175.                     for (int i = 0; i < dt.Rows.Count; i++) 
  176.                     { 
  177.                         if (i % dis == 0) 
  178.                         { 
  179.                             g.DrawLine(new Pen(Color.Blue, 2), new PointF(left + (i + 1) * barWidth, height -  
  180. top + 5), 
  181.                                 new PointF(left + (i + 1) * barWidth, height - top - 3)); 
  182.                             //底部 
  183.                             g.DrawString(dt.Rows[i][2].ToString(), new Font("Tahoma", bottomFontSize),  
  184. Brushes.Black, 
  185.                                 new PointF(left + (i + 1) * barWidth, height - top)); 
  186.                         } 
  187.                         else 
  188.                         { 
  189.                             g.DrawLine(new Pen(Color.Gray, 1), new PointF(left + (i+1) * barWidth, height -  
  190. top + 3), 
  191.                                 new PointF(left + (i+1) * barWidth, height - top - 3)); 
  192.                         } 
  193.                     } 
  194.                 } 
  195.                 else 
  196.                 { 
  197.                     for (int i = 0; i < dt.Rows.Count; i++) 
  198.                     { 
  199.                         g.DrawLine(new Pen(Color.Gray, 1), new PointF(left + (i + 1) * barWidth, height - top  
  200. + 3), 
  201.                             new PointF(left + (i + 1) * barWidth, height - top - 3)); 
  202.                     } 
  203.                 } 
  204.                 //绘制曲线 
  205.                 g.DrawLines(new Pen(new SolidBrush(Color.Red), 1), pt1); 
  206.                 g.DrawLines(new Pen(new SolidBrush(Color.Blue),1), pt2); 
  207.                 //设置边  
  208.                 g.DrawLine(new Pen(Color.Blue, 2), new Point(left, top), 
  209.                     new Point(left, height - top)); 
  210.                 g.DrawLine(new Pen(Color.Blue, 2), new Point(left, height - top), 
  211.                     new Point(left + width, height - top)); 
  212.                 g.Dispose(); 
  213.                 return bm; 
  214.             } 
  215.             catch 
  216.             { 
  217.                 return bm; 
  218.             } 
  219.         }
  220. 杜思波的技术讨论帖子
C#绘制曲线图和柱状图 alimama_pid="mm_10249644_1605763_4929893"; alimama_titlecolor="0000FF"; alimama_descolor ="000000"; alimama_bgcolor="FFFFFF"; alimama_bordercolor="E6E6E6"; alimama_linkcolor="008000"; a 阅读详情

相关推荐

C#中wpf使用Devexpress画图:柱状图,饼状图,散点图,曲线图

C#中wpf使用Devexpress画图:柱状图,饼状图,散点图,曲线图1.效果 完整代码下载: 下图是随便生成的数据测试效果: C#中wpf使用Devexpress画图 2.部分设置可以从控件属性直接设置 画什么样的图 series选择:图中选择的是饼状图的series 3. 绑定部分1)柱状图 <dxc:XYDiagram2D SeriesDataMember="Name">

2010yhh 1万+

C#曲线绘制1-自定义封装曲线

1、封装绘制曲线类。2、类包括:面板绘制、数据输入、曲线显示。3、面板大小、字体、曲线颜色和粗细提供属性更改。4、静态数据曲线和动态数据曲线生成。

panjinliang066333的博客 3821

C# WinForm中绘制曲线图的方法及代码示例

首先,在代码文件的顶部引入System.Windows.Forms.DataVisualization.Charting命名空间,这是Chart控件所在的命名空间。在C# WinForm应用程序中,使用Chart控件可以方便地实现曲线图的绘制和展示。在数据序列中添加数据点,可以使用AddXY方法,传入X坐标和Y坐标的数值。然后,在WinForm窗体设计器中,找到工具箱中的Data部分,将Chart控件拖动到窗体上。在窗体加载事件中,对Chart控件进行一些基本设置,例如设置标题、X轴和Y轴的标签等。

TechPr的博客 3946

用c#绘制曲线图

在实际项目中我们经常需要绘制一些实时的数据图片,比如当前各公司的用水量、用电量还有播放声音视频时实时显示当前的声频等等,在我们最熟悉的任务管理器也有这么一个功能,用来表示当前CPU的使用频率,最近笔者刚刚给朋友完成了一个类似的功能图,用曲线图来实时表示一些实际数据,由于形象直观,很受客户欢迎。 不过由于某些原因,本人不能将实际项目中的代码拿出来给大家分享,只能模拟了一个简单的实现,代码没有过多优

u011555996的博客 2万+

C#图表绘制技术全攻略

C#,作为一种流行的编程语言,为开发者提供了强大的图表绘制能力。本章将探究C#在图表绘制领域的应用,以及其如何通过.NET Framework提供的图表绘制库来实现各种视觉表现。是.NET Framework中一个专门用于数据可视化的核心库,它为开发者提供了一系列的控件和类,能够快速地实现各种复杂图表的绘制。这个库通常用于Windows窗体应用程序中,允许开发者轻松地创建丰富的用户界面和交互式图表。它包含各种基础控件如ChartLegendTitle。

weixin_29363791的博客 1109

C#在C/S和B/S架构下绘制曲线图表实践指南

C#(发音为“看”)是一种现代、类型安全的面向对象编程语言,由微软开发,是.NET框架的一部分。自2002年发布以来,C#就以其简洁的语法、强大的功能和灵活性,成为开发Windows桌面应用程序、Web服务和游戏开发的首选语言。在C/S架构下,WinForms应用程序通过使用.NET Framework提供的控件来构建用户界面,实现各种功能。

weixin_42298254的博客 1127

C#自定义曲线绘图面板

1、显示面板绘制。2、拖动面板,X轴、Y轴都可以拖动。3、显示面板缩放,放大或者缩小。4、鼠标在面板中对应的XY轴数值。5、自动生成的数据数组,曲线显示。6、鼠标是否在曲线上检测。

panjinliang066333的博客 1709

新手必看:用Simulink搭建飞跨电容三电平逆变器的完整流程(附SPWM配置技巧)

本文详细介绍了使用Simulink搭建飞跨电容三电平逆变器(FCNPC)的完整流程,特别聚焦于SPWM调制策略的配置技巧。通过模块拆解、参数设置和波形优化的三步法,配合实操截图和典型参数表,帮助新手快速掌握多电平逆变器的建模与仿真技能,适用于电力电子学习和项目开发。

weixin_30664051的博客 287

15-C#的scottplot控件库绘制曲线图

C#的scottplot控件库绘制曲线图

weixin_44479192的博客 801

飞塔防火墙认证绕过漏洞(CVE-2022-40684)深度剖析与实战复现

本文深度剖析了Fortinet飞塔防火墙高危认证绕过漏洞CVE-2022-40684的原理与影响。该漏洞允许攻击者通过构造包含特定Forwarded头和User-Agent的HTTP请求,无需凭证即可绕过认证,以管理员身份访问设备。文章详细演示了从环境搭建到实战复现,最终植入SSH密钥获取控制权的完整过程,并提供了漏洞挖掘技巧与关键防御建议。

d6e7f8g9h的博客 709

一种4位sar adc仿真验证

4位sar adc采用下图的电容阵列,电路如下图:所有电容的正端(也称为上极板)与比较器的反相端连接,比较器同相端接Vin,其工作过程进行大致分析见之前的文章《一种4位sar adc工作过程推导(三)》,下面对这个电路进行仿真验证。 两个参考电压VrefPV_{refP}VrefP​和VrefNV_{refN}VrefN​,V+=VinV_{+}=V_{in}V+​=Vin​,假设1116(VrefP−VrefN)+VrefN<Vin<1216(VrefP−VrefN)+VrefN\frac{

大学生视野 1955

c#绘制曲线图和柱状图等

在我们程序开发的过程中经常会需要绘制曲线图和柱状图等,尤其是在做统计功能时。但是有时候我们有觉得没有必要使用第三方控件(例如:ZedGraph等),这是我们可以自己编写代码来实现这些图形绘制的功能。以下是我在开发过程中所使用过的两段代码,现共享大家,希望能给大家带来一定的帮助,如有不妥敬请斧正!1.柱状图,效果图如下 代码如下:注意:请注意参数  chartTable 图形里的一些

ssihc0的专栏 1390

深入探讨:StoreKit 2的交易处理与收据验证

iOS应用开发中,StoreKit 2带来收据处理和交易验证的新变化。本文通过实例分析,对比传统StoreKit与StoreKit 2的差异,指出直接访问sandboxReceipt文件可能引发错误。解决方案是使用Transaction对象和SKReceiptRefreshRequest,详细介绍了如何初始化ReceiptLoader、处理交易更新及验证收据的完整流程,帮助开发者适应新框架,确保购买流程安全可靠。

m0_74337424的博客 357

C#绘制各种统计图的实现方法

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/an_ding/archive/2009/12/01/4912440.aspxview plaincopy to clipboardprint?using System; using System.Collections.Generic; using System.Linq; using S

mashoubin的专栏 1117

HDMI接口及其在编程中的应用

在编程中,我们可以使用HDMI接口来控制和管理连接到计算机的HDMI设备。本文将介绍HDMI接口的基本原理以及如何在编程中使用HDMI接口。在编程中,我们可以使用HDMI接口来控制和管理连接到计算机的HDMI设备。本文介绍了HDMI接口的基本原理,并提供了使用Python编程语言和相关库实现HDMI接口应用的示例代码。我们可以使用编程语言提供的音频库来生成和播放音频,并将其通过HDMI接口输出到连接的设备上。我们可以使用编程语言提供的音频库来生成和播放音频,并将其通过HDMI接口输出到连接的设备上。

CodeByte的博客 803

【在 WSL2 GUI 中使用 pulseaudio 播放声音】

最近在搞一个Linux项目,由于WSL2中需要用到声音外放,无奈只能潜心研究。后来就使用了一种折中的方式替代,那就是pulseaudio。目前来讲WSL2对硬件外设的支持还是不太友好,关于USB的支持我之前在其他文章中已经论述过了,这里不讨论。1、Windows11别忘记打开声音2、可能有一定延迟,因为是通过网络传输的。3、效果的话只能见仁见智了,如果不能满足要求就安装一个实实在在的Ubuntu吧!

jiexijihe945的博客 4532

c#语言编程中GDI+的运用

c#语言编程中GDI+的运用 简介:c#语言编程中GDI+的运用,主要是利用利用C#中System.Drawing命名空间中的类进行操作,              自定义生成各种图形,此文章我们要完成是根据统计数据,              输出各种统计统计图形,包括饼状图、曲线分析图、柱形图、多组 -------------------------------------------

〃々‰幻想VS自由※№★ 1251

05GATK流程和找变异

05GATK流程和找变异 GATK 集合了一套功能全面的高通量测序数据基因组分析工具包,算是业界的权威,更新的速度非常快。需要注意的是,不同版本的 GATK 在工具应用上会有些许不同。这里我们使用是最新版本 GATK 4.1.4.1(截止2019年12月31日)。 数据准备 前面我们提到了,走GATK流程需要到官网下载很多数据库文件,比如下面这些: dbsnp_146.hg38.vcf.gz dbsnp_146.hg38.vcf.gz.tbi Mills_and_1000G_gold_standard.

qq_23435961的博客 1661

绘制图形C#

01.using System; 02.using System.Collections.Generic; 03.using System.Linq; 04.using System.Text; 05.// 06.using System.Drawing; 07.// 08.namespace DatePrint 09.{ 10.

lingfengstar1的博客 865

第3章: MMU Interval Notifier 区间通知器的核心原理⭐

摘要:区间级内存通知机制分析 本文分析了Linux内核中区间级内存通知机制(mmu_interval_notifier)的设计原理与实现。该机制针对传统全局通知(mmu_notifier)存在的性能开销大、无法精确控制等问题,通过引入区间树(Interval Tree)实现精确匹配,仅当内存变化与注册区间重叠时才触发回调。核心优势包括:1)O(log n + k)的高效查找性能;2)支持独立管理各内存区间;3)实现高并发处理不同区间的失效事件。

图形/计算GPU的驱动与虚拟化技术分享园地 2026

温度PID控制PLC程序

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

绘图Draw

public class WebForm1 : System.Web.UI.Page {   private void Page_Load(object sender, System.EventArgs e)   {    //This is the interface to outer usage    int widthValue = 800;    int heightValue

疾风劲草 597

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

.NET MSChart画图:曲线,柱形,曲线叠加图,以及配置,下载示意图

.net坐标系绘图 C#绘制曲线通用方法 .NET MSChart画图:曲线,柱形,曲线叠加图,以及配置,下载示意图 2010-10-25 20:49:53| 分类: 其他技术 | 标签: |字号大中小 订阅 下载地址: .NET Framework 3.5 SP1 的 ASP.NET 和 Windows 窗体图表控件 ...

weixin_30828379的博客 192

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

C# Winform 柱状图/曲线图(Chart组件)

柱状图: 曲线图: 要柱状图还是曲线图这边选就行了 配置: // 设置曲线的样式对象 Series singer_series = sum_chart.Series[0]; // 画样条曲线(Spline) //series.ChartType = SeriesChartType.Spline; // 线宽2个像素 sum_series.BorderWidth = 2; ...

PLA12147111的博客 1万+

C#曲线图柱状图和折线图,用了2个chart控件实现

chart1.ChartAreas[0].AxisX.MajorGrid.LineWidth = 0; chart1.ChartAreas[0].AxisX.Interval = 1;?? //设置X轴坐标的间隔为1 chart1.ChartAreas[0].AxisX.IntervalOffset = 1;? //设置X轴坐标偏移...

tangliuqing的专栏 1583

Cteechart实例:绘制曲线图利器,提升C图表展示

Cteechart实例:绘制曲线图利器,提升C#图表展示 去发现同类优质开源项目:https://gitcode.com/ 在C#开发中,图表的展示与定制是提升用户体验的关键环节。今天,我们将为您介绍一个功能强大的开源项目——Cteechart实例,它能让您轻松绘制出高质量的曲线图。 项目介绍 Cteechart实例是一个开源项目,提供了C#环境下使用teechart库绘制曲线图的相关实例代码。t...

gitblog_06771的博客 991
上一篇: C++拥有永恒的魅力
下一篇: c#很奇怪的代码
小人物2014
博客等级 码龄19年 66粉丝 99原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值