C# 利用微软提供的画图类画图(如折线图)

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

在.net中,微软给我们提供了画图类(system.drawing.imaging),在该类中画图的基本功能都有。比如:直线、折线、矩形、多边形、椭圆形、扇形、曲线等等,因此一般的图形都可以直接通过代码画出来。
下面介绍一些画图函数:
- 定义图像大小
Bitmap bmap=new Bitmap(500,500);
-* /将图像保存到指定的输出流;*
bmap.Save(stream,imagecodecinfo)
_** /定义或创建gdi绘图对像**
Graphics gph;
_**/定义二维平面中x,y坐标;**
PointF cpt;
_**/用指定的brush和font对像在指定的矩形或点绘制指定的字符串**
DrawString(string,font,brush,ponitf) ;
_**/用指定的笔(pen)对像绘制指定两点之间直线**
DrawLine(pen,ponit,ponit) ;
_**用指定的笔(pen)对像绘制指定多边形,比如三角形,四边形等等;**
DrawPolygon(pen,ponit[]) ;
_**/用指定的刷子(brush)对像填充指定的多边形**
FillPolygon(brush,ponit[]) ;
_**/用指定的笔绘制一个边框定义的椭圆;**
DrawEllipse(pen,x,y,width,height) ;
_**/用指定的刷子填充一个边框定义的椭圆;**
FillEllipse(brush,x,y,width,height);
_**/用指定的笔绘制一个指定坐标点、宽度、高度的矩形;**
DrawRectangle(pen,x,y,width,height)
_**/用指定的笔绘制一个指定坐标点、宽度、高度以及两条射线组成的扇形;**
DrawPie(pen,x,y,width,height,startangle,sweepangle) ;

下面的例子可以画出一个折线图,代码如下:
private void Form1_Load(object sender, EventArgs e)
{
string[] month=new string[12]{“一月”,”二月”,”三月”,”四月”,”五月”,”六月”,”七月”,”八月”,”九月”,”十月”,”十一月”,”十二月”};
float[] d=new float[12]{20.5f,60,10.8f,15.6f,30,70.9f,50.3f,30.7f,70,50.4f,30.8f,20};
//画图初始化
Bitmap bmap=new Bitmap(500,500);
Graphics gph=Graphics.FromImage(bmap);
gph.Clear(Color.White);
//中心点
PointF cpt=new PointF(40,420);
//x轴三角形
PointF[] xpt=new PointF[3]{new PointF(cpt.Y+15,cpt.Y),new PointF(cpt.Y,cpt.Y-8),new PointF(cpt.Y,cpt.Y+8)};
///y轴三角形
PointF[] ypt=new PointF[3]{new PointF(cpt.X,cpt.X-15),new PointF(cpt.X-8,cpt.X),new PointF(cpt.X+8,cpt.X)};
//图表标题
gph.DrawString(“某工厂某产品月生产量图表”, new Font(“宋体”, 14), Brushes.Black, new PointF(cpt.X+60, cpt.X));
//画x轴
gph.DrawLine(Pens.Black, cpt.X,cpt.Y ,cpt.Y,cpt.Y);
gph.DrawPolygon(Pens.Black,xpt);
gph.FillPolygon(new SolidBrush(Color.Black),xpt);
gph.DrawString(“月份”, new Font(“宋体”, 12), Brushes.Black, new PointF(cpt.Y+10, cpt.Y+10));
//画y轴
gph.DrawLine(Pens.Black, cpt.X,cpt.Y,cpt.X,cpt.X);
gph.DrawPolygon(Pens.Black,ypt);
gph.FillPolygon(new SolidBrush(Color.Black),ypt);
gph.DrawString(“单位(万)”, new Font(“宋体”, 12), Brushes.Black, new PointF(0, 7));
for(int i=1;i<=12;i++)
{
//画y轴刻度
if (i<11)
{
gph.DrawString((i*10).ToString(), new Font(“宋体”, 11), Brushes.Black, new PointF(cpt.X-30, cpt.Y-i*30-6));
gph.DrawLine(Pens.Black, cpt.X-3,cpt.Y-i*30 ,cpt.X,cpt.Y-i*30);
}
//画x轴项目
gph.DrawString(month[i-1].Substring(0,1), new Font(“宋体”, 11), Brushes.Black, new PointF(cpt.X+i*30-5, cpt.Y+5));
gph.DrawString(month[i-1].Substring(1,1), new Font(“宋体”, 11), Brushes.Black, new PointF(cpt.X+i*30-5, cpt.Y+20));
if(month[i-1].Length>2) gph.DrawString(month[i-1].Substring(2,1), new Font(“宋体”, 11), Brushes.Black, new PointF(cpt.X+i*30-5, cpt.Y+35));
//画点
gph.DrawEllipse(Pens.Black,cpt.X+i*30-1.5f,cpt.Y-d[i-1]*3-1.5f,3,3);
gph.FillEllipse(new SolidBrush(Color.Black),cpt.X+i*30-1.5f,cpt.Y-d[i-1]*3-1.5f,3,3);
//画数值
gph.DrawString(d[i-1].ToString(), new Font(“宋体”, 11), Brushes.Black, new PointF(cpt.X+i*30,cpt.Y-d[i-1]*3));
//画折线
if(i>1) gph.DrawLine(Pens.Red,cpt.X+(i-1)*30,cpt.Y-d[i-2]*3,cpt.X+i*30,cpt.Y-d[i-1]*3);
}
//保存输出图片
//bmap.Save(Response.OutputStream, ImageFormat.Gif);
PictureBox1.Image = bmap;
}

