场景

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轴时坐标轴左右显示设置的更多相关文章

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

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

  2. Winforn中设置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. Winform中设置ZedGraph鼠标悬浮显示举例最近曲线上的点的坐标值和X轴与Y轴的标题

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

  5. Winform中设置ZedGraph的曲线为散点图

    场景 Winform中设置ZedGraph的曲线符号Symbol以及对应关系: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  6. Winform中设置ZedGraph的曲线为折线、点折线、散点图

    场景 Winform中设置ZedGraph的曲线为散点图: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102465399 在上 ...

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

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

  8. Winform中设置ZedGraph的X轴与Y轴的刻度不在对面显示

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

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

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

随机推荐

  1. 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 ...

  2. 程序员的自我修养系列(一):优雅的代码管理工具之GitHub

    1.导言 代码管理是程序员经常遇到一个问题,很多童鞋将代码保存到本地硬盘,此种方法管理混乱,也存在代码丢失的风险,且版本无法控制,因此养成良好的代码管理习惯是程序员的必修课.在众多代码管理工具中笔者在 ...

  3. rust语法

    目录 rust语法 前言 一.数据类型 1.1 标量scalar 1.2 复合compound 1.3 切片slice 1.4 引用(借用)reference 1.5 智能指针smart pointe ...

  4. protocol buffers 使用方法

    protocol buffers 使用方法 为什么使用 Protocol Buffers 我们接下来要使用的例子是一个非常简单的"地址簿"应用程序,它能从文件中读取联系人详细信息. ...

  5. shell脚本模板----自动生成开头注释信息

    每当我们新建一个shell脚本都要去写一些繁琐的注释信息,这会浪费掉我们很多的时间,有没有感觉很痛苦呢? 哈哈 下面给大家分享一个shell脚本的模板文件,把它拷贝到用户的家目录下并命名成  .vim ...

  6. (办公)vue下载excel,后台用post方法

    后台方法的参数必须是@RequestBody修饰的. 前台关键代码: axios ( { method : 'post', url : api.exportPlayTime , // 请求地址 dat ...

  7. 往对象数组里面添加相同的key 不同的value 和删除相同的key值

    应用场景:后盾字段没有发给你  自己补充数据 <div v-for="item in list" :key="item.id"> <p> ...

  8. 自定义vue的loading插件

    在一般的vue项目中,都会用到Loading或者Alert之类的弹窗浮层,而他们是一种比较高频率出现的组件. 一般情况下,我们都会去直接import该组件,然后直接以标签的形式引用进去当前页面组件中, ...

  9. keras 学习笔记(二) ——— data_generator

    data_generator 每次输出一个batch,基于keras.utils.Sequence Base object for fitting to a sequence of data, suc ...

  10. 剑指Offer-8.跳台阶(C++/Java)

    题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 分析: 实际上就是斐波那契数列的一个应用,青蛙跳上n级台阶的跳法数等于跳 ...