您如何看待将另外的values
变成类似于x
过滤器? 我的意思是以下可能性:
axis: {
x: {
tick: {
values: function (x) {
if(x.getDay() === 1) {
return x;
}
}
}
}
}
同样,对于 y 轴也有这种可能性也很棒,例如,当您需要显示 y 值范围为 80 到 100% 的区域图时,这样可以更好地显示每秒刻度和网格线(即 80 , 82, 84, ...)
在 0.3.0 中,我用相当简单的覆盖管理了类似的东西。 下面的示例将显示每年的第一个月,用于月份分辨率时间序列。
var timeseriesTickTest = function(x) {
var d = new Date(+x);
if (d.getMonth() === 0) {
return d;
}
return false;
};
c3.chart.internal.fn.mapTargetsToUniqueXs = function (targets) {
var $$ = this;
var xs = $$.d3.set($$.d3.merge(targets.map(function (t) { return t.values.map(function (v) { return +v.x; }); }))).values();
return $$.isTimeSeries() ? xs.map(timeseriesTickTest).filter(Boolean) : xs.map(function (x) { return +x; });
}
请让我标记为增强。
而且基本都是自动生成刻度,所以我们不能控制,只要设置axis.x.tick.values
。 我的意思是,如果我们可以为刻度设置过滤器,并不意味着我们可以完全控制它们。 我们需要在过滤之前生成我们想要的刻度。 在这种情况下,如果生成的所有滴答都是每个月的第 2 天,那么每个滴答都会被过滤,那么就没有滴答声。 因此,我认为我们需要其他功能,例如动态生成滴答声的回调。
@masayuki0812
我可以拿这个。
我如何入伍?
最有用的评论
@masayuki0812
我可以拿这个。
我如何入伍?