效果如图所示:
这里写图片描述

C#:winform使用chart控件绘制折线图,时间轴可缩放 最近做的一个项目里用到这部分 打算记录下来 挖个坑 阅读详情

相关推荐

C# winform中双缓冲画图

画图都是从OnPaint中触发的: protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); DrawItems(e); } private void DrawItems(PaintEventArgs e) ...

周胖子的技术笔记 1505

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万+

WinForms桌面工具:拖入Excel文件秒出折线图,无需安装额外组件

一款开箱即用的C# WinForms程序,专为快速可视化Excel数据设计。支持直接打开本地.xlsx或.xls文件,自动识别工作表和数据区域,把第一列当X轴、后续列当Y轴生成多组折线图。界面含文件选择按钮、预设样式的Chart控件(带坐标轴标签、图例、网格线和自适应线条),数据加载后图表实时刷新,异常情况(如格式错误、空数据)有友好提示。所有功能基于.NET Framework原生类库实现,不依赖任何NuGet包,编译后可在x86/x64 Windows系统直接运行。项目结构清晰,包含完整窗体代码、资源文

yy01234的博客 265

C#--图表控件(Chart)

https://blog.youkuaiyun.com/qq_20936333/article/details/82020584 采用VS自带的Chart图表控件,制作实时动态显示的折线图,和波形图 涉及知识点: Chart 控件,功能强大,可以绘制柱状图,折线图,波形图,饼状图,大大简化了对图的开发与定制。 Chart控件的相关概念: ChartArea,表示图表区域,一个Chart可以绘制多个ChartA...

爱她就要努力 9417

C#绘制折线图实时展示数据

完全独立出来的一个绘制折线图的例子,直接放到程序中就可以用。可以用来实时展示像温度,脉搏这类的数据。

C#绘制折线图

C#绘制折线图 ,可执行,付源代码,可提供参考。C#绘制折线图C#绘制折线图

ASP.NET网页画图之二-C# Web Components 组件画图

前面已经介绍了 用C# 纯代码的方式画图 ..下面来看看 用office组件画图,用Micosoft Office Web Components 组件要确保服务器要装微软office2000或以上,客户端用户也要装Office2000或以上才能使用本例 假设 你已经装上了Office   首先 打开 VS2005(建议不要用其他的编译器)在项目里添加引用(具体怎么添加见Google)

3179

Linux内存优化:KSM技术原理与实践指南

内存共享是提升虚拟化环境资源利用率的关键技术,其核心原理是通过识别相同内容的内存页进行合并。Linux内核的KSM(Kernel Samepage Merging)机制采用红黑树数据结构管理内存页,通过多级哈希比较算法实现高效合并。该技术能显著降低物理内存消耗,提升CPU缓存命中率,特别适用于运行大量相似虚拟机实例的场景。在容器化和云计算环境中,KSM与NUMA优化、内存气球等技术协同,可实现40%-60%的内存节省。典型应用包括金融云平台的高密度虚拟机部署,以及Kubernetes集群的基础镜像优化。

weixin_28730353的博客 369

C#画折线图一例

在.net中,微软给我们提供了画图类(system.drawing.imaging),在该类中画图的基本功能都有。比如:直线、折线、矩形、多边形、椭圆形、扇形、曲线等等,因此一般的图形都可以直接通过代码画出来。接下来介绍一些画图函数:Bitmap bmap=new Bitmap(500,500) /定义图像大小;bmap.Save(stream,imagecodecinfo) /将图像保存到指定的

C#专栏 2006

【ROS】ROS局域网下多机通讯方法

最近工作中需要用到多机通讯,这里稍微总结一下使用方法。一、网络配置ifconfig这里举个例子,主机的IP地址为192.168.1.127,从机的IP地址为192.168.1.126;之后可测试一下能否互相ping通,成功后进行下一步。

weixin_43326110的博客 3360

FreeRTOS:卡在configASSERT( ( pxQueue ) )问题的解决

FreeRTOS卡在configASSERT( ( pxQueue ) )问题的解决

qq_42007164的博客 9564

OWC画图-Microsoft Office Chart Component

1.结构msdn上只找到office2000的资料,仅供参考。 然后自带的文档一般在 安装盘:/Program Files/Common Files/Microsoft Shared/Web Components/11/2052,里面的OWCVBA11.CHM为OWC的VBA编程参考。2.编程测试本例子采用VS.NET2005,C#,Office11实现。  1using System;  2

请叫我麦兜兜儿 3352

在Windows11下安装完Ubuntu20.04双系统后配置环境的过程

在Windows11下安装完Ubuntu20.04双系统后配置环境的过程 1.NVIDIA驱动检测及安装 2.Anaconda的安装 3.安装cuda、cudnn、pytorch 4.其他报错

