Javascript (jqplot)如何在对数比例图中显示次要网格?
我的jqplot带有对数刻度轴,如下所示: 这是我的jqplot的x轴和y轴设置:Javascript (jqplot)如何在对数比例图中显示次要网格?,javascript,grid,jqplot,axes,Javascript,Grid,Jqplot,Axes,我的jqplot带有对数刻度轴,如下所示: 这是我的jqplot的x轴和y轴设置: axes : { xaxis : { renderer : $j.jqplot.LogAxisRenderer, ticks : [0.1, 1, 10, 100], }, yaxis : { renderer : $j.
axes : {
xaxis : {
renderer : $j.jqplot.LogAxisRenderer,
ticks : [0.1, 1, 10, 100],
},
yaxis : {
renderer : $j.jqplot.LogAxisRenderer,
ticks : [0.1, 1, 10, 100],
},
}
但是我想展示一下小网格,它看起来像这样
我怎么能做到这一点呢?有比我更好的答案吗
majorTicks = [
1,
{value:2, showLabel:false, showMark:false},
{value:3, showLabel:false, showMark:false},
{value:4, showLabel:false, showMark:false},
{value:5, showLabel:false, showMark:false},
{value:6, showLabel:false, showMark:false},
{value:7, showLabel:false, showMark:false},
{value:8, showLabel:false, showMark:false},
{value:9, showLabel:false, showMark:false},
10,
{value:20, showLabel:false, showMark:false},
{value:30, showLabel:false, showMark:false},
{value:40, showLabel:false, showMark:false},
{value:50, showLabel:false, showMark:false},
{value:60, showLabel:false, showMark:false},
{value:70, showLabel:false, showMark:false},
{value:80, showLabel:false, showMark:false},
{value:90, showLabel:false, showMark:false},
100
];
max=100;
最小值=1;
//计算最大值的10的幂
var dcmMax=Math.floor(Math.log(max)/Math.log(10));
//计算最小值10的幂
var dcmMin=Math.floor(Math.log(min)/Math.log(10));
var=[];
变量tick,f;
对于(var i=dcmMin;i),虚线网格非常糟糕。它们的节奏主宰了图表,隐藏了您可能想要显示的任何数据。在Excel中,喜欢第二个灰色(=15%),50%透明,0.25pt厚,没有虚线。它不太复杂,稍微暗一些,而不是太模糊,看不见。其他应用程序也会有类似的效果。
max = 100;
min = 1;
// calculate the power of 10 of max value
var dcmMax = Math.floor(Math.log(max)/Math.log(10));
// calculate the power of 10 of min value
var dcmMin = Math.floor(Math.log(min)/Math.log(10));
var ticks = [];
var tick, f;
for (var i = dcmMin ; i <= dcmMax ; i++){
tick = Math.floor(Math.log(i)/Math.log(10));
if (i == dcmMin){
ticks.push(tick.toFixed(1));
}
f = tick;
for (var j = 0; j < 8; j++){
tick = tick + f;
ticks.push(myTick(tick.toFixed(1)));
}
if (i == dcmMax){
ticks.push(tick.toFixed(1));
}
}
function myTick(value){
return {value:value, showLabel:false, showMark:false};
}