一些图表/绘图库,例如matplotlib for Python,具有主要和次要刻度的概念(具有相应的主要和次要网格线)。我一直在四处寻找,我认为这在FLOT中不存在。似乎只有一类蜱。
是不是可以制作类似下面的内容,如果是,那么如何?
,如下图所示,每1.0的主要滴答,每0.2的次要滴答。
答案 0 :(得分:5)
你是正确的flot
本身不支持这个。
要复制你的绘图,我会使用grid markings并在每个整数标记处添加一条更粗的行:
$.plot("#placeholder", [ d1 ], {
xaxis: {
tickSize: 0.2 // regular tick at 0.2
},
grid: {
markings: function (axes) {
var markings = [];
var xTicks = axes.xaxis.ticks;
for (var i = 0; i < xTicks.length; i++){ // loop all the ticks and add a black line at each whole number
if (xTicks[i].v % 1 === 0){
markings.push({ xaxis: { from: xTicks[i].v - 0.005, to: xTicks[i].v + 0.005 }, color: 'black' });
}
}
return markings;
}
}
});
制作(例如here):
答案 1 :(得分:0)
如果有人想在未成年人标记部门中添加自己的未标记次要标记,则可以执行此操作。 (默认的小刻度为5,不能轻易被忽略) 我的数据是基于时间的,显示每三个月用标记标记两年。
xaxis: {
mode: "time",
timeformat: "%b %Y",
minTickSize: [3, "month"],
showMinorTicks:false,
},
grid: {
markings: function (axes) {
var markings = [];
var month_time= 2629700; // year in seconds divided by 12
var offset=0;
var linespread=36000; // set line thickness
var xTicks = axes.xaxis.ticks;
for (var i = 0; i < xTicks.length; i++){
// loop all the ticks and add a dark line at each main group
markings.push({ xaxis: { from: xTicks[i].v - linespread, to: xTicks[i].v + linespread }, color: '#aaa' });
for (var k = 1; k < 3; k++){
//use subdvision to add minor ticks
offset=month_time*k;
markings.push({ xaxis: { from: xTicks[i].v + offset - linespread, to: xTicks[i].v + offset + linespread }, color: '#ddf' });
}
}
return markings;
}
}