aaaccc444的博客 2423

Chart 折线图 绘图区域加滚动条,并限制画图区域大小

最近做一个项目,用到了曲线图,由于还是新手且微软自带Chart控件供使用,便采取~ 下面是折线图部分代码: 控件代码: this.chart1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(239)))), ((int)(((byte)(239)))), ((int)(((byte)(242))))); chartArea1

米奇老鼠 5320

DrissionPage无头模式破盾记:实战绕过CloudFlare 5秒验证

本文详细介绍了如何使用DrissionPage无头模式绕过CloudFlare 5秒盾验证,提升爬虫效率。通过关键参数配置、服务器环境问题处理及高级绕过技巧,如动态UA轮换和鼠标移动模拟,帮助开发者有效应对反爬机制。实战案例展示了如何结合最新Chrome UA和参数设置实现稳定数据采集。

weixin_29327525的博客 487

【我的Android进阶之旅】Android自定义View实现一个游戏摇杆,来实现监听遥动的方向或者监听摇动的角度的功能

一、需求描述 去年有个需求,需要使用自定义View实现一个游戏摇杆,来识别上下左右摇动的方向。 有点类似下面这样的王者荣耀游戏摇杆的效果 二、业界已有的参考资料 在下面这篇博客介绍了如何自定义游戏摇杆 2.1 博客介绍 Android自定义摇杆 2.1.1 功能 支持自适应大小 支持2个方向、4个方向、8个方向的摇动监听 支持摇动角度获取 可选回调模式 支持可摇动区域自定义 支持摇杆自定义 支持设置图片、色值、Shape图形 2.1.2 效果图 2.1.3 设置回调方式 setCallBac

字节卷动 1407

C#读取EXCEL列数据,并画折线图(刚开始入门小白自己整理的,方便自己以后看)

首先建立一个c#dll文件,添加代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.Office.Interop.Excel; using System.Diagnostics; ...

qq_39912781的博客 6897

2026华为OD机考新系统真题 + 双机位C卷 + 往年真题 - 题库目录分值说明 + 考点说明+在线OJ

2026年4月1日起,华为OD机试正式切换至新系统模式!采用力扣模式,无需自己写输入! 难度大幅度降低。正在备考华为OD机试的同学,优先刷新系统机试真题,可大幅提升通过率。 新系统考题考点与旧版一致,无需重新适应。本专栏所有算法题均配有详细思路解析,并提供C语言、JS、C++、Python、Go、Java多语言源码实现。订阅后私信即可开通专属OJ刷题权限,高效备考一次上岸!

算法大师! 45万+

chart折线图_C# 生成chart图表的三种方式

在.net中,微软给我们提供了画图类(system.drawing.imaging),在该类中画图的基本功能都有。比如:直线、折线、矩形、多边形、椭圆形、扇形、曲线等等,因此一般的图形都可以直接通过代码画出来。接下来介绍一些画图函数:Bitmap bmap=new Bitmap(500,500) /定义图像大小;bmap.Save(stream,imagecodecinfo) /将图像保...

weixin_33484805的博客 3062

c++ pcl点云处理(2025 长期更新)

目录1.常用的点云文件2.认识点云的文件格式3.点云的数据结构4.输入输出(IO)5.KD树6.Oc树(八叉树)7.点云可视化8.点云滤波9.点云拟合分割10.点云与图像11.特征点与特征描述及提取12.点云配准13.点云曲面重建

twnkie的博客 2257

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

VS2010 使用TeeChart画图控件 - 之二 - 绘制图形(折线图,柱状图)

1.前期准备 详细可见VS2010 使用TeeChart画图控件 - 之中的一个控件和类的导入 1. 1 加入�TeeChart控件,给控件加入�变量m_TeeChart 加入�TeeChart控件,右击控件,选择加入�变量,vs会自己主动给我们引入CTchart1这个类,可是仅仅有这个类,我们是远远不够的,须要加入�teechar...

weixin_30411997的博客 209

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

C# 生成chart图表的三种方式

在.net中,微软给我们提供了画图类(system.drawing.imaging),在该类中画图的基本功能都有。比如:直线、折线、矩形、多边形、椭圆形、扇形、曲线等等,因此一般的图形都可...

zls365365的博客 2333

温度PID控制PLC程序

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

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

C#窗体 生成chart图表的三种方式

在.net平台里面,微软给我们提供了画图类(system.drawing.imaging),在该类中画图的基本功能都有。例如:直线、折线、矩形、多边形、椭圆形、扇形、曲线等等,所以一般的图形都可以直接通过编程代码画出来。那么接下来介绍几个常见的画图函数:Bitmap bmap=new Bitmap(500,500) /定义图像大小;bmap.Save(stream,imagecodeci...

zls365365的博客 1167
上一篇: C# WinForm开发系列之c# 通过.net自带的chart控件绘制饼图,柱形图和折线图的基础使用和扩展
下一篇: C#为控件或自定义控件添加自定义属性,自定义事件
想念-忘记了
博客等级 码龄10年 64粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值