Winform中设置ZedGraph多条Y轴时坐标轴左右显示设置
程序员文章站
2022-05-15 10:31:08
场景 Winform中实现ZedGraph的多条Y轴(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100132245 在上面实现显示多条自定义Y轴的效果上,效果是左边一条Y轴,第二条在右边显示,然后第三条以及以后 ......
场景
winform中实现zedgraph的多条y轴(附源码下载):
https://blog.csdn.net/badao_liumang_qizhi/article/details/100132245
在上面实现显示多条自定义y轴的效果上,效果是左边一条y轴,第二条在右边显示,然后第三条以及以后都在左边显示。
上面实现的效果
zedgraph的graphpane对象的自带yaxis和y2axis代表一左一右两个坐标轴对象。
默认显示左边的yaxis对象,右边的y2xis需要设置才能显示。
如果要继续添加,在左边则在yaxislist中添加,在右边则在y2axislist中添加。
注:
博客主页:
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
右边显示坐标设置
//第二条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; }
效果
推荐阅读
-
Winform中自定义添加ZedGraph右键实现设置所有Y轴刻度的上下限
-
Winform中设置ZedGraph多条Y轴时坐标轴左右显示设置
-
Winforn中设置ZedGraph多条Y轴时曲线刻度不均匀问题解决
-
Winform中设置ZedGraph多条Y轴时与多条曲线一一对应
-
Winform中设置多条Y轴时新增的Y轴刻度不显示问题解决
-
WInform中实现设置ZedGraph中曲线的X轴与Y轴的上限与下限
-
Winform中设置ZedGraph的X轴与Y轴的刻度不在对面显示
-
Winform中设置ZedGraph鼠标悬浮显示举例最近曲线上的点的坐标值和X轴与Y轴的标题
-
Winform中设置ZedGraph多条Y轴时与多条曲线一一对应
-
Winform中设置ZedGraph多条Y轴时坐标轴左右显示设置