在jqplot折线图上获得线性分布

时间:2013-07-07 19:55:30

标签: javascript jquery charts jqplot linechart

我想在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 example

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

目前根据xticks分配的不均匀。欢迎任何帮助!

我尝试使用min / max和tickInterval属性来获取它,但似乎它不会很好。

2 个答案:

答案 0 :(得分: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 link

您可以在绘制图表之前计算minmaxtickInterval。 我希望这会有所帮助。

答案 1 :(得分:0)

通过使用renderer: $.jqplot.CategoryAxisRenderer,您可以按照自己的方式进行操作