ZedGraph设置刻度轴的颜色、刻度文本颜色以及网格线的颜色

1 刻度轴的设置

本小节介绍 如何设置刻度的颜色、长度、生长方向以及将正上方的刻度隐藏掉,还有设置刻度文本的颜色Scale.FontSpec.FontColor

            Color axisColor = Color.FromArgb(150, 150, 150);
            #region X轴
            //设置主刻度的长度
            this.zedGraph.GraphPane.XAxis.MajorTic.Size = 30f;
            //主刻度颜色  黄色
            this.zedGraph.GraphPane.XAxis.MajorTic.Color = Color.Yellow;
           
            //子刻度颜色   靛青色
            this.zedGraph.GraphPane.XAxis.MinorTic.Color = Color.Cyan;
            this.zedGraph.GraphPane.XAxis.MinorTic.Size = 10f;

            //设置X轴颜色
            this.zedGraph.GraphPane.XAxis.Color = axisColor;
            //设置刻度文本颜色
            this.zedGraph.GraphPane.XAxis.Scale.FontSpec.FontColor = axisColor;
            //设置X轴标题颜色
            this.zedGraph.GraphPane.XAxis.Title.FontSpec.FontColor = axisColor;

            #endregion

如图所示:黄色且比较长的是主刻度,靛青色且较短的是子刻度
在这里插入图片描述
看到上方也有刻度的存在,不符合常理,那我们把它隐藏掉吧。设置IsOpposite = false,即可隐藏

            //隐藏X轴正上方的刻度
            //隐藏主刻度
            this.zedGraph.GraphPane.XAxis.MajorTic.IsOpposite = false;
            //隐藏子刻度
            this.zedGraph.GraphPane.XAxis.MinorTic.IsOpposite = false;

在这里插入图片描述

接下来设置刻度的朝向,只向里面或只向外边,设置IsOutsideIsInside的属性值。

          //不朝外
          this.zedGraph.GraphPane.XAxis.MajorTic.IsOutside = false;
          this.zedGraph.GraphPane.XAxis.MinorTic.IsOutside = false;

            //不朝里头
           // this.zedGraph.GraphPane.XAxis.MajorTic.IsInside = false;
          //  this.zedGraph.GraphPane.XAxis.MinorTic.IsInside = false;

在这里插入图片描述

2 网格线的设置

网格线的设置与刻度轴的设置类似,也有主和次之分。
下面设置Y轴的主网格线为红色,使用点实线绘制,并设置了实线长度为20,虚线(空)的长度为5,子网格线使用蓝色绘制

            //设置网格线 主网格线
            this.zedGraph.GraphPane.YAxis.MajorGrid.IsVisible = true;
            //设置主网格线 为红色
            this.zedGraph.GraphPane.YAxis.MajorGrid.Color = Color.Red;
             
             //实线长度为20
            this.zedGraph.GraphPane.YAxis.MajorGrid.DashOn = 20f;
             //空白长度为5
            this.zedGraph.GraphPane.YAxis.MajorGrid.DashOff = 5f;
            this.zedGraph.GraphPane.YAxis.MajorGrid.PenWidth = 0.1f;
            //子网格线
            this.zedGraph.GraphPane.YAxis.MinorGrid.IsVisible = true;
            this.zedGraph.GraphPane.YAxis.MinorGrid.Color = Color.Blue;
            this.zedGraph.GraphPane.YAxis.MinorGrid.DashOn = 20f;
            this.zedGraph.GraphPane.YAxis.MinorGrid.DashOff = 5f;

在这里插入图片描述

3 制作一个好看的背景

