C#zegraph用法

article/2025/10/6 23:53:40

一、引用using ZedGraph;
在资源管理器中点击引用,将ZedGraph.dll添加到工程项目中。
在这里插入图片描述
在这里插入图片描述

二、添加zedGraphControl控件
在工具箱的常规项目右击添加选择项,浏览zedgraph.dll
在这里插入图片描述
二、基本图、直方图、折线图、圆饼图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

三、zedgraph相关属性

classDescription
MasterPane这是一个管理多个GraphPane对象的类,继承于PaneBase。MasterPane类的应用是可选的,因为GraphPane类能够直接用于单个面板。提供布局、排列和单个GraphPane对象的管理的方法
GraphPane图像的主要类,继承自PaneBase。包含所有其他的类作为属性。多用于控制图像面板的标题、窗框架和坐标轴框架、背景等属性。
XAxis, YAxis, Y2AxisAxis类的子类。这些类包括了很多坐标轴显示的形式,包括:刻度、网格、颜色、画笔、字体、标签和类型。
Scale通过Axis类声明的一个类实例。包括刻度范围、步长、格式和刻度的显示选项。由Linear, Log, Text, Date, Ordinal, Exponent, LinearAsOrdinal, and DateAsOrdinal scales的不同而不同。
Legend此类为描述位置、字体、颜色等性质的类,用于绘制图例
CurveItem一个对应单条曲线并包含数据的抽象基类。LineItem, BarItem, HiLowBarItem, ErrorBarItem, PieItem, StickItem, OHLCBarItem, and JapaneseCandleStickItem 都继承于此类。
CurveList一个集合类维护了一个CurveItem的对象链表。在链表中的曲线的顺序控制着 Z-顺序为了绘图。在链表中最后的曲线将会出现在其她的曲线之后。
GraphObj这是一个抽象的基类,他包含了多种的追加图像对象在一个分块中的位置信息。TextObj, ImageObj, LineObj, ArrowObj, EllipseObj, BoxObj, and PolyObj 都继承自GraphObj.
GraphObjList一个维护GraphObj链表的集合类。
FontSpec包括字体信息的功能类,主要是关于图像上字体的颜色、角度、大小、样式、框架和字体的背景填充。每一个包含字体信息的类将会包含一个或几个FontSpec的对象去相应的描述相关联的字体。
Fill包括背景颜色特性的功能类。每一个含有色彩填充能力的对象都包含一个或多个Fill对象去相应的描述相关联的颜色填充。
Border包括边框特性的功能类。每一个含有边框描述能力的对象都包含一个或多个Border对象去相应的描述相关联的边框线形和颜色。
Location一个通用的类,此类处理图像对象在图形中的位置。
PointPair一个封装了一对double型数据的数据结构,其表征了一个(x,y)的数据点,这是在每个CurveItem中值数组的内部的存储格式。
PointPairList一个集合类维护了一个PointPair对象的数据链表。

