如何删除jqplot的外部边框,请看下面的屏幕截图。我尝试了不同的选择,并寻找它,ButI没有得到一个解决方案。

这是我的密码
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
}
}
});请帮帮我。提前谢谢。
这是JsFiddle 链接,我想移除外部边框。
发布于 2013-10-31 18:45:39
您可以在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();
});jsFiddle
你可以看到外面的边界已经消失了:

这很好,但就我个人而言,我会继续修改源代码以跳过外部边框。这个插件有GPLv2和MIT的双重授权,所以我想这条路没有问题。
解决方案2
我发现如果你改变这个
grid: {borderColor: 'transparent', shadow: false, drawBorder: false, shadowColor: 'transparent'},至
grid: {borderColor: 'white', shadow: false, drawBorder: true},外部边框消失(就像我在上面所做的那样),但是x轴上仍然会出现一些勾号。我把showTickMarks: false设置为没有成功。
请参阅jsFiddle
发布于 2013-10-31 13:03:06
外部边界不是jqPlot边界,它们是最外层的网格线。因此,要删除这个“边框”,您需要关闭网格线。
可以通过添加以下内容来关闭这些网格线:
drawGridlines: false你的网格属性。
grid: {
drawGridlines: false,
borderColor: 'transparent',
shadow: false,
drawBorder: false,
shadowColor: 'transparent'
}由于启用了突出显示选项,这将是一个可行的选项,因为当您悬停在它们上时,您可以看到它们的点值。
发布于 2014-03-02 00:43:08
简单地设置drawBorder:false对我来说是有效的:
grid: {drawBorder: false},https://stackoverflow.com/questions/19593051
复制相似问题