【问题标题】:Change axis scale with LogAxisRenderer使用 LogAxisRenderer 更改轴比例
【发布时间】:2012-10-22 08:36:26
【问题描述】:

我使用logAxisRenderer 绘制具有两个对数轴的jqPlot 数据。

一切都很好,除了两个问题:

  1. jqPlot 在 0 和 1 之间创建了大量空白空间。

  2. x 轴上有两个零,因为我将数字格式化为“%'i”(一个代表 0.0,一个代表 0.5)。

我尝试使用 min:1 和 max:100000 来隐藏空白区域和零。但这没有用。结果图没有线,所有 x 轴标签都位于轴左侧的同一位置。

这是我用来创建这个情节的代码:

$.jqplot(divId, [ line ], {
    title : title,
    series:[{showMarker:false}],
    axes : {
        xaxis : {
            label:'Users',
            renderer : $.jqplot.LogAxisRenderer,
            tickOptions:{
                tickDistribution: "power",
                formatString: "%'i"
            },
            labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
        },
        yaxis : {
            label:'Frequency',
            renderer : $.jqplot.LogAxisRenderer,
            tickOptions:{
                tickDistribution:"power",
                formatString: "%'i"
            },
            labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
        },
    },
});

【问题讨论】:

    标签: javascript web-applications formatting plot jqplot


    【解决方案1】:

    你可以使用强制刻度来解决这个问题:

    $.jqplot(divId, [ line ], {
        title : title,
        series:[{showMarker:false}],
        axes : {
            xaxis : {
                label:'Users',
                renderer : $.jqplot.LogAxisRenderer,
                ticks: [1, 10, 100, 1000, 10000],
                tickOptions:{
                    tickDistribution: "power",
                    formatString: "%'i"
                },
                labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
            },
            // ...
        },
    });
    

    这并不能以一般的方式真正解决您的问题,但确实有帮助。对我来说(jqPlot 1.0.4r1121)设置“min:1”会导致您描述的行为。设置“min:1”和“max:10000”对我有用,但不设置功率分布的刻度,甚至是间隔的刻度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-27
      • 2017-09-11
      • 2012-07-19
      • 1970-01-01
      • 2019-05-09
      • 2018-11-20
      • 1970-01-01
      相关资源
      最近更新 更多