上面的颜色是不是太花里胡哨了(主要是为了好区分主次刻度以及其它属性),下面我们做一个黑色色调的,好看一点的。
首先,背景是黑色的;其次,网格线和X轴的刻度都是灰色的;Y轴及Y轴的刻度和文本都是黄色的。

        private void InitPlot()
        {
            //去掉外边框
            this.zedGraph.GraphPane.Border.IsVisible = false;

            //设置黑色
            this.zedGraph.GraphPane.Fill = new ZedGraph.Fill(Color.Black);

            //设置曲线区域的矩形框的颜色  
            this.zedGraph.GraphPane.Chart.Fill = new ZedGraph.Fill(Color.Black);

            //设置绘制曲线区域的矩形框的边框颜色 
              this.zedGraph.GraphPane.Chart.Border.Color = Color.FromArgb(150, 150, 150);

            //灰色
            Color axisColor = Color.FromArgb(150, 150, 150);
            float dashLength = 4f;

            #region X轴
            //设置网格线 主网格线
            this.zedGraph.GraphPane.XAxis.MajorGrid.IsVisible = true;
            this.zedGraph.GraphPane.XAxis.MajorGrid.Color = axisColor;
            this.zedGraph.GraphPane.XAxis.MajorGrid.DashOn = dashLength;
            this.zedGraph.GraphPane.XAxis.MajorGrid.DashOff = dashLength;
            this.zedGraph.GraphPane.XAxis.MajorGrid.PenWidth = 0.1f;
            //子网格线 不可见
            this.zedGraph.GraphPane.XAxis.MinorGrid.IsVisible = false;
            
            //刻度
            //设置主刻度的长度
            this.zedGraph.GraphPane.XAxis.MajorTic.Size = 10f;
            //主刻度颜色 
            this.zedGraph.GraphPane.XAxis.MajorTic.Color = axisColor;

            //隐藏X轴正上方的刻度
            this.zedGraph.GraphPane.XAxis.MajorTic.IsOpposite = false;
            this.zedGraph.GraphPane.XAxis.MinorTic.IsOpposite = false;

            //朝外
            this.zedGraph.GraphPane.XAxis.MajorTic.IsInside = false;
            this.zedGraph.GraphPane.XAxis.MinorTic.IsInside = false;

           
            //设置刻度文本颜色
            this.zedGraph.GraphPane.XAxis.Scale.FontSpec.FontColor = axisColor;
            //设置X轴标题颜色
            this.zedGraph.GraphPane.XAxis.Title.FontSpec.FontColor = axisColor;
            //设置X轴颜色
            this.zedGraph.GraphPane.XAxis.Color = axisColor;

            #endregion

            #region Y轴
            //设置网格线 主网格线
            this.zedGraph.GraphPane.YAxis.MajorGrid.IsVisible = true;
            this.zedGraph.GraphPane.YAxis.MajorGrid.Color = axisColor;
            this.zedGraph.GraphPane.YAxis.MajorGrid.DashOn = dashLength;
            this.zedGraph.GraphPane.YAxis.MajorGrid.DashOff = dashLength;
            this.zedGraph.GraphPane.YAxis.MajorGrid.PenWidth = 0.1f;
            //设置子网格线不可见
            this.zedGraph.GraphPane.YAxis.MinorGrid.IsVisible = false;


            Color ycolor = Color.Yellow;

            //刻度
            //设置主刻度的长度
            this.zedGraph.GraphPane.YAxis.MajorTic.Size = 10f;
            //主刻度颜色 
            this.zedGraph.GraphPane.YAxis.MajorTic.Color = ycolor;
            //设置对面的Y轴刻度不可见
            this.zedGraph.GraphPane.YAxis.MajorTic.IsOpposite = false;

            //朝内
            this.zedGraph.GraphPane.YAxis.MajorTic.IsOutside = false;
            this.zedGraph.GraphPane.YAxis.MinorTic.IsOutside = false;


            //设置Y轴颜色
            this.zedGraph.GraphPane.YAxis.Color = ycolor;
            //设置刻度文本颜色
            this.zedGraph.GraphPane.YAxis.Scale.FontSpec.FontColor = ycolor;
            //设置X轴标题颜色
            this.zedGraph.GraphPane.YAxis.Title.FontSpec.FontColor = ycolor;

            #endregion
        }

在这里插入图片描述
设置文本标签的显示方向
默认的Y轴标题是倒着显示的,如何让文本横向显示呢?设置一下Angle 属性。

//设置标题的角度
 this.zedGraph.GraphPane.YAxis.Title.FontSpec.Angle = 90;

在这里插入图片描述

4 总结

Axis轴包含一下类,也提供了访问以下类的实例接口:

 MajorGrid: 主网格
 MinorGrid:子网格

 MajorTic: 主刻度
 MinorTic: 子刻度
 Scale:    刻度轴
 Title:      标题
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
C# 中使用 zedGraph 画图时,可以通过设置 `Axis` 对象的属性来添加自定义的横、竖刻度。具体步骤如下: 1. 获取 `GraphPane` 对象 首先,需要获取 `GraphPane` 对象,可以使用 `zedGraphControl.GraphPane` 属性获取。 ```csharp GraphPane myPane = zedGraphControl1.GraphPane; ``` 2. 获取横、竖对象 使用 `myPane.XAxis` 和 `myPane.YAxis` 分别获取横、竖对象。 ```csharp Axis x = myPane.XAxis; Axis y = myPane.YAxis; ``` 3. 设置、竖刻度 使用 `Axis` 对象的 `Scale` 属性设置刻度范围,并使用 `Axis` 对象的 `MajorTic` 和 `MinorTic` 属性设置刻度、次刻度线样式。 ```csharp //设置刻度 x.Scale.Min = 0; x.Scale.Max = 10; x.Scale.MajorStep = 2; x.Scale.MinorStep = 0.5; x.MajorTic.IsInside = true; x.MinorTic.IsInside = true; x.MajorTic.Color = Color.Blue; x.MinorTic.Color = Color.Blue; //设置刻度 y.Scale.Min = 0; y.Scale.Max = 100; y.Scale.MajorStep = 20; y.Scale.MinorStep = 5; y.MajorTic.IsInside = true; y.MinorTic.IsInside = true; y.MajorTic.Color = Color.Red; y.MinorTic.Color = Color.Red; ``` 完整示例代码: ```csharp //获取GraphPane对象 GraphPane myPane = zedGraphControl1.GraphPane; //获取横、竖对象 Axis x = myPane.XAxis; Axis y = myPane.YAxis; //设置刻度 x.Scale.Min = 0; x.Scale.Max = 10; x.Scale.MajorStep = 2; x.Scale.MinorStep = 0.5; x.MajorTic.IsInside = true; x.MinorTic.IsInside = true; x.MajorTic.Color = Color.Blue; x.MinorTic.Color = Color.Blue; //设置刻度 y.Scale.Min = 0; y.Scale.Max = 100; y.Scale.MajorStep = 20; y.Scale.MinorStep = 5; y.MajorTic.IsInside = true; y.MinorTic.IsInside = true; y.MajorTic.Color = Color.Red; y.MinorTic.Color = Color.Red; ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唠嗑一夏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值