【问题标题】:Logarithmic axis scale in Kendo Chart剑道图表中的对数轴刻度
【发布时间】:2013-05-10 10:15:44
【问题描述】:

我有一个场景,我需要以对数顺序显示轴刻度。我做了一点搜索,发现这个选项不可用,但帖子已经快一年了。最新版本中是否提供了此功能?

这是我查看的剑道论坛的链接

http://www.kendoui.com/forums/dataviz/chart/logarithmic-scale.aspx http://www.kendoui.com/forums/dataviz/chart/does-kendo-support-log-scale.aspx

【问题讨论】:

    标签: kendo-ui kendo-dataviz


    【解决方案1】:

    我知道这是一篇旧帖子,但我发现它试图做这样的事情。我找到了一种解决方法,它可能对某人有所帮助。

    我找到了一种在 Kendo UI 中实现对数刻度的方法。基本上,这个想法是将值从对数形式转换为线性形式,然后使用 KendoUI 系列(在我的例子中为“散线”)绑定数据,并使用模板替换 Y 轴上的标签。

    .YAxis(axis => axis
        .Numeric()
        .Title("BER (dB)")
        .Labels(l => l.Template("#= formatLog2('{0:0}', value) #"))
        .Reverse()
        .AxisCrossingValue(double.MaxValue)
    .Tooltip(tooltip => tooltip
        .Visible(true)
        .Template("#= formatLog('{0:0.00000000000000}', value.y) #")
    

    和 JavaScript 函数“formatLog2”。 (这是一个临时代码,只是为了说明这一点):

    function formatLog2(format, value) {
    
        if (value < 0) value = value * -1;
    
        value = Math.pow(10, value);
    
        return kendo.format(format, value);
    }
    

    和数据源转换:

    using (IDatabase db = Database.Create())
    using (DataTable dt = new DataTable())
    {
        db.ExecuteQuery(dt, Query);
    
        List<UnavailabilityChartPoint> l = new List<UnavailabilityChartPoint>();
    
        foreach (DataRow r in dt.Rows)
        {
            l.Add(new UnavailabilityChartPoint(
            r.Field<DateTime>("Date"),
            Math.Log10(r.Field<double>("UnSignalMonthly"))
            ));
        }
    
        return Json(l);
    }
    

    重要的部分是线性对数和对数线性转换:

    value = Math.pow(10, value);    
    Math.Log10(r.Field<double>("UnSignalMonthly"))
    

    希望这对某人有所帮助。

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        不,你不能在剑道图表中这样做(截至 2013 年)

        【讨论】:

          猜你喜欢
          • 2019-06-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多