Winform中实现ZedGraph新增自定义Y轴上下限、颜色、标题功能
场景
Winform中实现ZedGraph的多条Y轴(附源码下载):
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100132245
在上面实现显示多条自定义Y轴的效果上,改进实现自定义新增Y轴功能。
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
示例代码下载
https://download.csdn.net/download/badao_liumang_qizhi/11653210
实现
主窗体添加按钮,点击之后弹出Y轴设置界面。
private void button12_Click(object sender, EventArgs e)
{
addY = new AddY();
addY.Show(); }
其中addY是对应要弹窗显示的窗体对象,其设计如下

此窗体有两个EditText,用来存储Y轴的上下限,然后使用RadioGroup用来设置标题的选择,然后使用
ColorEditPicker进行颜色的选择,以上的控件都是使用的DevExpress的控件。
在点击新增按钮时将控件上的所有属性赋值给声明的YAxis对象。
private void button1_Click(object sender, EventArgs e)
{
YAxis y = new YAxis();
//标题
y.Title.Text = this.radioGroup1.Text;
//颜色
y.Color = this.colorPickEdit1.Color;
//下限
y.Scale.Min = Double.Parse(this.textEdit1.Text);
//上限
y.Scale.Max = Double.Parse(this.textEdit2.Text); if (setYaxisEvent != null)
{
setYaxisEvent(y);
} }
这里使用的是事件与委托进行跨窗体传递对象。
在AddY当前页面代码中
//委托的定义
public delegate void SetYaxisDelegete(YAxis s);
//事件声明
public static event SetYaxisDelegete setYaxisEvent;
然后在主页面Form1中的初始化方法中进行委托的订阅
//添加Y轴
AddY.setYaxisEvent += new AddY.SetYaxisDelegete(addYaxis);
此时传递了addYaxis方法名
方法代码:
public void addYaxis(YAxis y)
{
//如果是新增第二条Y轴
if (ycount == )
{
//第二条Y轴标题
myPane.Y2Axis.Title.Text = y.Title.Text.ToString(); //第二条Y轴下限
myPane.Y2Axis.Scale.Min = y.Scale.Min;
//第二条Y轴上限
myPane.Y2Axis.Scale.Max = y.Scale.Max;
//设置颜色
myPane.Y2Axis.Color = y.Color;
//设置刻度线字体颜色
myPane.Y2Axis.Scale.FontSpec.FontColor = y.Color;
//设置标题字体颜色
myPane.Y2Axis.Title.FontSpec.FontColor = y.Color;
//让第二条Y轴显示
myPane.Y2Axis.IsVisible = true;
ycount++;
//关闭窗口
addY.Close();
zedGraphControl1.Invalidate(); }
//否则就是新增第三条及以上
else
{
//int yIndex = myPane.YAxisList.Count+1;
// 创建第yIndex条Y轴
YAxis yAxisNew = new YAxis(y.Title.Text.ToString());
yAxisNew.Scale.Min = y.Scale.Min;
yAxisNew.Scale.Max = y.Scale.Max;
//设置Y轴颜色
yAxisNew.Color = y.Color;
//设置刻度线字体颜色
yAxisNew.Scale.FontSpec.FontColor = y.Color;
//设置标题字体颜色
yAxisNew.Title.FontSpec.FontColor = y.Color;
//yAxisNew.Type = AxisType.Text;
//显示小刻度 是false则看不到效果
//yAxisNew.MinorGrid.IsVisible = true;
// turn off the opposite tics so the Y2 tics don't show up on the Y axis
//关闭相反的tics,使y2 tics不会显示在y轴上
yAxisNew.MajorTic.IsInside = true;
yAxisNew.MinorTic.IsInside = true;
yAxisNew.MajorTic.IsOpposite = true;
yAxisNew.MinorTic.IsOpposite = true; // Align the Y2 axis labels so they are flush to the axis
//对齐Y2轴标签,使其与轴平齐
//yAxisNew.Scale.Align = AlignP.Inside;
//添加到Y轴的list
myPane.YAxisList.Add(yAxisNew);
//关闭窗口
addY.Close();
zedGraphControl1.Invalidate();
}
}
效果



