0

我想tickInterval在 jqPlot 图表渲染器上提供以获得 xaxis 上的线性分布。

 $.jqplot.config.enablePlugins = true;
    var chartData = [[1, 224], [3, 672], [5, 1120],[15,2240]];

    function PlotChart(chartData) {


    var plot2 = $.jqplot('chart1', [chartData], {
        title: 'Mouse Cursor Tracking',
        seriesDefaults: {
            renderer: $.jqplot.CanvasAxisLabelRenderer,
            rendererOptions: {
                smooth: true
            },
            pointLabels: {
                show: true
            }
        },
        axes: {
            xaxis: {
                label: 'Number of Cookies',
                renderer: $.jqplot.CategoryAxisRenderer,
                // renderer to use to draw the axis,     
                tickOptions: {
                    formatString: '%d'
                }
            },
            yaxis: {
                label: 'Calories',
                tickOptions: {
                    formatString: '%.2f'
                }
            }
        },
        highlighter: {
            sizeAdjust: 7.5
        },
        cursor: {
            show: true
        }
   });
} PlotChart(chartData);

jsfiddle 示例

以上是图表当前外观的示例。
我想在xaxis(tickInterval - 5) 上提供点 1、5、10、15、20,并且与 1、3、5、15 相关的图需要在坐标平面中以映射值 [[1, 224 ], [3, 672], [5, 1120],[15,2240]]

目前它的分布xticks是不均匀的。欢迎任何帮助!

我尝试使用 min/max 和tickIntervalproperty 来获得它,但似乎它并不好。

4

2 回答 2

0

如果您想在 x 轴上提供 tickIntervals,那么您可以这样做。

$.jqplot.config.enablePlugins = true;
var chartData = [[1, 224], [3, 672], [5, 1120],[15,2240]];

function PlotChart(chartData) {

var plot2 = $.jqplot('chart1', [chartData], {
    title: 'Mouse Cursor Tracking',
    seriesDefaults: {
        renderer: $.jqplot.CanvasAxisLabelRenderer,
        rendererOptions: {
            smooth: true
        },
        pointLabels: {
            show: true
        }
    },
    axes: {
        xaxis: {
            label: 'Number of Cookies',
            min:0,
            max:20,
            tickInterval:5,
            // renderer to use to draw the axis,     
            tickOptions: {
                formatString: '%d'
            }
        },
        yaxis: {
            label: 'Calories',
            tickOptions: {
                formatString: '%.2f'
            }
        }
    },
    highlighter: {
        sizeAdjust: 7.5
    },
    cursor: {
        show: true
    }
});
}
PlotChart(chartData);

jsFiddle 链接

您可以在绘制图形之前计算 和min。我希望这有帮助。maxtickInterval

于 2013-07-08T13:42:12.527 回答
0

使用renderer: $.jqplot.CategoryAxisRenderer你会让它如你所愿

于 2013-12-30T21:04:21.167 回答