获取jqplot折线图刻度上的线性分布



我想在jqPlot图表渲染器上提供tickInterval,以获得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上的点1、5、10、15、20(tickInterval-5),关于1、3、5、15,需要在坐标平面中绘制值[[1224]、[3672]、[51120]、[152240]]

目前按xticks分布,不均匀。欢迎任何帮助!

我试图使用min/max和tickInterval属性来获取它,但似乎效果不佳。

如果你想在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链接

在绘制图形之前,可以计算minmaxtickInterval。我希望这能有所帮助。

通过NOT使用renderer: $.jqplot.CategoryAxisRenderer,您将按自己的方式进行

最新更新