使用LogAxisRenderer更改轴刻度

5 javascript formatting plot web-applications jqplot

我使用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,
        },
    },
});
Run Code Online (Sandbox Code Playgroud)

Mar*_*ker 2

您可以使用强制蜱来解决这个问题:

$.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,
        },
        // ...
    },
});
Run Code Online (Sandbox Code Playgroud)

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