Winform中实现ZedGraph新增自定义Y轴上下限、颜色、标题功能的更多相关文章
- Winform中设置ZedGraph多条Y轴时坐标轴左右显示设置
场景 Winform中实现ZedGraph的多条Y轴(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1001322 ...
- Winform中设置ZedGraph多条Y轴时与多条曲线一一对应
场景 Winform中实现ZedGraph的多条Y轴(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1001322 ...
- Winforn中设置ZedGraph多条Y轴时曲线刻度不均匀问题解决
场景 Winform中实现ZedGraph的多条Y轴(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1001322 ...
- Winform中实现ZedGraph不显示y=0这条刻度线
场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
- 史上最全Winform中使用ZedGraph教程与资源汇总整理(附资源下载)
场景 C#窗体应用中使用ZedGraph曲线插件绘制图表: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/99716066 Win ...
- Winform中设置多条Y轴时新增的Y轴刻度不显示问题解决
场景 Winform中实现ZedGraph的多条Y轴(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1001322 ...
- Winform中设置ZedGraph鼠标悬浮显示举例最近曲线上的点的坐标值和X轴与Y轴的标题
场景 Winform中设置ZedGraph鼠标双击获取距离最近曲线上的点的坐标值: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/ ...
- Winform中设置ZedGraph鼠标滚轮缩放的灵敏度以及设置滚轮缩放的方式(鼠标焦点为中心还是图形中心点)
场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
- Winform中设置ZedGraph的曲线符号Symbol以及对应关系
场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
随机推荐
- netty源码解解析(4.0)-17 ChannelHandler: IdleStateHandler实现
io.netty.handler.timeout.IdleStateHandler功能是监测Channel上read, write或者这两者的空闲状态.当Channel超过了指定的空闲时间时,这个Ha ...
- Consul的反熵
熵 熵是衡量某个体系中事物混乱程度的一个指标,是从热力学第二定律借鉴过来的. 熵增原理 孤立系统的熵永不自动减少,熵在可逆过程中不变,在不可逆过程中增加.熵增加原理是热力学第二定律的又一种表述,它更为 ...
- Javarscipt中数组或者字符串的随机排序方法
在日常开发中,经常会遇到随机排序的需求,思路就是利用Math.random()方法,抽取随机数,让数组中的元素进行对调: 话不多说直接上代码,方法一:基本思路就是将a中随机抽取一个元素,放入b中,再从 ...
- Unity进阶之ET网络游戏开发框架 04-资源打包
版权申明: 本文原创首发于以下网站: 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123 优梦创客的官方博客:https://91make.top ...
- cython 第一次接触
https://www.cnblogs.com/kaituorensheng/p/4452881.html
- Cassandra查询操作趟坑记录
例子表 CREATE TABLE employee ( name TEXT, age SMALLINT, phone TEXT, bornDate DATE, createDate timestamp ...
- HBase的安装和使用
文章作者:foochane 原文链接:https://foochane.cn/article/2019062801.html 1 Hbase基本介绍 Hbase是一个分布式数据库,可以提供数据的实时 ...
- Condition控制线程通信
Condition控制线程通信 一.前言 java.util.concurrent.locks.Condition 接口描述了可能会与锁有关联的条件变量.这些变量在用法上与使用Object.wait ...
- KVC的使用
KVC的使用如下: (1)利用给对象的属性赋值,调用如下两个方法 - (void)setValue:(nullable id)value forKey:(NSString *)key; - (void ...
- 深度解密Go语言之 scheduler
目录 前置知识 os scheduler 线程切换 函数调用过程分析 goroutine 是怎么工作的 什么是 goroutine goroutine 和 thread 的区别 M:N 模型 什么是 ...