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 ...
随机推荐
- TCP/UDP对比总结
目录 1 TCP-UDP对比 2 UDP介绍 3 TCP介绍 3.1 可靠传输的原理和实现 3.1.1 可靠传输原理 3.1.2 可靠传输实现 3.2 TCP面向连接管理 3.2.1 建立连接 3.2 ...
- Unity进阶之:Shader渲染
版权声明: 本文原创发布于博客园"优梦创客"的博客空间(网址:http://www.cnblogs.com/raymondking123/)以及微信公众号"优梦创客&qu ...
- 使用webpack---安装webpack和webpack-dev-server
1.先确保安装了最新版的Node.js和NPM,并已经了解NPM的基本用法 (以下使用cmd命令行进行) 2.安装webpack (1)全局安装 $ npm install webpack -g ...
- R 实用命令 1
Quit and restart a clean R session from within R? If you're in RStudio: command/ctrl + shift + F10 . ...
- luoguP2444_[POI2000]病毒
题意 给定多个01模式串,问是否存在一个无限长的字符串不包含任何一个模式串. 分析 好像数据有点水,网上一大堆题解连样例都没过??? 多模式串,先把AC自动机建出来再说. 反向考虑,若存在一个无限长的 ...
- 使用.Net Core + Vue + IdentityServer4 + Ocelot 实现一个简单的DEMO +源码
运行环境 Vue 使用的是D2admin: https://doc.d2admin.fairyever.com/zh/ Github地址:https://github.com/Fengddd/Perm ...
- go 学习笔记之万万没想到宠物店竟然催生出面向接口编程?
到底是要猫还是要狗 在上篇文章中,我们编撰了一则简短的小故事用于讲解了什么是面向对象的继承特性以及 Go 语言是如何实现这种继承语义的,这一节我们将继续探讨新的场景,希望能顺便讲解面向对象的接口概念. ...
- Liunx学习总结(七)--系统状态查看和统计
sar命令 sar 是一个非常强大的性能分析工具,它可以获取系统的 cpu/等待队列/磁盘IO/内存/网络等性能指标.功能多的必然结果是选项多,应用复杂,但只要知道一些常用的选项足以. 语法 sar ...
- python学习——python之禅
(一)python之禅: 在python中运行import this你会看到这样一段文字: The Zen of Python, by Tim Peters Beautiful is better ...
- Linux shell 获得字符串所在行数及位置
shell 获得字符串所在行数及位置 01 获取字符串所在的行数 方式一:用grep -n [root@root]# cat test apple bit create delect exe flow ...