Copy(Boolean) ->> 将图像复制到剪贴板。
DoPageSetup()() ->> 打开打印设置对话框。
DoPrint()() ->> 打印图表。
DoPrintPreview()() ->> 打印预览。
GetImage()() ->> 返回图表上的图像。
IsEnableHZoom ->> 是否允许横向缩放。
IsEnableVZoom ->> 是否允许纵向缩放。
IsEnableZoom ->> 是否允许缩放。
IsShowContextMenu ->> 是否显示右键菜单,如果指定了ContextMenuStrip会一直显示指定的ContextMenu。
IsShowCopyMessage ->> 复制图像时是否显示提示信息。
IsShowCursorValues ->> 鼠标在图表上移动时是否显示鼠标所在点对应的坐标值。默认为false
IsShowHScrollBar ->> 是否显示横向滚动条。
IsShowPointValues ->> 鼠标经过图表上的点时是否气泡显示该点所对应的值。默认为false
IsShowVScrollBar ->> 是否显示纵向滚动条。
IsZoomOnMouseCenter ->> 使用滚轮时以鼠标所在点进行缩放还是以图形中心进行缩放。
MouseDownEvent ->> 代替MouseDown事件,有一个bool类型的返回值,代表是否响应该事件。
MouseUpEvent ->> 代替MouseUp事件,有一个bool类型的返回值,代表是否响应该事件。
SaveAs()() ->> 显示另存为对话框。
SaveAsBitmap()() ->> 显示另存为对话框,将图像另存为BMP文件。
SaveAsEmf()() ->> 显示另存为对话框,将图像另存为EMF文件。
MinorGrid\MajorGrid 小刻度和大刻度的虚线的,显示在图表中用来分割图表的。默认IsVisible是False,看不到效果。
Color ->> 线的颜色。
DashOff ->> 点线中点与点之间的间隔。
DashOn ->> 点线中点的长度。
IsVisible ->> 是否可见。
PenWidth ->> 画笔宽度。
MinorTic\MajorTic 坐标轴上小刻度和大刻度的线的设置。
Color ->> 刻度线的颜色。
IsInside ->> 刻度条是否要显示到坐标轴的里边。
IsOpposite ->> 对面的坐标轴是否显示该刻度。
IsOutside ->> 刻度条是否要显示到坐标轴的外边。
PenWidth ->> 画笔宽度。
Size ->> 刻度线的长度。
Scale 刻度值相关
BaseTic ->> 第一个刻度从哪个值开始。
FontSpec ->> 刻度值的字体属性。
Format ->> 刻度值的格式化,string类型。
FormatAuto ->> 为true时自动设置Format属性,注意设置Format属性时该属性自动变为False
IsDate ->> 是否为日期。
IsLabelsInside ->> 坐标标签是不是在坐标轴的内部显示。
IsReverse ->> 刻度以0为中心翻转,图形也会随着翻转。
IsSkipCrossLabel ->> 不显示交叉点的标签。
IsSkipFirstLabel ->> 不显示第一个刻度标签。
IsSkipLastLabel ->> 不显示最后一个标签。
IsText ->> 返回刻度值是否是文本类型(只读)
IsUseTenPower ->> 是否为10次幂表示,scale为LogScale时有效。
IsVisible ->> 是否可见。
Mag ->> 如果坐标轴的值要用10次幂显示,此值设置幂数。为0则不用10次幂
MagAuto ->> 是否自动套用10次幂方式显示
MajorStep ->> 大刻度步长值。
MajorStepAuto ->> 自动设置大刻度的步长值。
Max ->> 默认显示的最大刻度值(缩放时会显示比它大的值)
MaxAuto ->> 自动设置最大刻度值。
Min ->> 默认显示的最小刻度值(缩放时会显示比它小的值)
MinAuto ->> 自动设置最小刻度值
MinorStep ->> 小刻度的步长值。
MinorStepAuto ->> 是否自动设定小刻度的步长值。
Type ->> 获取刻度类型(只读)。


http://chatgpt.dhexx.cn/article/IgsgF33L.shtml

相关文章

ZedGraph 绘制动态曲线

文章目录 前言:开发环境:1 下载ZedGraph 控件并设置图形界面2 功能实现3 需求升级4 小结 话不多数,先上一个效果图: 前言: 需要采集一些设备的数据以图表的形式展示出来,研究数据的走向是否平稳&#xff0…

ZedGraph如何显示鼠标附近的曲线的点?介绍三种方法

使用ZedGraph绘制曲线图的时候,不仅仅是看曲线的走向,也需要查看曲线上某位位置处采集到的数据是多少。下面介绍三种方法,从简单到复杂。 文章目录 1、使用自带的功能显示点的坐标2、 多条曲线的坐标点同时显示3、 多条曲线的坐标点同时显示…

开源框架ZedGraph的使用

.Net的绘图控件ZedGraph的使用 ZedGraph 是一个开源的.NET图表类库, 全部代码都是用C#开发的。它可以利用任意的数据集合创建2D的线性和柱形图表 我们一般不直接使用ZedGraphControl对象,而是使用它的面板对象来进行操作,这里我们将它的面板…

redis解决高并发问题,如商品秒杀

redis真的是一个很好的技术,它可以很好的在一定程度上解决网站一瞬间的并发量,例如商品抢购秒杀等活动。。。 redis之所以能解决高并发的原因是它可以直接访问内存,而以往我们用的是数据库(硬盘),提高了访问效率,解决了数据库服务器压力。 …

Redis的高并发场景解决方案

