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[]);
//循环剩下的Y轴
for (int i = ; 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;
}
效果

Winform中设置ZedGraph多条Y轴时坐标轴左右显示设置的更多相关文章
- 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轴上下限、颜色、标题功能
场景 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的曲线为散点图
场景 Winform中设置ZedGraph的曲线符号Symbol以及对应关系: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
- Winform中设置ZedGraph的曲线为折线、点折线、散点图
场景 Winform中设置ZedGraph的曲线为散点图: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102465399 在上 ...
- Winform中设置多条Y轴时新增的Y轴刻度不显示问题解决
场景 Winform中实现ZedGraph的多条Y轴(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1001322 ...
- Winform中设置ZedGraph的X轴与Y轴的刻度不在对面显示
场景 C#窗体应用中使用ZedGraph曲线插件绘制图表: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/99716066 Win ...
- Winform中实现ZedGraph不显示y=0这条刻度线
场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
随机推荐
- Initialize a Property After Creating an Object创建对象后初始化属性 即如何设置对象的默认值(EF)
In this lesson, you will learn how to set the default value for a particular property of a business ...
- 程序员的自我修养系列(一):优雅的代码管理工具之GitHub
1.导言 代码管理是程序员经常遇到一个问题,很多童鞋将代码保存到本地硬盘,此种方法管理混乱,也存在代码丢失的风险,且版本无法控制,因此养成良好的代码管理习惯是程序员的必修课.在众多代码管理工具中笔者在 ...
- rust语法
目录 rust语法 前言 一.数据类型 1.1 标量scalar 1.2 复合compound 1.3 切片slice 1.4 引用(借用)reference 1.5 智能指针smart pointe ...
- protocol buffers 使用方法
protocol buffers 使用方法 为什么使用 Protocol Buffers 我们接下来要使用的例子是一个非常简单的"地址簿"应用程序,它能从文件中读取联系人详细信息. ...
- shell脚本模板----自动生成开头注释信息
每当我们新建一个shell脚本都要去写一些繁琐的注释信息,这会浪费掉我们很多的时间,有没有感觉很痛苦呢? 哈哈 下面给大家分享一个shell脚本的模板文件,把它拷贝到用户的家目录下并命名成 .vim ...
- (办公)vue下载excel,后台用post方法
后台方法的参数必须是@RequestBody修饰的. 前台关键代码: axios ( { method : 'post', url : api.exportPlayTime , // 请求地址 dat ...
- 往对象数组里面添加相同的key 不同的value 和删除相同的key值
应用场景:后盾字段没有发给你 自己补充数据 <div v-for="item in list" :key="item.id"> <p> ...
- 自定义vue的loading插件
在一般的vue项目中,都会用到Loading或者Alert之类的弹窗浮层,而他们是一种比较高频率出现的组件. 一般情况下,我们都会去直接import该组件,然后直接以标签的形式引用进去当前页面组件中, ...
- keras 学习笔记(二) ——— data_generator
data_generator 每次输出一个batch,基于keras.utils.Sequence Base object for fitting to a sequence of data, suc ...
- 剑指Offer-8.跳台阶(C++/Java)
题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 分析: 实际上就是斐波那契数列的一个应用,青蛙跳上n级台阶的跳法数等于跳 ...