请教各位大侠们:比如在画图时,改变y轴在某一个区间显示,那么的的刻度及值做相应的变化。如想显示0.3~108.9之间的数字,那么我的刻度应该是整数,(刻度值只显示某几个10、20、30、40、50、60、70、80、90、100)。若区间改成0.01~0.9刻度与值也做相应的变化,只显示(0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9)等等。即能够智能地显示轴的刻度与数字。怎么编写呀。
   谢谢 ! 

解决方案 »

  1.   

    谢谢这位朋友!
    不过我自己解决了这个问题。
    现在拿出来分享
     private double  YNutral(double yRangeStart, double yRangeEnd) //Y轴智能化显示Y轴刻度
            {
                double YGridN,yyGrid;
                yyGrid = (yRangeEnd - yRangeStart) / 5 ;//只要第1位数字
                int i = Convert.ToInt32(Math.Log10(yyGrid));
                double e = Math.Pow(10, i);//指数
                int k;
                if (yyGrid / e>1)
                {
                    k= Convert.ToInt32(yyGrid / e);
                }
                else 
                {
                    k = Convert.ToInt32(10*yyGrid / e);
                    e = e / 10;
                }
                YGridN = k * e;
                return YGridN;
            }