我一直在修补jqplot图表,其中网格线位于图形的顶部(或在前面,具体取决于您的视图),而不是默认的背景区域。我已经多次尝试使用z-index覆盖网格。但是,每次尝试都会使整个图形无法正常运行,并且由于某些未知原因我没有收到任何错误。
我正在使用实际填充整个网格的堆积条形图,因此我无法看到任何网格线,它们都隐藏在图形的下方(或后面)。
以下是代码:
<script type="text/javascript" language="javascript">
$.jqplot.config.enablePlugins = true;
var plot;
var data1 = [];
var data2 = [];
var index = 0;
var num = 0;
var delta = 0;
$(document).ready(function(){
for (i=0; i<100; i++) {
num = getRandomNumber();
delta = 100 - num;
index++;
data1.push([ index, num]);
data2.push([ index, delta]);
}
plot = $.jqplot('graph', [data1, data2],{
title: 'my title',
animate: true,
stackSeries: true,
seriesDefaults:{
renderer:$.jqplot.BarRenderer,
rendererOptions: { highlightMouseDown: true },
pointLabels: {show: true}
},
series: [ {label: 'one'}, {label: 'two'} ],
seriesColors:['#ff0000', '#0000ff'],
legend: {
show: true,
location: 'e',
placement: 'outsideGrid'
},
grid: {
gridLineColor: '#333333',
borderWidth: 0
},
axesDefaults: {
pad: 0,
padMin: 0
},
axes: {
xaxis: {
showTicks: false,
pad: 0,
padMin: 0,
rendererOptions: { forceTickAt0: true, forceTickAt100: true }
},
yaxis: {
pad: 0,
padMin: 0,
rendererOptions: { forceTickAt0: true, forceTickAt100: true }
}
}
});
});
getRandomNumber = function(){
return Math.floor(Math.random()* 100);
};
</script>
任何人都遇到这个要求并知道如何让网格线显示在图表的顶部?感谢
答案 0 :(得分:2)
使用少量DOM操作可以执行此操作但是您需要确保将网格背景颜色设置为透明,以使其正常工作。你打电话后:
gridCanvas = $($('.jqplot-grid-canvas')[0])
seriesCanvas = $($('.jqplot-series-canvas')[0])
gridCanvas.detach();
seriesCanvas.after(gridCanvas);
以下是fiddle示例。