tvcharts 0.6.82 → 0.6.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/echarts.js +61 -21
- package/dist/echarts.js.map +2 -2
- package/lib/chart/fills/FillsSeries.js +2 -2
- package/lib/component/dataZoom/AxisProxy.js +6 -7
- package/lib/coord/axisAlignTicks.js +6 -3
- package/lib/coord/scaleRawExtentInfo.js +5 -0
- package/lib/scale/Log.js +29 -14
- package/lib/scale/helper.js +47 -0
- package/package.json +1 -1
- package/types/dist/echarts.d.ts +1 -0
- package/types/dist/shared.d.ts +1 -0
- package/types/src/coord/scaleRawExtentInfo.d.ts +1 -0
- package/types/src/scale/Log.d.ts +2 -0
- package/types/src/scale/helper.d.ts +9 -0
package/dist/echarts.js
CHANGED
|
@@ -28002,6 +28002,10 @@ function getName(obj) {
|
|
|
28002
28002
|
var OrdinalMeta_default = OrdinalMeta;
|
|
28003
28003
|
|
|
28004
28004
|
// src/scale/helper.ts
|
|
28005
|
+
var defLogFormula = {
|
|
28006
|
+
logicalOffset: 4,
|
|
28007
|
+
coordOffset: 1e-4
|
|
28008
|
+
};
|
|
28005
28009
|
function isValueNice(val) {
|
|
28006
28010
|
const exp10 = Math.pow(10, quantityExponent(Math.abs(val)));
|
|
28007
28011
|
const f = Math.abs(val / exp10);
|
|
@@ -28069,6 +28073,43 @@ function normalize2(val, extent3) {
|
|
|
28069
28073
|
function scale3(val, extent3) {
|
|
28070
28074
|
return val * (extent3[1] - extent3[0]) + extent3[0];
|
|
28071
28075
|
}
|
|
28076
|
+
function toLog(price, logFormula) {
|
|
28077
|
+
const m2 = Math.abs(price);
|
|
28078
|
+
if (m2 < 1e-15) {
|
|
28079
|
+
return 0;
|
|
28080
|
+
}
|
|
28081
|
+
const res = Math.log10(m2 + logFormula.coordOffset) + logFormula.logicalOffset;
|
|
28082
|
+
return price < 0 ? -res : res;
|
|
28083
|
+
}
|
|
28084
|
+
function fromLog(logical, logFormula) {
|
|
28085
|
+
const m2 = Math.abs(logical);
|
|
28086
|
+
if (m2 < 1e-15) {
|
|
28087
|
+
return 0;
|
|
28088
|
+
}
|
|
28089
|
+
const res = Math.pow(10, m2 - logFormula.logicalOffset) - logFormula.coordOffset;
|
|
28090
|
+
return logical < 0 ? -res : res;
|
|
28091
|
+
}
|
|
28092
|
+
function logFormulaForPriceRange(range) {
|
|
28093
|
+
if (range === null) {
|
|
28094
|
+
return defLogFormula;
|
|
28095
|
+
}
|
|
28096
|
+
const diff = Math.abs(range[1] - range[0]);
|
|
28097
|
+
if (diff >= 1 || diff < 1e-15) {
|
|
28098
|
+
return defLogFormula;
|
|
28099
|
+
}
|
|
28100
|
+
const digits = Math.ceil(Math.abs(Math.log10(diff)));
|
|
28101
|
+
const logicalOffset = defLogFormula.logicalOffset + digits;
|
|
28102
|
+
const coordOffset = 1 / Math.pow(10, logicalOffset);
|
|
28103
|
+
return {
|
|
28104
|
+
logicalOffset,
|
|
28105
|
+
coordOffset
|
|
28106
|
+
};
|
|
28107
|
+
}
|
|
28108
|
+
function convertPriceRangeToLog(priceRange, logFormula) {
|
|
28109
|
+
const min3 = toLog(priceRange[0], logFormula);
|
|
28110
|
+
const max3 = toLog(priceRange[1], logFormula);
|
|
28111
|
+
return [min3, max3];
|
|
28112
|
+
}
|
|
28072
28113
|
|
|
28073
28114
|
// src/scale/Ordinal.ts
|
|
28074
28115
|
var OrdinalScale = class extends Scale_default {
|
|
@@ -29089,8 +29130,6 @@ var Time_default = TimeScale;
|
|
|
29089
29130
|
var scaleProto = Scale_default.prototype;
|
|
29090
29131
|
var intervalScaleProto = Interval_default.prototype;
|
|
29091
29132
|
var roundingErrorFix = round;
|
|
29092
|
-
var mathPow2 = Math.pow;
|
|
29093
|
-
var mathLog = Math.log;
|
|
29094
29133
|
var LogScale = class extends Scale_default {
|
|
29095
29134
|
constructor() {
|
|
29096
29135
|
super(...arguments);
|
|
@@ -29098,15 +29137,17 @@ var LogScale = class extends Scale_default {
|
|
|
29098
29137
|
this.base = 10;
|
|
29099
29138
|
this._originalScale = new Interval_default();
|
|
29100
29139
|
this._interval = 0;
|
|
29140
|
+
this.logFormula = logFormulaForPriceRange(null);
|
|
29101
29141
|
}
|
|
29102
29142
|
getTicks(expandToNicedExtent) {
|
|
29103
29143
|
const originalScale = this._originalScale;
|
|
29104
29144
|
const extent3 = this._extent;
|
|
29105
29145
|
const originalExtent = originalScale.getExtent();
|
|
29106
29146
|
const ticks = intervalScaleProto.getTicks.call(this, expandToNicedExtent);
|
|
29147
|
+
const logFormula = this.logFormula;
|
|
29107
29148
|
return map(ticks, function(tick) {
|
|
29108
29149
|
const val = tick.value;
|
|
29109
|
-
let powVal =
|
|
29150
|
+
let powVal = fromLog(val, logFormula);
|
|
29110
29151
|
powVal = val === extent3[0] && this._fixMin ? fixRoundingError(powVal, originalExtent[0]) : powVal;
|
|
29111
29152
|
powVal = val === extent3[1] && this._fixMax ? fixRoundingError(powVal, originalExtent[1]) : powVal;
|
|
29112
29153
|
return {
|
|
@@ -29115,16 +29156,15 @@ var LogScale = class extends Scale_default {
|
|
|
29115
29156
|
}, this);
|
|
29116
29157
|
}
|
|
29117
29158
|
setExtent(start2, end2) {
|
|
29118
|
-
|
|
29119
|
-
start2 =
|
|
29120
|
-
end2 = mathLog(Math.max(0, end2)) / base2;
|
|
29159
|
+
this.logFormula = logFormulaForPriceRange([start2, end2]);
|
|
29160
|
+
[start2, end2] = convertPriceRangeToLog([start2, end2], this.logFormula);
|
|
29121
29161
|
intervalScaleProto.setExtent.call(this, start2, end2);
|
|
29122
29162
|
}
|
|
29123
29163
|
getExtent() {
|
|
29124
29164
|
const base2 = this.base;
|
|
29125
29165
|
const extent3 = scaleProto.getExtent.call(this);
|
|
29126
|
-
extent3[0] =
|
|
29127
|
-
extent3[1] =
|
|
29166
|
+
extent3[0] = fromLog(extent3[0], this.logFormula);
|
|
29167
|
+
extent3[1] = fromLog(extent3[1], this.logFormula);
|
|
29128
29168
|
const originalScale = this._originalScale;
|
|
29129
29169
|
const originalExtent = originalScale.getExtent();
|
|
29130
29170
|
this._fixMin && (extent3[0] = fixRoundingError(extent3[0], originalExtent[0]));
|
|
@@ -29133,9 +29173,8 @@ var LogScale = class extends Scale_default {
|
|
|
29133
29173
|
}
|
|
29134
29174
|
unionExtent(extent3) {
|
|
29135
29175
|
this._originalScale.unionExtent(extent3);
|
|
29136
|
-
|
|
29137
|
-
extent3[
|
|
29138
|
-
extent3[1] = mathLog(extent3[1]) / mathLog(base2);
|
|
29176
|
+
extent3[0] = toLog(extent3[0], this.logFormula);
|
|
29177
|
+
extent3[1] = toLog(extent3[1], this.logFormula);
|
|
29139
29178
|
scaleProto.unionExtent.call(this, extent3);
|
|
29140
29179
|
}
|
|
29141
29180
|
unionExtentFromData(data, dim) {
|
|
@@ -29150,22 +29189,22 @@ var LogScale = class extends Scale_default {
|
|
|
29150
29189
|
return val;
|
|
29151
29190
|
}
|
|
29152
29191
|
contain(val) {
|
|
29153
|
-
val =
|
|
29192
|
+
val = toLog(val, this.logFormula);
|
|
29154
29193
|
return contain2(val, this._extent);
|
|
29155
29194
|
}
|
|
29156
29195
|
normalize(val) {
|
|
29157
|
-
val =
|
|
29196
|
+
val = toLog(val, this.logFormula);
|
|
29158
29197
|
return normalize2(val, this._extent);
|
|
29159
29198
|
}
|
|
29160
29199
|
scale(val) {
|
|
29161
29200
|
val = scale3(val, this._extent);
|
|
29162
|
-
return
|
|
29201
|
+
return fromLog(val, this.logFormula);
|
|
29163
29202
|
}
|
|
29164
29203
|
restoreLogValue(value) {
|
|
29165
|
-
return
|
|
29204
|
+
return fromLog(value, this.logFormula);
|
|
29166
29205
|
}
|
|
29167
29206
|
parseLogValue(val) {
|
|
29168
|
-
return
|
|
29207
|
+
return toLog(val, this.logFormula);
|
|
29169
29208
|
}
|
|
29170
29209
|
};
|
|
29171
29210
|
LogScale.type = "log";
|
|
@@ -29298,6 +29337,7 @@ var ScaleRawExtentInfo = class {
|
|
|
29298
29337
|
this._dataMin = dataExtent[0];
|
|
29299
29338
|
this._dataMax = dataExtent[1];
|
|
29300
29339
|
const isOrdinal = this._isOrdinal = scale4.type === "ordinal";
|
|
29340
|
+
this._isLog = scale4.type === "log";
|
|
29301
29341
|
this._needCrossZero = scale4.type === "interval" && model.getNeedCrossZero && model.getNeedCrossZero();
|
|
29302
29342
|
const modelMinRaw = this._modelMinRaw = model.get("min", true);
|
|
29303
29343
|
if (isFunction(modelMinRaw)) {
|
|
@@ -29337,6 +29377,7 @@ var ScaleRawExtentInfo = class {
|
|
|
29337
29377
|
}
|
|
29338
29378
|
calculate() {
|
|
29339
29379
|
const isOrdinal = this._isOrdinal;
|
|
29380
|
+
const isLog = this._isLog;
|
|
29340
29381
|
const dataMin = this._dataMin;
|
|
29341
29382
|
const dataMax = this._dataMax;
|
|
29342
29383
|
const axisDataLen = this._axisDataLen;
|
|
@@ -39100,7 +39141,6 @@ function findAxisModels(seriesModel) {
|
|
|
39100
39141
|
}
|
|
39101
39142
|
|
|
39102
39143
|
// src/coord/axisAlignTicks.ts
|
|
39103
|
-
var mathLog2 = Math.log;
|
|
39104
39144
|
function alignScaleTicks(scale4, axisModel, alignToScale) {
|
|
39105
39145
|
const intervalScaleProto3 = Interval_default.prototype;
|
|
39106
39146
|
const alignToTicks = intervalScaleProto3.getTicks.call(alignToScale);
|
|
@@ -39112,8 +39152,8 @@ function alignScaleTicks(scale4, axisModel, alignToScale) {
|
|
|
39112
39152
|
const isMinFixed = scaleExtent.fixMin;
|
|
39113
39153
|
const isMaxFixed = scaleExtent.fixMax;
|
|
39114
39154
|
if (scale4.type === "log") {
|
|
39115
|
-
const
|
|
39116
|
-
rawExtent =
|
|
39155
|
+
const logFormula = scale4.logFormula;
|
|
39156
|
+
rawExtent = convertPriceRangeToLog(rawExtent, logFormula);
|
|
39117
39157
|
}
|
|
39118
39158
|
scale4.setExtent(rawExtent[0], rawExtent[1]);
|
|
39119
39159
|
scale4.calcNiceExtent({
|
|
@@ -51556,7 +51596,7 @@ var AxisModel_default = ParallelAxisModel;
|
|
|
51556
51596
|
var BRUSH_PANEL_GLOBAL = true;
|
|
51557
51597
|
var mathMin10 = Math.min;
|
|
51558
51598
|
var mathMax10 = Math.max;
|
|
51559
|
-
var
|
|
51599
|
+
var mathPow2 = Math.pow;
|
|
51560
51600
|
var COVER_Z = 1e4;
|
|
51561
51601
|
var UNSELECT_THRESHOLD = 6;
|
|
51562
51602
|
var MIN_RESIZE_LINE_WIDTH = 6;
|
|
@@ -51802,7 +51842,7 @@ function shouldShowCover(controller) {
|
|
|
51802
51842
|
const p1 = track[0];
|
|
51803
51843
|
const dx = p2[0] - p1[0];
|
|
51804
51844
|
const dy = p2[1] - p1[1];
|
|
51805
|
-
const dist3 =
|
|
51845
|
+
const dist3 = mathPow2(dx * dx + dy * dy, 0.5);
|
|
51806
51846
|
return dist3 > UNSELECT_THRESHOLD;
|
|
51807
51847
|
}
|
|
51808
51848
|
function getTrackEnds(track) {
|