场景

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 == 1){//第二条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轴的listmyPane.YAxisList.Add(yAxisNew);//关闭窗口addY.Close();zedGraphControl1.Invalidate();}}

效果

Winform中实现ZedGraph新增自定义Y轴上下限、颜色、标题功能相关推荐

  1. 在WinForm中使用ZedGraph实现多Y轴曲线展示

    在WinForm中使用ZedGraph实现多Y轴曲线展示 背景 实现思路 效果图 主要功能 关键代码 完整代码下载 背景 在很多业务场景中都会用到基于一个时间轴(X轴)的多个曲线(温度.压力.能量.功 ...

  2. Winform中设置ZedGraph多条Y轴时坐标轴左右显示设置

    场景 Winform中实现ZedGraph的多条Y轴(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1001322 ...

  3. Winform中设置ZedGraph多条Y轴时与多条曲线一一对应

    场景 Winform中实现ZedGraph的多条Y轴(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1001322 ...

  4. Winforn中设置ZedGraph多条Y轴时曲线刻度不均匀问题解决

    场景 Winform中实现ZedGraph的多条Y轴(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1001322 ...

  5. Winform中实现ZedGraph不显示y=0这条刻度线

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  6. 史上最全Winform中使用ZedGraph教程与资源汇总整理(附资源下载)

    场景 C#窗体应用中使用ZedGraph曲线插件绘制图表: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/99716066 Win ...

  7. Winform中设置多条Y轴时新增的Y轴刻度不显示问题解决

    场景 Winform中实现ZedGraph的多条Y轴(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1001322 ...

  8. Winform中设置ZedGraph的多条Y轴的标题和刻度不显示十次幂

    场景 Winform中设置ZedGraph的坐标轴的标题和刻度不显示十次幂: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106 ...

  9. Winform中设置ZedGraph鼠标悬浮显示距离最近曲线上的点的坐标值和X轴与Y轴的标题

    场景 Winform中设置ZedGraph鼠标双击获取距离最近曲线上的点的坐标值: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/ ...

最新文章

  1. ***Xcode Interface Builder或Storyboard中可建立那两种连接?
  2. 由于c语言是由字符流组成的,C语言试题及答案
  3. Java基础知识——异常Throwable和Exception
  4. 四种形态图解_涨停板战法的四种形态(图解)
  5. etcd raft library设计原理和使用
  6. 思维导图_教学工具思维导图
  7. 计算机专业选电科还是华科,西交、华科与两电一邮:5所高校怎么选?工科选西交,学IT选北邮...
  8. c oracle 参数赋值,利用c#反射实现实体类生成以及数据获取与赋值
  9. 消消乐 游戏算法html,Vue实现开心消消乐游戏算法
  10. jdk目录详解及其使用方法
  11. python 绝对值_Python绝对值– abs()
  12. android版 git客户端下载,Pocket Git 是 Android 手机上一个 Git 客户端工具
  13. CDH和CM介绍及搭建
  14. 认养农业菜园认租如何助力农业发展?
  15. java实现汉诺塔游戏(递归)(附超详细易懂注释)
  16. 消息中间件---选型分析
  17. 一个可直接使用的轻量级博客开源系统
  18. 机器学习 第三节 第九课
  19. 小白如何制作一个微信小程序
  20. deepin/linux下svn客户端工具

热门文章

  1. pgsql 筛选中文字符正则_「每日一练」巧用Python对字符串进行筛选
  2. 三层架构用户登录代码c语言,三层架构实现简单的用户登录代码
  3. Spring 初识Aop JDK动态代理实现 原理初显
  4. 根据屏幕分辨率获取css,根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码...
  5. python文件名带日期变量_Python实现文件按照日期命名的方法
  6. alias cli3 配置_vue-cli3全面配置详解
  7. php foreach方法,forEach方法怎么使用
  8. mysql查询出去年某月_Mysql 查询某年,某季度,某月,某天搜索方法总结
  9. python在人工智能应用锁_解读! Python在人工智能中的作用
  10. php protected 的继承,14 PHP 类的继承 [public protected private] parent 构造方法 析构方法 重写 最终类和方法 设计模式...