5

我使用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,
        },
    },
});
4

1 回答 1

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,
        },
        // ...
    },
});

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

于 2012-10-22T10:27:52.267 回答