jqplot,删除外边框

Sri*_*oud 5 css jquery jqplot

如何删除jqplot的外边框,请看下面的截图.我尝试了不同的选项并搜索它,但我没有得到解决方案. 在此输入图像描述

这是我的代码,

plot1 = $.jqplot(container, [data], {
        title: 'title',
        animate: true,
        animateReplot: true,
        seriesColors:['#00ADEE'],
        seriesDefaults: {
            renderer: $.jqplot.BarRenderer,
            shadow: false
        },
        axesDefaults: {
        },
        highlighter: {
            tooltipAxes: 'y',
            show: true,
            tooltipLocation: 'sw',
            formatString: '<table class="jqplot-highlighter"> \
      <tr><td>test:</td><td>%s</td></tr></table>'
        },
        grid: {borderColor: 'transparent', shadow: false, drawBorder: false, shadowColor: 'transparent'},
        axes: {
            xaxis: {
                renderer: $.jqplot.CategoryAxisRenderer,
                ticks:ticks
            },
            yaxis: {
                max:1000
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

请帮帮我.提前致谢.


这是JsFiddle 链接,我想删除外边框.

Jos*_*tos 7

您可以在postDrawHooks中注册一个自定义函数,在插件初始化后触发.

我们的想法是使用此功能在图表顶部绘制一个白色边框矩形,使外边框不可见.

$.jqplot.postDrawHooks.push(function() {
    var $canvasMain = $("#chart1 canvas.jqplot-grid-canvas"),
        $canvasLines = $("#chart1 canvas.jqplot-series-canvas"),
        canvasSize = { 
            x: parseInt($canvasLines.attr('width')), 
            y: parseInt($canvasLines.attr('height'))
        },
        ctx = $canvasMain[0].getContext('2d');

    ctx.strokeStyle = 'white';
    ctx.lineWidth = 6; // 6 to hide shadows and the larger bottom side
    ctx.rect($canvasLines.position().left,
             $canvasLines.position().top,
             canvasSize.x,
             canvasSize.y + 3);
    ctx.stroke();    
});
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

你可以看到外边界消失了: 样本输出

这工作正常,但我个人会继续修改源以跳过外部边界.该插件使用GPLv2和MIT双重许可,所以我想这条路线没有问题.

解决方案2

我发现如果你改变这个

grid: {borderColor: 'transparent', shadow: false, drawBorder: false, shadowColor: 'transparent'},
Run Code Online (Sandbox Code Playgroud)

grid: {borderColor: 'white', shadow: false, drawBorder: true},
Run Code Online (Sandbox Code Playgroud)

外边框消失了(我上面做的那种),但是x轴上仍然会出现一些刻度线.我showTickMarks: false没有成功.

jsFiddle


Ben*_*ith 5

外边框不是jqPlot边框,它们是最外面的网格线.因此,要删除此"边框",您需要关闭网格线.

您可以通过添加以下内容来关闭这些网格线:

drawGridlines: false
Run Code Online (Sandbox Code Playgroud)

你的网格属性,例如

grid: {
 drawGridlines: false,
 borderColor: 'transparent',
 shadow: false,
 drawBorder: false,
 shadowColor: 'transparent'
}
Run Code Online (Sandbox Code Playgroud)

当您启用突出显示选项时,这对您来说是一个可行的选项,因为当您将鼠标悬停在它们上方时可以看到点值.