1.Redis的信息 (1)单线程容易实现。 (2)效率高轻松处理每秒几十万数据(因为是占内存的所以CPU不是瓶颈)。 (3)支持数据类型多(String,List,has…

java如何解决高并发问题_java怎么处理高并发?

java处理高并发的方法:1、优化代码,减少不必要的资源浪费;2、把图片与页面进行分离,将图片放到独立的图片服器;3、使用缓存,可以大量减少与数据库的交互,提高性能;4、使用数据库集群;5、进行DB优化;6、硬件上做到负载均衡等等。 java处理高并发的方法: 1、从最基础的…

flask 多进程/多线程 解决高并发问题

1、简介: Flask 默认是单进程,单线程阻塞的任务模式,在项目上线的时候可以通过nginxgunicorn 的方式部署flask任务。 app.run()中可以接受两个参数,分别是threaded和processes,用于开启线程支持和进程支持。 1.thre…

高并发超卖问题简要解决方案

1、传统通过数据库保证不超卖 事务行锁并不是解决超卖的方案,只是保障数据的统一性。传统通过回滚事务的方式防止某些用户多卖的情况。 采用新建一个防重表事务的方式防止超卖。同一事务中,采用如 用户ID商品ID 的方式作为防重表唯一索引字段的数值&…

python 中如何解决高并发问题

python 中小量高并发问题的解决 描述:在多个用户同时发起对同一个商品的下单请求时,先查询商品库存,再修改商品库存,会出现资源竞争问题,导致库存的最终结果出现异常。 例如:id为16的商品的库存为10&#…

高并发的解决方式

大型网站如何防止崩溃,解决高并发带来的问题 大型网站,比如门户网站,在面对大量用户访问、高并发请求方面带来的问题 1大并发:在同一个时间点,有大量的客户来访问我们的网站,如果访问量过大,就…

三个方法解决php并发问题

福利:[网络安全重磅福利:入门&进阶全套282G学习资源包免费分享 !] 解决php并发问题的方法有很多,具体可以使用MySQL的行级锁、乐观锁和Redis的分布式锁等技术来解决。此外,还可以使用消息队列、多进程、多线程等技…

Redis(十)redis使用list解决高并发问题,如商品秒杀

redis真的是一个很好的技术,它可以很好的在一定程度上解决网站一瞬间的并发量,例如商品抢购秒杀等活动。 redis之所以能解决高并发的原因是它可以直接访问内存,而以往我们用的是数据库(硬盘),提高了访问效率,解决了数据库服务器压力。 为什…

PHP解决高并发问题

举个例子,高速路口,1秒钟来5部车,每秒通过5部车,高速路口运作正常。突然,这个路口1秒钟只能通过4部车,车流量仍然依旧,结果必定出现大塞车。(5条车道忽然变成4条车道的感觉&#xff…

如何解决高并发,秒杀问题

相信不少人会被这个问题困扰,分享大家一篇这样的文章,希望能够帮到你! 一、秒杀业务为什么难做? 1)im系统,例如qq或者微博, 每个人都读自己的数据 (好友列表、群列表、个人信息&a…

JAVA RedisTemplate实现(加锁/解锁) 解决高并发问题

基于传统的单机模式下的并发锁,已远远不能满足当下高并发大负载的情况,当下常用的并发处理如下 1、使用synchronized关键字 2、select for update 乐观锁 3、使用redis实现同步锁 方案一 适合单机模式, 方案二 虽然满足多节点服务实例…

mysql 高并发写入锁表_使用mysql中的锁解决高并发问题

阿里云产品通用代金券,最高可领1888分享一波阿里云红包. 阿里云的购买入口 为什么要加锁 多核计算机的出现,计算机实现真正并行计算,可以在同一时刻,执行多个任务。在多线程编程中,因为线程执行顺序不可控导致的数据错误。比如,多线程的理想状态是这样的 多线程理想.jpg 但是…

php如何解决高并发问题

如何用PHP解决高并发问题?(附源码)-php教程-PHP中文网上篇文章给大家介绍了《让我们再进一步了解PHP流程控制语句之if语句吧!!!(附源码)​》,本文继续给大家介绍PHP解决高并发问题https://www.p…

Mysql如何利用乐观锁解决高并发问题

Mysql如何利用乐观锁解决高并发问题 msql Mysql如何利用乐观锁解决高并发问题前言一、案例说明:二、乐观锁:1.介绍:使用版本号实现乐观锁 2.代码实现 总结 前言 例如:在这之前已经许久未写博客了,最近突发奇想还是决定把这个捡起…

Redis解决高并发问题

1 模拟商品抢购和并发的效果 这里模拟一个商品抢购的过程所带来的问题,以及解决问题的思路。 这里模拟的商品抢购过程是一个商品正常购买的过程,其中包含了两个主要的步骤:商品库存减少和商品购买记录的添加。 下面搭建项目环境。 1.1 数…

一文教你如何处理高并发

目录 前言 一、为什么要解决高并发问题 二、性能评估 计算峰值流量方法 本章结论 三、性能测试 测试目的 找到系统最高承受压力的临界点 找出系统中的短板 测试工具 简单测试 1.数据抓包 2.加压测试 3.硬件跟踪 4.JVM跟踪 5.其它组件测试 6.总括 全链路测试&…