我为一个带有负数的对数刻度的图形生成了图形代码。结果如下所示。
我创建了一个处理负值的函数,它运行得很好。但是有些日子以来,它不再运行了。所以我根据this article调整了代码,但是它仍然不工作。请参见我的JSFidddle:
(function (H) {
H.addEvent(H.Axis, 'afterInit', function () {
const logarithmic = this.logarithmic;
if (logarithmic && this.options.custom.allowNegativeLog) {
// Avoid errors on negative numbers on a log axis
this.positiveValuesOnly = false;
// Override the converter functions
logarithmic.log2lin = num => {
const isNegative = num < 0;
let adjustedNum = Math.abs(num);
if (adjustedNum < 10) {
adjustedNum += (10 - adjustedNum) / 10;
}
const result = Math.log(adjustedNum) / Math.LN10;
return isNegative ? -result : result;
};
logarithmic.lin2log = num => {
const isNegative = num < 0;
let result = Math.pow(10, Math.abs(num));
if (result < 10) {
result = (10 * (result - 1)) / (10 - 1);
}
return isNegative ? -result : result;
};
}
});
}(Highcharts));
我得到了一个错误10,但是that description中的示例没有任何结果。
这是怎么回事,我如何修复?
1条答案
按热度按时间nc1teljy1#
很明显,Highcharts对轴的定义做了修改,Y轴的定义为:
并且现在要求它是(至少它是与此修改一起工作的):
注:这与修改后的函数H一起使用,该函数H现在以以下形式开始:
如果你像我一样登陆这里,请查看Highcharts的this JSFiddle,并提供工作演示。