Winform中设置ZedGraph多条Y轴时坐标轴左右显示设置
时间:2019-10-11
本文章向大家介绍Winform中设置ZedGraph多条Y轴时坐标轴左右显示设置,主要包括Winform中设置ZedGraph多条Y轴时坐标轴左右显示设置使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
场景
Winform中实现ZedGraph的多条Y轴(附源码下载):
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100132245
在上面实现显示多条自定义Y轴的效果上,效果是左边一条Y轴,第二条在右边显示,然后第三条以及以后都在左边显示。
上面实现的效果
ZedGraph的GraphPane对象的自带YAxis和Y2Axis代表一左一右两个坐标轴对象。
默认显示左边的YAxis对象,右边的Y2Xis需要设置才能显示。
如果要继续添加,在左边则在YAxisList中添加,在右边则在Y2AxisList中添加。
注:
博客主页:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
右边显示坐标设置
//第二条Y轴标题 myPane.Y2Axis.Title.Text = "第二条Y轴标题"; //第二条Y轴字体 myPane.Y2Axis.Title.FontSpec = myFont; //让第二条Y轴显示 myPane.Y2Axis.IsVisible = true; // 创建第三条Y轴 YAxis yAxis3 = new YAxis("第三条Y轴标题"); //添加到Y轴的list myPane.YAxisList.Add(yAxis3);
如果想让坐标轴都显示在左边
// 设置第一条Y轴 myPane = SetYAxisStyle(myPane, yList[0]); //循环剩下的Y轴 for (int i = 1; i < yList.Count; i++) { YAxis yAxisNew = new YAxis(yList[i].Title); myPane = SetNewYAxisStyle(myPane, yAxisNew, yList[i]); }
设置第一条Y轴的方法
public static GraphPane SetYAxisStyle(GraphPane mypane, YAxisModel yAxisModel) { mypane.YAxis.Title.Text = yAxisModel.Title; mypane.YAxis.Title.FontSpec.FontColor = System.Drawing.ColorTranslator.FromHtml(yAxisModel.Color); mypane.YAxis.Scale.Min = yAxisModel.Min; mypane.YAxis.Scale.Max = yAxisModel.Max; mypane.YAxis.Scale.LabelGap = 0f; mypane.YAxis.Scale.Align = AlignP.Outside; mypane.YAxis.Scale.FontSpec.Size = Global.FONT_SIZE; mypane.YAxis.Color = System.Drawing.ColorTranslator.FromHtml(yAxisModel.Color); mypane.YAxis.Title.FontSpec.FontColor = System.Drawing.ColorTranslator.FromHtml(yAxisModel.Color); mypane.YAxis.Scale.FontSpec.FontColor = System.Drawing.ColorTranslator.FromHtml(yAxisModel.Color); mypane.YAxis.Title.FontSpec.Size = Global.FONT_SIZE; mypane.YAxis.Title.FontSpec.Family = Global.FONT_FAMILY; mypane.YAxis.Title.FontSpec.IsBold = true; mypane.YAxis.Title.IsVisible = false; //隐藏Y轴标题显示 #region 刻度设置-小刻度 mypane.YAxis.MinorGrid.IsVisible = false; //隐藏小刻度网格线 mypane.YAxis.MinorTic.IsOpposite = false; //隐藏对面的刻度-小刻度 mypane.YAxis.MinorTic.IsInside = false; //隐藏内测刻度线-小刻度 mypane.YAxis.MinorTic.IsOutside = true; //显示外侧刻度线-小刻度 mypane.YAxis.MinorTic.IsCrossInside = false; //隐藏内测交叉刻度线-小刻度 mypane.YAxis.MinorTic.IsCrossOutside = false; //隐藏外侧交叉刻度线-小刻度 #endregion #region 刻度设置-主刻度 mypane.YAxis.MajorGrid.IsVisible = true; //显示主刻度网格线 mypane.YAxis.MajorGrid.IsZeroLine = false; //隐藏主刻度的0刻度线 mypane.YAxis.MajorTic.IsOpposite = false; //隐藏对面的刻度-主刻度 mypane.YAxis.MajorTic.IsInside = false; //隐藏内测刻度线-主刻度 mypane.YAxis.MajorTic.IsOutside = true; //显示外侧刻度线-主刻度 mypane.YAxis.MajorTic.IsCrossInside = false; //隐藏内测交叉刻度线-主刻度 mypane.YAxis.MajorTic.IsCrossOutside = false; //隐藏外侧交叉刻度线-主刻度 #endregion return mypane; }
设置新增Y轴的方法
public static GraphPane SetNewYAxisStyle(GraphPane myPane, YAxis yAxis, YAxisModel yAxisModel) { yAxis.Title.Text = yAxisModel.Title; yAxis.Title.FontSpec.FontColor = System.Drawing.ColorTranslator.FromHtml(yAxisModel.Color); yAxis.Scale.Min = yAxisModel.Min; yAxis.Scale.Max = yAxisModel.Max; yAxis.Scale.LabelGap = 0.2f; yAxis.Scale.Align = AlignP.Outside; yAxis.Scale.FontSpec.FontColor = System.Drawing.ColorTranslator.FromHtml(yAxisModel.Color); yAxis.Scale.FontSpec.Size = Global.FONT_SIZE; yAxis.Scale.FontSpec.FontColor = System.Drawing.ColorTranslator.FromHtml(yAxisModel.Color); yAxis.Color = System.Drawing.ColorTranslator.FromHtml(yAxisModel.Color); yAxis.Title.FontSpec.FontColor = System.Drawing.ColorTranslator.FromHtml(yAxisModel.Color); yAxis.Title.FontSpec.Size = Global.FONT_SIZE; yAxis.Title.FontSpec.Family = Global.FONT_FAMILY; yAxis.Title.FontSpec.IsBold = true; yAxis.Title.IsVisible = false; //隐藏Y轴标题 //yAxis.Type = AxisType.Text; //Y轴不能设置此属性,应该以刻度值显示 #region 刻度设置-小刻度 yAxis.MinorGrid.IsVisible = false; //隐藏小刻度网格线 yAxis.MinorTic.IsOpposite = false; //隐藏对面的刻度-小刻度 yAxis.MinorTic.IsInside = false; //隐藏内测刻度线-小刻度 yAxis.MinorTic.IsOutside = true; //显示外侧刻度线-小刻度 yAxis.MinorTic.IsCrossInside = false; //隐藏内测交叉刻度线-小刻度 yAxis.MinorTic.IsCrossOutside = false; //隐藏外侧交叉刻度线-小刻度 #endregion #region 刻度设置-主刻度 yAxis.MajorGrid.IsVisible = true; //显示主刻度网格线 yAxis.MajorGrid.IsZeroLine = false; //隐藏主刻度的0刻度线 yAxis.MajorTic.IsOpposite = false; //隐藏对面的刻度-主刻度 yAxis.MajorTic.IsInside = false; //隐藏内测刻度线-主刻度 yAxis.MajorTic.IsOutside = true; //显示外侧刻度线-主刻度 yAxis.MajorTic.IsCrossInside = false; //隐藏内测交叉刻度线-主刻度 yAxis.MajorTic.IsCrossOutside = false; //隐藏外侧交叉刻度线-主刻度 #endregion //添加到Y轴的list myPane.YAxisList.Add(yAxis); return myPane; }
效果
原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/11652807.html
- Quartz.net官方开发指南 第三课:更多关于Jobs和JobDetails
- 为你的WordPress 主题添加结构化数据/丰富文本摘要,高亮搜索结果(下)
- Quartz.net官方开发指南 第四课:关于Triggers更多内容
- 数据分析:寻找Python最优计算性能
- 事件流处理框架NEsper for .NET
- Quartz.net官方开发指南 第五课: SimpleTrigger
- SQL Server Performance Dashboard Reports
- 添加WordPress评论输入邮箱实时显示Gravatar头像功能
- Quartz.net官方开发指南 第六课 : CronTrigger
- WordPress 中禁止某个用户在线编辑主题
- Quartz.net官方开发指南 第七课 : TriggerListeners和JobListeners
- Quartz.net官方开发指南 第八课:SchedulerListeners
- 为WordPress 后台编辑器文本模式(HTML模式)添加按钮
- 360安全扫描之WordPress 页面异常导致本地路径泄漏 的漏洞修补
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Spring Cloud Hystrix - 服务容错
- 记一次内存溢出问题的排查、分析过程及解决思路
- Spring Cloud Sleuth + Zipkin 实现服务追踪
- Docker化你的SpringBoot项目
- 微信公众号开发者模式介绍及接入
- SpringBoot2.x整合MyBatis
- 使用微信测试账号对网页进行授权
- Spring JMS的使用
- 使用Java编写ActiveMQ的队列模式和主题模式
- 安装ActiveMQ
- Spring Cloud Zuul 快速入门
- Spring Cloud 集成 RabbitMQ
- SpringBoot2.x集成Apache Shiro并完成简单的Case开发
- Spring Security权限框架理论与简单Case
- leetcode树之N叉树的前序遍历