@visactor/vchart-extension 1.13.9-alpha.5 → 1.13.9
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/build/index.js +865 -38
- package/build/index.min.js +2 -2
- package/cjs/charts/sequence-scatter-kde/constant.d.ts +3 -0
- package/cjs/charts/sequence-scatter-kde/constant.js +7 -0
- package/cjs/charts/sequence-scatter-kde/constant.js.map +1 -0
- package/cjs/charts/sequence-scatter-kde/interface.d.ts +29 -0
- package/cjs/charts/sequence-scatter-kde/interface.js +6 -0
- package/cjs/charts/sequence-scatter-kde/interface.js.map +1 -0
- package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.d.ts +6 -0
- package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js +142 -0
- package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js.map +1 -0
- package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde.d.ts +16 -0
- package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde.js +34 -0
- package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde.js.map +1 -0
- package/cjs/charts/sequence-scatter-kde/utils.d.ts +9 -0
- package/cjs/charts/sequence-scatter-kde/utils.js +42 -0
- package/cjs/charts/sequence-scatter-kde/utils.js.map +1 -0
- package/cjs/charts/sequence-scatter-link/interface.d.ts +59 -0
- package/cjs/charts/sequence-scatter-link/interface.js +6 -0
- package/cjs/charts/sequence-scatter-link/interface.js.map +1 -0
- package/cjs/charts/sequence-scatter-link/sequence-scatter-link-transformer.d.ts +6 -0
- package/cjs/charts/sequence-scatter-link/sequence-scatter-link-transformer.js +328 -0
- package/cjs/charts/sequence-scatter-link/sequence-scatter-link-transformer.js.map +1 -0
- package/cjs/charts/sequence-scatter-link/sequence-scatter-link.d.ts +16 -0
- package/cjs/charts/sequence-scatter-link/sequence-scatter-link.js +34 -0
- package/cjs/charts/sequence-scatter-link/sequence-scatter-link.js.map +1 -0
- package/cjs/charts/sequence-scatter-link/utils.d.ts +9 -0
- package/cjs/charts/sequence-scatter-link/utils.js +108 -0
- package/cjs/charts/sequence-scatter-link/utils.js.map +1 -0
- package/cjs/charts/sequence-scatter-pixel/constant.d.ts +3 -0
- package/cjs/charts/sequence-scatter-pixel/constant.js +7 -0
- package/cjs/charts/sequence-scatter-pixel/constant.js.map +1 -0
- package/cjs/charts/sequence-scatter-pixel/interface.d.ts +29 -0
- package/cjs/charts/sequence-scatter-pixel/interface.js +6 -0
- package/cjs/charts/sequence-scatter-pixel/interface.js.map +1 -0
- package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.d.ts +4 -0
- package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js +68 -0
- package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js.map +1 -0
- package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel.d.ts +16 -0
- package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel.js +34 -0
- package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel.js.map +1 -0
- package/cjs/charts/sequence-scatter-pixel/utils.d.ts +3 -0
- package/cjs/charts/sequence-scatter-pixel/utils.js +53 -0
- package/cjs/charts/sequence-scatter-pixel/utils.js.map +1 -0
- package/cjs/components/series-label/type.js +2 -1
- package/cjs/index.d.ts +3 -0
- package/cjs/index.js +5 -2
- package/cjs/index.js.map +1 -1
- package/esm/charts/sequence-scatter-kde/constant.d.ts +3 -0
- package/esm/charts/sequence-scatter-kde/constant.js +6 -0
- package/esm/charts/sequence-scatter-kde/constant.js.map +1 -0
- package/esm/charts/sequence-scatter-kde/interface.d.ts +29 -0
- package/esm/charts/sequence-scatter-kde/interface.js +2 -0
- package/esm/charts/sequence-scatter-kde/interface.js.map +1 -0
- package/esm/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.d.ts +6 -0
- package/esm/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js +137 -0
- package/esm/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js.map +1 -0
- package/esm/charts/sequence-scatter-kde/sequence-scatter-kde.d.ts +16 -0
- package/esm/charts/sequence-scatter-kde/sequence-scatter-kde.js +28 -0
- package/esm/charts/sequence-scatter-kde/sequence-scatter-kde.js.map +1 -0
- package/esm/charts/sequence-scatter-kde/utils.d.ts +9 -0
- package/esm/charts/sequence-scatter-kde/utils.js +34 -0
- package/esm/charts/sequence-scatter-kde/utils.js.map +1 -0
- package/esm/charts/sequence-scatter-link/interface.d.ts +59 -0
- package/esm/charts/sequence-scatter-link/interface.js +2 -0
- package/esm/charts/sequence-scatter-link/interface.js.map +1 -0
- package/esm/charts/sequence-scatter-link/sequence-scatter-link-transformer.d.ts +6 -0
- package/esm/charts/sequence-scatter-link/sequence-scatter-link-transformer.js +321 -0
- package/esm/charts/sequence-scatter-link/sequence-scatter-link-transformer.js.map +1 -0
- package/esm/charts/sequence-scatter-link/sequence-scatter-link.d.ts +16 -0
- package/esm/charts/sequence-scatter-link/sequence-scatter-link.js +28 -0
- package/esm/charts/sequence-scatter-link/sequence-scatter-link.js.map +1 -0
- package/esm/charts/sequence-scatter-link/utils.d.ts +9 -0
- package/esm/charts/sequence-scatter-link/utils.js +100 -0
- package/esm/charts/sequence-scatter-link/utils.js.map +1 -0
- package/esm/charts/sequence-scatter-pixel/constant.d.ts +3 -0
- package/esm/charts/sequence-scatter-pixel/constant.js +6 -0
- package/esm/charts/sequence-scatter-pixel/constant.js.map +1 -0
- package/esm/charts/sequence-scatter-pixel/interface.d.ts +29 -0
- package/esm/charts/sequence-scatter-pixel/interface.js +2 -0
- package/esm/charts/sequence-scatter-pixel/interface.js.map +1 -0
- package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.d.ts +4 -0
- package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js +64 -0
- package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js.map +1 -0
- package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel.d.ts +16 -0
- package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel.js +28 -0
- package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel.js.map +1 -0
- package/esm/charts/sequence-scatter-pixel/utils.d.ts +3 -0
- package/esm/charts/sequence-scatter-pixel/utils.js +45 -0
- package/esm/charts/sequence-scatter-pixel/utils.js.map +1 -0
- package/esm/components/series-label/type.js +2 -1
- package/esm/index.d.ts +3 -0
- package/esm/index.js +6 -0
- package/esm/index.js.map +1 -1
- package/package.json +10 -10
package/build/index.js
CHANGED
|
@@ -467,7 +467,7 @@
|
|
|
467
467
|
return { min: dataMin, max: dataMax };
|
|
468
468
|
};
|
|
469
469
|
|
|
470
|
-
const DATA_KEY = 'dataKey';
|
|
470
|
+
const DATA_KEY$3 = 'dataKey';
|
|
471
471
|
const ORDER_KEY = 'VCHART_ORDER';
|
|
472
472
|
const SUPPLY_DATA_KEY = 'SUPPLY_DATA_KEY';
|
|
473
473
|
const NAME_LABEL_PADDING_RIGHT = 10;
|
|
@@ -525,7 +525,7 @@
|
|
|
525
525
|
{
|
|
526
526
|
id: 'datas',
|
|
527
527
|
values: pagerData[order].map(d => {
|
|
528
|
-
return Object.assign(Object.assign({}, d), { [DATA_KEY]: d[spec.yField] });
|
|
528
|
+
return Object.assign(Object.assign({}, d), { [DATA_KEY$3]: d[spec.yField] });
|
|
529
529
|
})
|
|
530
530
|
},
|
|
531
531
|
{
|
|
@@ -618,7 +618,7 @@
|
|
|
618
618
|
transformBaseSpec(spec) {
|
|
619
619
|
var _a, _b, _c;
|
|
620
620
|
spec.type = 'common';
|
|
621
|
-
spec.dataKey = DATA_KEY;
|
|
621
|
+
spec.dataKey = DATA_KEY$3;
|
|
622
622
|
spec.series = [
|
|
623
623
|
{
|
|
624
624
|
type: 'bar',
|
|
@@ -673,7 +673,7 @@
|
|
|
673
673
|
type: spec.barBackground.type,
|
|
674
674
|
dataId: 'data',
|
|
675
675
|
visible: true,
|
|
676
|
-
dataKey: DATA_KEY,
|
|
676
|
+
dataKey: DATA_KEY$3,
|
|
677
677
|
zIndex: -99,
|
|
678
678
|
state: (_a = spec.barBackground) === null || _a === void 0 ? void 0 : _a.state,
|
|
679
679
|
style: Object.assign(Object.assign({ x: (datum, ctx) => spec.barBackground.type === 'symbol' ? ctx.getRegion().getLayoutRect().width / 2 : 0, y: (datum, ctx) => {
|
|
@@ -700,7 +700,7 @@
|
|
|
700
700
|
type: 'symbol',
|
|
701
701
|
dataId: 'data',
|
|
702
702
|
visible: true,
|
|
703
|
-
dataKey: DATA_KEY,
|
|
703
|
+
dataKey: DATA_KEY$3,
|
|
704
704
|
state: decorateHaloIcon === null || decorateHaloIcon === void 0 ? void 0 : decorateHaloIcon.state,
|
|
705
705
|
style: Object.assign(Object.assign({ x: (datum, ctx) => {
|
|
706
706
|
if (datum[spec.xField] === undefined || datum[spec.xField] === null) {
|
|
@@ -728,7 +728,7 @@
|
|
|
728
728
|
type: 'symbol',
|
|
729
729
|
dataId: 'data',
|
|
730
730
|
visible: true,
|
|
731
|
-
dataKey: DATA_KEY,
|
|
731
|
+
dataKey: DATA_KEY$3,
|
|
732
732
|
state: spec.rankingIcon.state,
|
|
733
733
|
style: Object.assign(Object.assign({ x: (datum) => {
|
|
734
734
|
if (spec.labelLayout === 'bothEnd') {
|
|
@@ -769,7 +769,7 @@
|
|
|
769
769
|
return {
|
|
770
770
|
type: 'text',
|
|
771
771
|
dataId: 'data',
|
|
772
|
-
dataKey: DATA_KEY,
|
|
772
|
+
dataKey: DATA_KEY$3,
|
|
773
773
|
state: (_a = spec.nameLabel) === null || _a === void 0 ? void 0 : _a.state,
|
|
774
774
|
style: Object.assign(Object.assign({ text: (datum) => this.formatDatum(spec.yField, datum), x: () => {
|
|
775
775
|
var _a;
|
|
@@ -803,7 +803,7 @@
|
|
|
803
803
|
return {
|
|
804
804
|
type: 'text',
|
|
805
805
|
dataId: 'data',
|
|
806
|
-
dataKey: DATA_KEY,
|
|
806
|
+
dataKey: DATA_KEY$3,
|
|
807
807
|
state: (_a = spec.orderLabel) === null || _a === void 0 ? void 0 : _a.state,
|
|
808
808
|
style: Object.assign(Object.assign({ text: (datum) => this.formatDatum(ORDER_KEY, datum), x: (datum) => {
|
|
809
809
|
var _a;
|
|
@@ -839,7 +839,7 @@
|
|
|
839
839
|
type: 'text',
|
|
840
840
|
dataId: 'data',
|
|
841
841
|
visible: true,
|
|
842
|
-
dataKey: DATA_KEY,
|
|
842
|
+
dataKey: DATA_KEY$3,
|
|
843
843
|
state: (_a = spec.valueLabel) === null || _a === void 0 ? void 0 : _a.state,
|
|
844
844
|
style: Object.assign(Object.assign({ text: (datum) => this.formatDatum(spec.xField, datum), x: (datum, ctx) => {
|
|
845
845
|
if (spec.labelLayout === 'bothEnd') {
|
|
@@ -1667,6 +1667,809 @@
|
|
|
1667
1667
|
fill: '#eff1f9'
|
|
1668
1668
|
};
|
|
1669
1669
|
|
|
1670
|
+
const DATA_KEY$2 = 'dataKey';
|
|
1671
|
+
class SequenceScatterLinkChartSpecTransformer extends vchart.CommonChartSpecTransformer {
|
|
1672
|
+
transformSpec(spec) {
|
|
1673
|
+
var _a, _b, _c, _d, _e;
|
|
1674
|
+
super.transformSpec(spec);
|
|
1675
|
+
const dataSpecs = processSequenceData$2(spec);
|
|
1676
|
+
const showTooltip = spec.taskType === 'neighborhood' ? false : true;
|
|
1677
|
+
spec.type = 'common';
|
|
1678
|
+
spec.dataKey = DATA_KEY$2;
|
|
1679
|
+
spec.data = dataSpecs[0].data;
|
|
1680
|
+
spec.series = [
|
|
1681
|
+
{
|
|
1682
|
+
id: 'background-series',
|
|
1683
|
+
type: 'area',
|
|
1684
|
+
dataId: 'background',
|
|
1685
|
+
interactive: false,
|
|
1686
|
+
persent: true,
|
|
1687
|
+
xField: 'x',
|
|
1688
|
+
yField: 'y',
|
|
1689
|
+
point: {
|
|
1690
|
+
visible: false
|
|
1691
|
+
},
|
|
1692
|
+
line: {
|
|
1693
|
+
visible: false
|
|
1694
|
+
},
|
|
1695
|
+
area: {
|
|
1696
|
+
visible: true,
|
|
1697
|
+
interactive: false,
|
|
1698
|
+
style: {
|
|
1699
|
+
background: (datum) => {
|
|
1700
|
+
if (spec.taskType === 'neighborhood') {
|
|
1701
|
+
return '';
|
|
1702
|
+
}
|
|
1703
|
+
return `https://lf9-dp-fe-cms-tos.byteorg.com/obj/bit-cloud/sequence-scatter-bgimg-2/${datum.iter}.png`;
|
|
1704
|
+
},
|
|
1705
|
+
fill: 'transparent',
|
|
1706
|
+
fillOpacity: 0.5
|
|
1707
|
+
}
|
|
1708
|
+
},
|
|
1709
|
+
hover: {
|
|
1710
|
+
enable: false
|
|
1711
|
+
},
|
|
1712
|
+
select: {
|
|
1713
|
+
enable: false
|
|
1714
|
+
}
|
|
1715
|
+
},
|
|
1716
|
+
{
|
|
1717
|
+
id: 'line-series',
|
|
1718
|
+
type: 'line',
|
|
1719
|
+
dataId: 'endpoints',
|
|
1720
|
+
xField: 'x',
|
|
1721
|
+
yField: 'y',
|
|
1722
|
+
seriesField: 'edgeId',
|
|
1723
|
+
animation: true,
|
|
1724
|
+
point: {
|
|
1725
|
+
visible: false
|
|
1726
|
+
},
|
|
1727
|
+
line: {
|
|
1728
|
+
visible: true,
|
|
1729
|
+
style: {
|
|
1730
|
+
stroke: (datum) => {
|
|
1731
|
+
return datum.color;
|
|
1732
|
+
},
|
|
1733
|
+
lineDash: (datum) => {
|
|
1734
|
+
if (datum.type === 'same_type') {
|
|
1735
|
+
return [0, 0];
|
|
1736
|
+
}
|
|
1737
|
+
else {
|
|
1738
|
+
return [3, 2];
|
|
1739
|
+
}
|
|
1740
|
+
},
|
|
1741
|
+
lineWidth: 0.8,
|
|
1742
|
+
strokeOpacity: 0.6
|
|
1743
|
+
}
|
|
1744
|
+
}
|
|
1745
|
+
},
|
|
1746
|
+
{
|
|
1747
|
+
id: 'scatter-series',
|
|
1748
|
+
type: 'scatter',
|
|
1749
|
+
dataId: 'nodes',
|
|
1750
|
+
xField: spec.xField,
|
|
1751
|
+
yField: spec.yField,
|
|
1752
|
+
seriesField: 'label',
|
|
1753
|
+
point: {
|
|
1754
|
+
state: {
|
|
1755
|
+
hover: {
|
|
1756
|
+
scaleX: 1.5,
|
|
1757
|
+
scaleY: 1.5,
|
|
1758
|
+
fillOpacity: 1
|
|
1759
|
+
},
|
|
1760
|
+
hover_reverse: {
|
|
1761
|
+
scaleX: 1,
|
|
1762
|
+
scaleY: 1,
|
|
1763
|
+
fillOpacity: 0.3
|
|
1764
|
+
}
|
|
1765
|
+
},
|
|
1766
|
+
style: {
|
|
1767
|
+
size: () => {
|
|
1768
|
+
return spec.taskType === 'neighborhood' ? 6 : 4;
|
|
1769
|
+
},
|
|
1770
|
+
fill: (datum) => {
|
|
1771
|
+
var _a;
|
|
1772
|
+
const color = (_a = spec.labelColor[datum.label]) !== null && _a !== void 0 ? _a : 'gray';
|
|
1773
|
+
return color;
|
|
1774
|
+
},
|
|
1775
|
+
fillOpacity: (datum) => {
|
|
1776
|
+
return datum.confidence;
|
|
1777
|
+
}
|
|
1778
|
+
}
|
|
1779
|
+
},
|
|
1780
|
+
label: {
|
|
1781
|
+
visible: true,
|
|
1782
|
+
style: {
|
|
1783
|
+
visible: () => {
|
|
1784
|
+
return spec.taskType == 'neighborhood';
|
|
1785
|
+
},
|
|
1786
|
+
type: 'text',
|
|
1787
|
+
fontFamily: 'Console',
|
|
1788
|
+
fontStyle: 'italic',
|
|
1789
|
+
fontSize: 12,
|
|
1790
|
+
fill: 'black',
|
|
1791
|
+
fillOpacity: 0.6,
|
|
1792
|
+
text: (datum) => {
|
|
1793
|
+
return datum.id;
|
|
1794
|
+
}
|
|
1795
|
+
}
|
|
1796
|
+
}
|
|
1797
|
+
}
|
|
1798
|
+
];
|
|
1799
|
+
if (spec.player) {
|
|
1800
|
+
spec.player = Object.assign(Object.assign({}, spec.player), { specs: dataSpecs });
|
|
1801
|
+
spec.animationAppear = {
|
|
1802
|
+
duration: (_b = (_a = spec.player) === null || _a === void 0 ? void 0 : _a.duration) !== null && _b !== void 0 ? _b : 2000,
|
|
1803
|
+
easing: 'linear'
|
|
1804
|
+
};
|
|
1805
|
+
spec.animationUpdate = {
|
|
1806
|
+
duration: (_d = (_c = spec.player) === null || _c === void 0 ? void 0 : _c.duration) !== null && _d !== void 0 ? _d : 2000,
|
|
1807
|
+
easing: 'linear'
|
|
1808
|
+
};
|
|
1809
|
+
}
|
|
1810
|
+
spec.axes = [
|
|
1811
|
+
{
|
|
1812
|
+
orient: 'left',
|
|
1813
|
+
type: 'linear',
|
|
1814
|
+
inverse: true,
|
|
1815
|
+
min: spec.scope[1],
|
|
1816
|
+
max: spec.scope[3]
|
|
1817
|
+
},
|
|
1818
|
+
{
|
|
1819
|
+
orient: 'bottom',
|
|
1820
|
+
type: 'linear',
|
|
1821
|
+
min: spec.scope[0],
|
|
1822
|
+
max: spec.scope[2]
|
|
1823
|
+
}
|
|
1824
|
+
];
|
|
1825
|
+
spec.customMark = [
|
|
1826
|
+
{
|
|
1827
|
+
type: 'text',
|
|
1828
|
+
dataId: 'iter',
|
|
1829
|
+
style: Object.assign({ x: 50, y: () => 10, textBaseline: 'top', textAlign: 'left', fontSize: 100, fontWeight: 'bolder', fill: 'black', fillOpacity: 0.2 }, (_e = spec.infoLabel) === null || _e === void 0 ? void 0 : _e.style)
|
|
1830
|
+
}
|
|
1831
|
+
];
|
|
1832
|
+
(spec.legends = [
|
|
1833
|
+
{
|
|
1834
|
+
seriesId: 'scatter-series',
|
|
1835
|
+
visible: true,
|
|
1836
|
+
orient: 'right',
|
|
1837
|
+
position: 'middle',
|
|
1838
|
+
data: (items) => {
|
|
1839
|
+
return items.map(item => {
|
|
1840
|
+
item.shape.outerBorder = {
|
|
1841
|
+
stroke: item.shape.fill,
|
|
1842
|
+
distance: 2,
|
|
1843
|
+
lineWidth: 1
|
|
1844
|
+
};
|
|
1845
|
+
return item;
|
|
1846
|
+
});
|
|
1847
|
+
},
|
|
1848
|
+
title: {
|
|
1849
|
+
visible: true,
|
|
1850
|
+
align: 'left',
|
|
1851
|
+
textStyle: {
|
|
1852
|
+
text: 'Classes',
|
|
1853
|
+
fontFamily: 'Console',
|
|
1854
|
+
fontSize: 18,
|
|
1855
|
+
fontWeight: 'bold'
|
|
1856
|
+
}
|
|
1857
|
+
},
|
|
1858
|
+
item: {
|
|
1859
|
+
visible: true,
|
|
1860
|
+
width: '8%',
|
|
1861
|
+
value: {
|
|
1862
|
+
alignRight: true,
|
|
1863
|
+
style: {
|
|
1864
|
+
fill: '#000',
|
|
1865
|
+
fillOpacity: 1,
|
|
1866
|
+
fontSize: 12
|
|
1867
|
+
},
|
|
1868
|
+
state: {
|
|
1869
|
+
unselected: {
|
|
1870
|
+
fill: '#d8d8d8'
|
|
1871
|
+
}
|
|
1872
|
+
}
|
|
1873
|
+
}
|
|
1874
|
+
}
|
|
1875
|
+
}
|
|
1876
|
+
]),
|
|
1877
|
+
(spec.tooltip = {
|
|
1878
|
+
visible: showTooltip,
|
|
1879
|
+
seriesId: 'scatter-series',
|
|
1880
|
+
lockAfterClick: false,
|
|
1881
|
+
activeType: 'mark',
|
|
1882
|
+
trigger: 'hover',
|
|
1883
|
+
mark: {
|
|
1884
|
+
title: {
|
|
1885
|
+
visible: true,
|
|
1886
|
+
value: 'Info'
|
|
1887
|
+
},
|
|
1888
|
+
content: [
|
|
1889
|
+
{
|
|
1890
|
+
key: 'Label',
|
|
1891
|
+
value: (datum) => {
|
|
1892
|
+
return datum.label;
|
|
1893
|
+
},
|
|
1894
|
+
shapeType: 'circle',
|
|
1895
|
+
shapeSize: 8
|
|
1896
|
+
},
|
|
1897
|
+
{
|
|
1898
|
+
key: 'Prediction',
|
|
1899
|
+
value: (datum) => {
|
|
1900
|
+
return datum.prediction;
|
|
1901
|
+
},
|
|
1902
|
+
shapeType: 'circle',
|
|
1903
|
+
shapeSize: 8,
|
|
1904
|
+
shapeFill: (datum) => {
|
|
1905
|
+
var _a;
|
|
1906
|
+
const color = (_a = spec.labelColor[datum.prediction]) !== null && _a !== void 0 ? _a : 'gray';
|
|
1907
|
+
return color;
|
|
1908
|
+
}
|
|
1909
|
+
},
|
|
1910
|
+
{
|
|
1911
|
+
key: 'Confidence',
|
|
1912
|
+
value: (datum) => {
|
|
1913
|
+
return datum.confidence.toFixed(2);
|
|
1914
|
+
},
|
|
1915
|
+
shapeType: 'square',
|
|
1916
|
+
shapeSize: 8,
|
|
1917
|
+
shapeFill: (datum) => {
|
|
1918
|
+
return datum.label === datum.prediction ? 'green' : 'red';
|
|
1919
|
+
}
|
|
1920
|
+
}
|
|
1921
|
+
]
|
|
1922
|
+
},
|
|
1923
|
+
style: {
|
|
1924
|
+
panel: {
|
|
1925
|
+
padding: { top: 10, bottom: 15, left: 10, right: 10 },
|
|
1926
|
+
backgroundColor: '#fff',
|
|
1927
|
+
border: {
|
|
1928
|
+
color: '#eee',
|
|
1929
|
+
width: 1,
|
|
1930
|
+
radius: 10
|
|
1931
|
+
}
|
|
1932
|
+
},
|
|
1933
|
+
titleLabel: {
|
|
1934
|
+
fontSize: 20,
|
|
1935
|
+
fontFamily: 'Times New Roman',
|
|
1936
|
+
fill: 'brown',
|
|
1937
|
+
fontWeight: 'bold',
|
|
1938
|
+
textAlign: 'center',
|
|
1939
|
+
lineHeight: 24
|
|
1940
|
+
},
|
|
1941
|
+
keyLabel: {
|
|
1942
|
+
fontSize: 16,
|
|
1943
|
+
fontFamily: 'Times New Roman',
|
|
1944
|
+
fill: 'black',
|
|
1945
|
+
textAlign: 'center',
|
|
1946
|
+
lineHeight: 15,
|
|
1947
|
+
spacing: 10
|
|
1948
|
+
},
|
|
1949
|
+
valueLabel: {
|
|
1950
|
+
fontSize: 14,
|
|
1951
|
+
fill: 'black',
|
|
1952
|
+
textAlign: 'center',
|
|
1953
|
+
lineHeight: 15,
|
|
1954
|
+
spacing: 10
|
|
1955
|
+
}
|
|
1956
|
+
}
|
|
1957
|
+
});
|
|
1958
|
+
spec.dataZoom = [
|
|
1959
|
+
{
|
|
1960
|
+
visible: false,
|
|
1961
|
+
orient: 'left',
|
|
1962
|
+
filterMode: 'axis',
|
|
1963
|
+
showDetail: false,
|
|
1964
|
+
roamZoom: {
|
|
1965
|
+
enable: true,
|
|
1966
|
+
focus: true,
|
|
1967
|
+
rate: 3
|
|
1968
|
+
},
|
|
1969
|
+
roamDrag: {
|
|
1970
|
+
enable: true,
|
|
1971
|
+
reverse: true,
|
|
1972
|
+
rate: 1
|
|
1973
|
+
}
|
|
1974
|
+
},
|
|
1975
|
+
{
|
|
1976
|
+
visible: false,
|
|
1977
|
+
orient: 'bottom',
|
|
1978
|
+
filterMode: 'axis',
|
|
1979
|
+
showDetail: false,
|
|
1980
|
+
roamZoom: {
|
|
1981
|
+
enable: true,
|
|
1982
|
+
focus: true,
|
|
1983
|
+
rate: 3
|
|
1984
|
+
},
|
|
1985
|
+
roamDrag: {
|
|
1986
|
+
enable: true,
|
|
1987
|
+
reverse: true,
|
|
1988
|
+
rate: 1
|
|
1989
|
+
}
|
|
1990
|
+
}
|
|
1991
|
+
];
|
|
1992
|
+
super.transformSpec(spec);
|
|
1993
|
+
}
|
|
1994
|
+
}
|
|
1995
|
+
function processSequenceData$2(spec) {
|
|
1996
|
+
const result = [];
|
|
1997
|
+
Object.keys(spec.data).forEach(iter => {
|
|
1998
|
+
const nodes = spec.data[iter].nodes;
|
|
1999
|
+
result.push({
|
|
2000
|
+
data: [
|
|
2001
|
+
{
|
|
2002
|
+
id: 'nodes',
|
|
2003
|
+
values: nodes.map((d, i) => {
|
|
2004
|
+
return Object.assign(Object.assign({}, d), { [DATA_KEY$2]: i });
|
|
2005
|
+
})
|
|
2006
|
+
},
|
|
2007
|
+
{
|
|
2008
|
+
id: 'endpoints',
|
|
2009
|
+
values: []
|
|
2010
|
+
},
|
|
2011
|
+
{
|
|
2012
|
+
id: 'iter',
|
|
2013
|
+
values: [
|
|
2014
|
+
{
|
|
2015
|
+
iter
|
|
2016
|
+
}
|
|
2017
|
+
]
|
|
2018
|
+
},
|
|
2019
|
+
{
|
|
2020
|
+
id: 'background',
|
|
2021
|
+
values: [
|
|
2022
|
+
{ iter: iter, x: spec.scope[0], y: spec.scope[1] },
|
|
2023
|
+
{ iter: iter, x: spec.scope[0], y: spec.scope[3] },
|
|
2024
|
+
{ iter: iter, x: spec.scope[2], y: spec.scope[3] },
|
|
2025
|
+
{ iter: iter, x: spec.scope[2], y: spec.scope[1] },
|
|
2026
|
+
{ iter: iter, x: spec.scope[0], y: spec.scope[1] }
|
|
2027
|
+
]
|
|
2028
|
+
}
|
|
2029
|
+
]
|
|
2030
|
+
});
|
|
2031
|
+
});
|
|
2032
|
+
return result;
|
|
2033
|
+
}
|
|
2034
|
+
|
|
2035
|
+
class SequenceScatterLink extends vchart.BaseChart {
|
|
2036
|
+
constructor() {
|
|
2037
|
+
super(...arguments);
|
|
2038
|
+
this.type = 'sequenceScatterLink';
|
|
2039
|
+
this.transformerConstructor = SequenceScatterLinkChartSpecTransformer;
|
|
2040
|
+
}
|
|
2041
|
+
init() {
|
|
2042
|
+
if (!this.isValid()) {
|
|
2043
|
+
return;
|
|
2044
|
+
}
|
|
2045
|
+
super.init();
|
|
2046
|
+
}
|
|
2047
|
+
isValid() {
|
|
2048
|
+
var _a, _b, _c, _d;
|
|
2049
|
+
const { xField, yField, data } = this._spec;
|
|
2050
|
+
if (!xField || !yField) {
|
|
2051
|
+
(_b = (_a = this._option).onError) === null || _b === void 0 ? void 0 : _b.call(_a, 'Missing Required Config: `xField`, `yField` ');
|
|
2052
|
+
return false;
|
|
2053
|
+
}
|
|
2054
|
+
if (!data) {
|
|
2055
|
+
(_d = (_c = this._option).onError) === null || _d === void 0 ? void 0 : _d.call(_c, 'Data is required');
|
|
2056
|
+
return false;
|
|
2057
|
+
}
|
|
2058
|
+
return true;
|
|
2059
|
+
}
|
|
2060
|
+
}
|
|
2061
|
+
SequenceScatterLink.type = 'sequenceScatterLink';
|
|
2062
|
+
SequenceScatterLink.view = 'singleDefault';
|
|
2063
|
+
SequenceScatterLink.transformerConstructor = SequenceScatterLinkChartSpecTransformer;
|
|
2064
|
+
const registerSequenceScatterLink = (option) => {
|
|
2065
|
+
const vchartConstructor = (option === null || option === void 0 ? void 0 : option.VChart) || vchart.VChart;
|
|
2066
|
+
if (vchartConstructor) {
|
|
2067
|
+
vchartConstructor.useChart([SequenceScatterLink, vchart.ScatterChart]);
|
|
2068
|
+
}
|
|
2069
|
+
};
|
|
2070
|
+
|
|
2071
|
+
const EXPAND_RATIO = 0.2;
|
|
2072
|
+
|
|
2073
|
+
function gaussKernel(x) {
|
|
2074
|
+
const SQRT2PI2 = Math.sqrt((Math.PI * 2) ** 2);
|
|
2075
|
+
return Math.exp(-(x ** 2) / 2) / SQRT2PI2;
|
|
2076
|
+
}
|
|
2077
|
+
function scottBandwidth(data) {
|
|
2078
|
+
return data.length ** (-1 / 6);
|
|
2079
|
+
}
|
|
2080
|
+
function calculateKDE(data, bins = 100, bandwidth) {
|
|
2081
|
+
const groupedData = data.reduce((groups, point) => {
|
|
2082
|
+
const label = point.label;
|
|
2083
|
+
groups[label] = groups[label] || [];
|
|
2084
|
+
groups[label].push(point);
|
|
2085
|
+
return groups;
|
|
2086
|
+
}, {});
|
|
2087
|
+
const kdeResult = [];
|
|
2088
|
+
Object.entries(groupedData).forEach(([label, points]) => {
|
|
2089
|
+
const h = bandwidth || scottBandwidth(points);
|
|
2090
|
+
const xValues = points.map(d => d.x);
|
|
2091
|
+
const yValues = points.map(d => d.y);
|
|
2092
|
+
const xMin = Math.min(...xValues);
|
|
2093
|
+
const xMax = Math.max(...xValues);
|
|
2094
|
+
const yMin = Math.min(...yValues);
|
|
2095
|
+
const yMax = Math.max(...yValues);
|
|
2096
|
+
const xExpand = (xMax - xMin) * EXPAND_RATIO;
|
|
2097
|
+
const yExpand = (yMax - yMin) * EXPAND_RATIO;
|
|
2098
|
+
const xExtent = { min: xMin - xExpand, max: xMax + xExpand };
|
|
2099
|
+
const yExtent = { min: yMin - yExpand, max: yMax + yExpand };
|
|
2100
|
+
const xStep = 0.1;
|
|
2101
|
+
const yStep = 0.1;
|
|
2102
|
+
for (let i = 0; i < bins; i++) {
|
|
2103
|
+
for (let j = 0; j < bins; j++) {
|
|
2104
|
+
const x = xExtent.min + i * xStep;
|
|
2105
|
+
const y = yExtent.min + j * yStep;
|
|
2106
|
+
let density = 0;
|
|
2107
|
+
for (const point of points) {
|
|
2108
|
+
const distance = Math.sqrt((x - point.x) ** 2 + (y - point.y) ** 2);
|
|
2109
|
+
density += gaussKernel(distance / h);
|
|
2110
|
+
}
|
|
2111
|
+
density = density / (points.length * h * h);
|
|
2112
|
+
kdeResult.push({ x, y, kde: density, label });
|
|
2113
|
+
}
|
|
2114
|
+
}
|
|
2115
|
+
});
|
|
2116
|
+
return kdeResult;
|
|
2117
|
+
}
|
|
2118
|
+
|
|
2119
|
+
const DATA_KEY$1 = 'dataKey';
|
|
2120
|
+
class SequenceScatterKDEChartSpecTransformer extends vchart.CommonChartSpecTransformer {
|
|
2121
|
+
transformSpec(spec) {
|
|
2122
|
+
var _a, _b, _c, _d, _e, _f;
|
|
2123
|
+
super.transformSpec(spec);
|
|
2124
|
+
const dataSpecs = processSequenceData$1(spec);
|
|
2125
|
+
spec.type = 'common';
|
|
2126
|
+
spec.dataKey = DATA_KEY$1;
|
|
2127
|
+
spec.data = dataSpecs[0].data;
|
|
2128
|
+
spec.scales = [
|
|
2129
|
+
{
|
|
2130
|
+
id: 'colorScale',
|
|
2131
|
+
type: 'ordinal',
|
|
2132
|
+
specified: {
|
|
2133
|
+
'0': 'rgb(150, 10, 100)',
|
|
2134
|
+
'1': 'rgb(31, 119, 180)',
|
|
2135
|
+
'2': 'rgb(255, 127, 14)',
|
|
2136
|
+
'3': 'rgb(44, 160, 44)',
|
|
2137
|
+
'4': 'rgb(214, 39, 40)',
|
|
2138
|
+
'5': 'rgb(148, 103, 189)',
|
|
2139
|
+
'6': 'rgb(140, 86, 75)',
|
|
2140
|
+
'7': 'rgb(227, 119, 194)',
|
|
2141
|
+
'8': 'rgb(127, 127, 127)',
|
|
2142
|
+
'9': 'rgb(188, 189, 34)',
|
|
2143
|
+
'10': 'rgb(23, 190, 207)'
|
|
2144
|
+
}
|
|
2145
|
+
},
|
|
2146
|
+
{
|
|
2147
|
+
id: 'brighterColorScale',
|
|
2148
|
+
type: 'ordinal',
|
|
2149
|
+
specified: {
|
|
2150
|
+
'0': 'rgb(150, 10, 150)',
|
|
2151
|
+
'1': 'rgb(31, 119, 230)',
|
|
2152
|
+
'2': 'rgb(255, 127, 64)',
|
|
2153
|
+
'3': 'rgb(44, 160, 94)',
|
|
2154
|
+
'4': 'rgb(214, 39, 90)',
|
|
2155
|
+
'5': 'rgb(148, 103, 239)',
|
|
2156
|
+
'6': 'rgb(140, 86, 125)',
|
|
2157
|
+
'7': 'rgb(227, 119, 244)',
|
|
2158
|
+
'8': 'rgb(127, 127, 177)',
|
|
2159
|
+
'9': 'rgb(188, 189, 84)',
|
|
2160
|
+
'10': 'rgb(23, 190, 255)'
|
|
2161
|
+
}
|
|
2162
|
+
},
|
|
2163
|
+
...((_a = spec.scales) !== null && _a !== void 0 ? _a : [])
|
|
2164
|
+
];
|
|
2165
|
+
spec.series = [
|
|
2166
|
+
{
|
|
2167
|
+
type: 'scatter',
|
|
2168
|
+
dataIndex: 0,
|
|
2169
|
+
xField: spec.xField,
|
|
2170
|
+
yField: spec.yField,
|
|
2171
|
+
seriesField: spec.seriesField,
|
|
2172
|
+
size: 5,
|
|
2173
|
+
point: {
|
|
2174
|
+
zIndex: 1000,
|
|
2175
|
+
style: {
|
|
2176
|
+
fill: {
|
|
2177
|
+
scale: 'colorScale',
|
|
2178
|
+
field: spec.seriesField
|
|
2179
|
+
}
|
|
2180
|
+
}
|
|
2181
|
+
}
|
|
2182
|
+
}
|
|
2183
|
+
];
|
|
2184
|
+
const regionX = 54;
|
|
2185
|
+
const regionY = 26;
|
|
2186
|
+
spec.customMark = [
|
|
2187
|
+
{
|
|
2188
|
+
type: 'text',
|
|
2189
|
+
dataIndex: 1,
|
|
2190
|
+
style: Object.assign({ text: (datum) => datum['iter'], x: 10, y: () => 10, textBaseline: 'top', textAlign: 'left', fontSize: 25, fontWeight: 'bolder', fill: 'black', fillOpacity: 0.2 }, (_b = spec.infoLabel) === null || _b === void 0 ? void 0 : _b.style)
|
|
2191
|
+
},
|
|
2192
|
+
{
|
|
2193
|
+
type: 'symbol',
|
|
2194
|
+
dataIndex: 2,
|
|
2195
|
+
style: {
|
|
2196
|
+
symbolType: 'rect',
|
|
2197
|
+
x: (datum, ctx) => {
|
|
2198
|
+
const valueToX = ctx.chart.getAllSeries()[0]._markAttributeContext.valueToX;
|
|
2199
|
+
const markX = valueToX([datum.x]);
|
|
2200
|
+
return regionX + markX;
|
|
2201
|
+
},
|
|
2202
|
+
y: (datum, ctx) => {
|
|
2203
|
+
const valueToY = ctx.chart.getAllSeries()[0]._markAttributeContext.valueToY;
|
|
2204
|
+
const markY = valueToY([datum.y]);
|
|
2205
|
+
return markY + regionY;
|
|
2206
|
+
},
|
|
2207
|
+
size: 5,
|
|
2208
|
+
fill: {
|
|
2209
|
+
scale: 'brighterColorScale',
|
|
2210
|
+
field: 'label'
|
|
2211
|
+
},
|
|
2212
|
+
fillOpacity: (datum) => datum.kde * 10
|
|
2213
|
+
}
|
|
2214
|
+
}
|
|
2215
|
+
];
|
|
2216
|
+
spec.tooltip = {
|
|
2217
|
+
visible: true,
|
|
2218
|
+
fields: ['x', 'y', 'label']
|
|
2219
|
+
};
|
|
2220
|
+
if (spec.player) {
|
|
2221
|
+
spec.player = Object.assign(Object.assign({}, spec.player), { specs: dataSpecs });
|
|
2222
|
+
spec.animationAppear = {
|
|
2223
|
+
duration: (_d = (_c = spec.player) === null || _c === void 0 ? void 0 : _c.duration) !== null && _d !== void 0 ? _d : 2000,
|
|
2224
|
+
easing: 'linear'
|
|
2225
|
+
};
|
|
2226
|
+
spec.animationUpdate = {
|
|
2227
|
+
duration: (_f = (_e = spec.player) === null || _e === void 0 ? void 0 : _e.duration) !== null && _f !== void 0 ? _f : 2000,
|
|
2228
|
+
easing: 'linear'
|
|
2229
|
+
};
|
|
2230
|
+
}
|
|
2231
|
+
spec.axes = [
|
|
2232
|
+
{
|
|
2233
|
+
orient: 'left',
|
|
2234
|
+
type: 'linear',
|
|
2235
|
+
nice: true
|
|
2236
|
+
},
|
|
2237
|
+
{
|
|
2238
|
+
orient: 'bottom',
|
|
2239
|
+
type: 'linear',
|
|
2240
|
+
nice: true,
|
|
2241
|
+
label: { visible: true }
|
|
2242
|
+
}
|
|
2243
|
+
];
|
|
2244
|
+
super.transformSpec(spec);
|
|
2245
|
+
}
|
|
2246
|
+
}
|
|
2247
|
+
function processSequenceData$1(spec) {
|
|
2248
|
+
const result = [];
|
|
2249
|
+
Object.keys(spec.data).forEach(iter => {
|
|
2250
|
+
const currentData = spec.data[iter].map((d, i) => (Object.assign(Object.assign({}, d), { [DATA_KEY$1]: i })));
|
|
2251
|
+
const kdeResults = calculateKDE(currentData, 150);
|
|
2252
|
+
result.push({
|
|
2253
|
+
data: [
|
|
2254
|
+
{
|
|
2255
|
+
id: 'nodes',
|
|
2256
|
+
values: currentData
|
|
2257
|
+
},
|
|
2258
|
+
{
|
|
2259
|
+
id: 'iter',
|
|
2260
|
+
values: [{ iter }]
|
|
2261
|
+
},
|
|
2262
|
+
{
|
|
2263
|
+
id: 'kde',
|
|
2264
|
+
values: kdeResults
|
|
2265
|
+
}
|
|
2266
|
+
]
|
|
2267
|
+
});
|
|
2268
|
+
});
|
|
2269
|
+
return result;
|
|
2270
|
+
}
|
|
2271
|
+
|
|
2272
|
+
class SequenceScatterKDE extends vchart.BaseChart {
|
|
2273
|
+
constructor() {
|
|
2274
|
+
super(...arguments);
|
|
2275
|
+
this.type = 'sequenceScatterKDE';
|
|
2276
|
+
this.transformerConstructor = SequenceScatterKDEChartSpecTransformer;
|
|
2277
|
+
}
|
|
2278
|
+
init() {
|
|
2279
|
+
if (!this.isValid()) {
|
|
2280
|
+
return;
|
|
2281
|
+
}
|
|
2282
|
+
super.init();
|
|
2283
|
+
}
|
|
2284
|
+
isValid() {
|
|
2285
|
+
var _a, _b, _c, _d;
|
|
2286
|
+
const { xField, yField, data } = this._spec;
|
|
2287
|
+
if (!xField || !yField) {
|
|
2288
|
+
(_b = (_a = this._option).onError) === null || _b === void 0 ? void 0 : _b.call(_a, 'Missing Required Config: `xField`, `yField` ');
|
|
2289
|
+
return false;
|
|
2290
|
+
}
|
|
2291
|
+
if (!data) {
|
|
2292
|
+
(_d = (_c = this._option).onError) === null || _d === void 0 ? void 0 : _d.call(_c, 'Data is required');
|
|
2293
|
+
return false;
|
|
2294
|
+
}
|
|
2295
|
+
return true;
|
|
2296
|
+
}
|
|
2297
|
+
}
|
|
2298
|
+
SequenceScatterKDE.type = 'sequenceScatterKDE';
|
|
2299
|
+
SequenceScatterKDE.view = 'singleDefault';
|
|
2300
|
+
SequenceScatterKDE.transformerConstructor = SequenceScatterKDEChartSpecTransformer;
|
|
2301
|
+
const registerSequenceScatterKDE = (option) => {
|
|
2302
|
+
const vchartConstructor = (option === null || option === void 0 ? void 0 : option.VChart) || vchart.VChart;
|
|
2303
|
+
if (vchartConstructor) {
|
|
2304
|
+
vchartConstructor.useChart([SequenceScatterKDE, vchart.ScatterChart]);
|
|
2305
|
+
}
|
|
2306
|
+
};
|
|
2307
|
+
|
|
2308
|
+
const DATA_KEY = 'dataKey';
|
|
2309
|
+
const BACKGROUND_KEY = 'background';
|
|
2310
|
+
|
|
2311
|
+
function createImageDataFromColorMatrix(colorMatrix, spec) {
|
|
2312
|
+
var _a;
|
|
2313
|
+
if (typeof document === 'undefined') {
|
|
2314
|
+
throw new Error('Canvas rendering requires browser environment with document object');
|
|
2315
|
+
}
|
|
2316
|
+
const canvas = document.createElement('canvas');
|
|
2317
|
+
canvas.width = spec.width;
|
|
2318
|
+
canvas.height = spec.height;
|
|
2319
|
+
const ctx = canvas.getContext('2d');
|
|
2320
|
+
if (!ctx) {
|
|
2321
|
+
throw new Error('Failed to get 2D rendering context from canvas');
|
|
2322
|
+
}
|
|
2323
|
+
const imageData = ctx.createImageData(spec.width, spec.height);
|
|
2324
|
+
for (let y = 0; y < 300; y++) {
|
|
2325
|
+
for (let x = 0; x < 300; x++) {
|
|
2326
|
+
const rgb = ((_a = colorMatrix[y]) === null || _a === void 0 ? void 0 : _a[x]) || [0, 0, 0];
|
|
2327
|
+
const pixelIndex = (y * 300 + x) * 4;
|
|
2328
|
+
imageData.data[pixelIndex] = Math.round(rgb[0] * 255);
|
|
2329
|
+
imageData.data[pixelIndex + 1] = Math.round(rgb[1] * 255);
|
|
2330
|
+
imageData.data[pixelIndex + 2] = Math.round(rgb[2] * 255);
|
|
2331
|
+
imageData.data[pixelIndex + 3] = 255;
|
|
2332
|
+
}
|
|
2333
|
+
}
|
|
2334
|
+
ctx.putImageData(imageData, 0, 0);
|
|
2335
|
+
return canvas.toDataURL('image/png');
|
|
2336
|
+
}
|
|
2337
|
+
function processSequenceData(spec) {
|
|
2338
|
+
const result = [];
|
|
2339
|
+
Object.keys(spec.data).forEach(inter => {
|
|
2340
|
+
let backgroundData = null;
|
|
2341
|
+
if (spec.backgroundColors && spec.backgroundColors[inter]) {
|
|
2342
|
+
const imageData = createImageDataFromColorMatrix(spec.backgroundColors[inter], spec);
|
|
2343
|
+
backgroundData = { imageData };
|
|
2344
|
+
}
|
|
2345
|
+
result.push({
|
|
2346
|
+
data: [
|
|
2347
|
+
{
|
|
2348
|
+
id: 'nodes',
|
|
2349
|
+
values: spec.data[inter].map((d, i) => {
|
|
2350
|
+
return Object.assign(Object.assign({}, d), { [DATA_KEY]: i });
|
|
2351
|
+
})
|
|
2352
|
+
},
|
|
2353
|
+
{
|
|
2354
|
+
id: 'inter',
|
|
2355
|
+
values: [
|
|
2356
|
+
{
|
|
2357
|
+
inter
|
|
2358
|
+
}
|
|
2359
|
+
]
|
|
2360
|
+
},
|
|
2361
|
+
{
|
|
2362
|
+
id: BACKGROUND_KEY,
|
|
2363
|
+
values: backgroundData ? [backgroundData] : []
|
|
2364
|
+
}
|
|
2365
|
+
]
|
|
2366
|
+
});
|
|
2367
|
+
});
|
|
2368
|
+
return result;
|
|
2369
|
+
}
|
|
2370
|
+
|
|
2371
|
+
class SequenceScatterPixelChartSpecTransformer extends vchart.CommonChartSpecTransformer {
|
|
2372
|
+
transformSpec(spec) {
|
|
2373
|
+
var _a, _b, _c, _d, _e;
|
|
2374
|
+
super.transformSpec(spec);
|
|
2375
|
+
const dataSpecs = processSequenceData(spec);
|
|
2376
|
+
spec.type = 'common';
|
|
2377
|
+
spec.dataKey = DATA_KEY;
|
|
2378
|
+
spec.data = dataSpecs[0].data;
|
|
2379
|
+
spec.width = 300;
|
|
2380
|
+
spec.height = 300;
|
|
2381
|
+
spec.autoFit = false;
|
|
2382
|
+
spec.series = [
|
|
2383
|
+
{
|
|
2384
|
+
type: 'scatter',
|
|
2385
|
+
xField: spec.xField,
|
|
2386
|
+
yField: spec.yField
|
|
2387
|
+
}
|
|
2388
|
+
];
|
|
2389
|
+
if (spec.player) {
|
|
2390
|
+
spec.player = Object.assign(Object.assign({}, spec.player), { specs: dataSpecs });
|
|
2391
|
+
spec.animationAppear = {
|
|
2392
|
+
duration: (_b = (_a = spec.player) === null || _a === void 0 ? void 0 : _a.duration) !== null && _b !== void 0 ? _b : 2000,
|
|
2393
|
+
easing: 'linear'
|
|
2394
|
+
};
|
|
2395
|
+
spec.animationUpdate = {
|
|
2396
|
+
duration: (_d = (_c = spec.player) === null || _c === void 0 ? void 0 : _c.duration) !== null && _d !== void 0 ? _d : 2000,
|
|
2397
|
+
easing: 'linear'
|
|
2398
|
+
};
|
|
2399
|
+
}
|
|
2400
|
+
spec.axes = [
|
|
2401
|
+
{
|
|
2402
|
+
orient: 'left',
|
|
2403
|
+
type: 'linear'
|
|
2404
|
+
},
|
|
2405
|
+
{
|
|
2406
|
+
orient: 'bottom',
|
|
2407
|
+
label: { visible: true },
|
|
2408
|
+
type: 'linear'
|
|
2409
|
+
}
|
|
2410
|
+
];
|
|
2411
|
+
spec.customMark = [
|
|
2412
|
+
{
|
|
2413
|
+
type: 'image',
|
|
2414
|
+
dataIndex: 2,
|
|
2415
|
+
style: {
|
|
2416
|
+
x: 0,
|
|
2417
|
+
y: 0,
|
|
2418
|
+
width: 300,
|
|
2419
|
+
height: 300,
|
|
2420
|
+
image: (datum) => datum.imageData,
|
|
2421
|
+
zIndex: -1
|
|
2422
|
+
}
|
|
2423
|
+
},
|
|
2424
|
+
{
|
|
2425
|
+
type: 'text',
|
|
2426
|
+
dataIndex: 1,
|
|
2427
|
+
style: Object.assign({ text: (datum) => datum['inter'], x: 50, y: () => 10, textBaseline: 'top', textAlign: 'left', fontSize: 100, fontWeight: 'bolder', fill: 'black', fillOpacity: 0.2 }, (_e = spec.infoLabel) === null || _e === void 0 ? void 0 : _e.style)
|
|
2428
|
+
}
|
|
2429
|
+
];
|
|
2430
|
+
spec.tooltip = {
|
|
2431
|
+
visible: false
|
|
2432
|
+
};
|
|
2433
|
+
super.transformSpec(spec);
|
|
2434
|
+
}
|
|
2435
|
+
}
|
|
2436
|
+
|
|
2437
|
+
class SequenceScatterPixel extends vchart.BaseChart {
|
|
2438
|
+
constructor() {
|
|
2439
|
+
super(...arguments);
|
|
2440
|
+
this.type = 'sequenceScatterPixel';
|
|
2441
|
+
this.transformerConstructor = SequenceScatterPixelChartSpecTransformer;
|
|
2442
|
+
}
|
|
2443
|
+
init() {
|
|
2444
|
+
if (!this.isValid()) {
|
|
2445
|
+
return;
|
|
2446
|
+
}
|
|
2447
|
+
super.init();
|
|
2448
|
+
}
|
|
2449
|
+
isValid() {
|
|
2450
|
+
var _a, _b, _c, _d;
|
|
2451
|
+
const { xField, yField, data } = this._spec;
|
|
2452
|
+
if (!xField || !yField) {
|
|
2453
|
+
(_b = (_a = this._option).onError) === null || _b === void 0 ? void 0 : _b.call(_a, 'Missing Required Config: `xField`, `yField` ');
|
|
2454
|
+
return false;
|
|
2455
|
+
}
|
|
2456
|
+
if (!data) {
|
|
2457
|
+
(_d = (_c = this._option).onError) === null || _d === void 0 ? void 0 : _d.call(_c, 'Data is required');
|
|
2458
|
+
return false;
|
|
2459
|
+
}
|
|
2460
|
+
return true;
|
|
2461
|
+
}
|
|
2462
|
+
}
|
|
2463
|
+
SequenceScatterPixel.type = 'sequenceScatterPixel';
|
|
2464
|
+
SequenceScatterPixel.view = 'singleDefault';
|
|
2465
|
+
SequenceScatterPixel.transformerConstructor = SequenceScatterPixelChartSpecTransformer;
|
|
2466
|
+
const registerSequenceScatterPixel = (option) => {
|
|
2467
|
+
const vchartConstructor = (option === null || option === void 0 ? void 0 : option.VChart) || vchart.VChart;
|
|
2468
|
+
if (vchartConstructor) {
|
|
2469
|
+
vchartConstructor.useChart([SequenceScatterPixel, vchart.ScatterChart]);
|
|
2470
|
+
}
|
|
2471
|
+
};
|
|
2472
|
+
|
|
1670
2473
|
class Generator {
|
|
1671
2474
|
static GenAutoIncrementId() {
|
|
1672
2475
|
return Generator.auto_increment_id++;
|
|
@@ -3041,6 +3844,11 @@
|
|
|
3041
3844
|
return this.context.tryUpdateLength();
|
|
3042
3845
|
}
|
|
3043
3846
|
};
|
|
3847
|
+
class StepClosed extends Step$1 {
|
|
3848
|
+
lineEnd() {
|
|
3849
|
+
this.context.closePath();
|
|
3850
|
+
}
|
|
3851
|
+
}
|
|
3044
3852
|
function genStepSegments(points, t) {
|
|
3045
3853
|
let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
3046
3854
|
const {
|
|
@@ -3054,6 +3862,16 @@
|
|
|
3054
3862
|
function genStepTypeSegments(path, points) {
|
|
3055
3863
|
return genCurveSegments(path, points);
|
|
3056
3864
|
}
|
|
3865
|
+
function genStepClosedSegments(points, t) {
|
|
3866
|
+
let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
3867
|
+
const {
|
|
3868
|
+
direction: direction,
|
|
3869
|
+
startPoint: startPoint
|
|
3870
|
+
} = params;
|
|
3871
|
+
if (points.length < 2 - Number(!!startPoint)) return null;
|
|
3872
|
+
const segContext = new SegContext("step", null != direction ? direction : vutils.abs(points[points.length - 1].x - points[0].x) > vutils.abs(points[points.length - 1].y - points[0].y) ? Direction.ROW : Direction.COLUMN);
|
|
3873
|
+
return genStepTypeSegments(new StepClosed(segContext, t, startPoint), points), segContext;
|
|
3874
|
+
}
|
|
3057
3875
|
|
|
3058
3876
|
class LinearClosed extends Linear {
|
|
3059
3877
|
lineEnd() {
|
|
@@ -3283,6 +4101,8 @@
|
|
|
3283
4101
|
return genMonotoneYSegments(points, params);
|
|
3284
4102
|
case "step":
|
|
3285
4103
|
return genStepSegments(points, .5, params);
|
|
4104
|
+
case "stepClosed":
|
|
4105
|
+
return genStepClosedSegments(points, .5, params);
|
|
3286
4106
|
case "stepBefore":
|
|
3287
4107
|
return genStepSegments(points, 0, params);
|
|
3288
4108
|
case "stepAfter":
|
|
@@ -3717,7 +4537,8 @@
|
|
|
3717
4537
|
filter: "",
|
|
3718
4538
|
cursor: null,
|
|
3719
4539
|
html: null,
|
|
3720
|
-
react: null
|
|
4540
|
+
react: null,
|
|
4541
|
+
vue: null
|
|
3721
4542
|
}, DefaultFillStyle), DefaultStrokeStyle), DefaultLayout), DefaultPickStyle);
|
|
3722
4543
|
const DefaultConnectAttribute = {
|
|
3723
4544
|
connectedType: "none",
|
|
@@ -3825,6 +4646,12 @@
|
|
|
3825
4646
|
cornerRadius: 0,
|
|
3826
4647
|
closePath: !0
|
|
3827
4648
|
});
|
|
4649
|
+
const DefaultStarAttribute = Object.assign(Object.assign({}, DefaultAttribute), {
|
|
4650
|
+
width: 100,
|
|
4651
|
+
height: 100,
|
|
4652
|
+
spikes: 5,
|
|
4653
|
+
thickness: .5
|
|
4654
|
+
});
|
|
3828
4655
|
const DefaultRectAttribute = Object.assign(Object.assign({}, DefaultAttribute), {
|
|
3829
4656
|
width: 0,
|
|
3830
4657
|
height: 0,
|
|
@@ -3989,6 +4816,7 @@
|
|
|
3989
4816
|
text: DefaultTextAttribute,
|
|
3990
4817
|
rect: DefaultRectAttribute,
|
|
3991
4818
|
polygon: DefaultPolygonAttribute,
|
|
4819
|
+
star: DefaultStarAttribute,
|
|
3992
4820
|
richtext: DefaultRichTextAttribute,
|
|
3993
4821
|
richtextIcon: DefaultRichTextIconAttribute,
|
|
3994
4822
|
image: DefaultImageAttribute,
|
|
@@ -4007,6 +4835,7 @@
|
|
|
4007
4835
|
text: Object.assign({}, defaultThemeObj.text),
|
|
4008
4836
|
rect: Object.assign({}, defaultThemeObj.rect),
|
|
4009
4837
|
polygon: Object.assign({}, defaultThemeObj.polygon),
|
|
4838
|
+
star: Object.assign({}, defaultThemeObj.star),
|
|
4010
4839
|
richtext: Object.assign({}, defaultThemeObj.richtext),
|
|
4011
4840
|
richtextIcon: Object.assign({}, defaultThemeObj.richtextIcon),
|
|
4012
4841
|
image: Object.assign({}, defaultThemeObj.image),
|
|
@@ -4486,7 +5315,7 @@
|
|
|
4486
5315
|
}
|
|
4487
5316
|
_composedDetailPath(params) {
|
|
4488
5317
|
if (params && params.graphic) {
|
|
4489
|
-
const g =
|
|
5318
|
+
const g = params.graphic;
|
|
4490
5319
|
if (g.stage) {
|
|
4491
5320
|
const path = g.stage.eventSystem.manager.propagationPath(g);
|
|
4492
5321
|
this.detailPath.push(path), this._composedDetailPath(params.params);
|
|
@@ -5797,7 +6626,7 @@
|
|
|
5797
6626
|
}
|
|
5798
6627
|
var rect = new RectSymbol();
|
|
5799
6628
|
|
|
5800
|
-
const tempBounds
|
|
6629
|
+
const tempBounds = new vutils.AABBBounds();
|
|
5801
6630
|
class CustomSymbolClass {
|
|
5802
6631
|
constructor(type, path) {
|
|
5803
6632
|
let isSvg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;
|
|
@@ -5826,7 +6655,7 @@
|
|
|
5826
6655
|
let {
|
|
5827
6656
|
path: path
|
|
5828
6657
|
} = _ref;
|
|
5829
|
-
tempBounds
|
|
6658
|
+
tempBounds.x1 = path.bounds.x1 * size, tempBounds.y1 = path.bounds.y1 * size, tempBounds.x2 = path.bounds.x2 * size, tempBounds.y2 = path.bounds.y2 * size, bounds.union(tempBounds);
|
|
5830
6659
|
});
|
|
5831
6660
|
}
|
|
5832
6661
|
this.path.bounds && (bounds.x1 = this.path.bounds.x1 * size, bounds.y1 = this.path.bounds.y1 * size, bounds.x2 = this.path.bounds.x2 * size, bounds.y2 = this.path.bounds.y2 * size);
|
|
@@ -6121,6 +6950,7 @@
|
|
|
6121
6950
|
genNumberType();
|
|
6122
6951
|
genNumberType();
|
|
6123
6952
|
genNumberType();
|
|
6953
|
+
genNumberType();
|
|
6124
6954
|
const SYMBOL_NUMBER_TYPE = genNumberType();
|
|
6125
6955
|
const TEXT_NUMBER_TYPE = genNumberType();
|
|
6126
6956
|
const GraphicCreator$1 = Symbol.for("GraphicCreator");
|
|
@@ -6138,8 +6968,8 @@
|
|
|
6138
6968
|
const SVG_PARSE_ATTRIBUTE_MAP_KEYS = Object.keys(SVG_PARSE_ATTRIBUTE_MAP);
|
|
6139
6969
|
|
|
6140
6970
|
const _tempBounds = new vutils.AABBBounds(),
|
|
6141
|
-
tempMatrix = new vutils.Matrix()
|
|
6142
|
-
|
|
6971
|
+
tempMatrix = new vutils.Matrix();
|
|
6972
|
+
new vutils.AABBBounds();
|
|
6143
6973
|
const GRAPHIC_UPDATE_TAG_KEY = ["lineWidth", "scaleX", "scaleY", "angle", "anchor", "visible"];
|
|
6144
6974
|
const tempConstantXYKey = ["x", "y"],
|
|
6145
6975
|
tempConstantScaleXYKey = ["scaleX", "scaleY"],
|
|
@@ -6374,6 +7204,9 @@
|
|
|
6374
7204
|
y: y
|
|
6375
7205
|
});
|
|
6376
7206
|
}
|
|
7207
|
+
setWidthHeightWithoutTransform(aabbBounds) {
|
|
7208
|
+
this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1, this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;
|
|
7209
|
+
}
|
|
6377
7210
|
setAttributes(params) {
|
|
6378
7211
|
let forceUpdateTag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;
|
|
6379
7212
|
let context = arguments.length > 2 ? arguments[2] : undefined;
|
|
@@ -6655,24 +7488,12 @@
|
|
|
6655
7488
|
needUpdateLayout() {
|
|
6656
7489
|
return !!(this._updateTag & UpdateTag.UPDATE_LAYOUT);
|
|
6657
7490
|
}
|
|
6658
|
-
getAnchor(anchor, params) {
|
|
7491
|
+
getAnchor(anchor, params, resetScale) {
|
|
6659
7492
|
const _anchor = [0, 0],
|
|
6660
7493
|
getBounds = () => {
|
|
6661
7494
|
if (params.b) return params.b;
|
|
6662
|
-
const
|
|
6663
|
-
|
|
6664
|
-
scaleY: scaleY,
|
|
6665
|
-
angle: angle
|
|
6666
|
-
} = this.attribute;
|
|
6667
|
-
return tempBounds.copy(this._AABBBounds), this.setAttributes({
|
|
6668
|
-
scaleX: 1,
|
|
6669
|
-
scaleY: 1,
|
|
6670
|
-
angle: 0
|
|
6671
|
-
}), params.b = this.AABBBounds.clone(), this._AABBBounds.copy(tempBounds), this.setAttributes({
|
|
6672
|
-
scaleX: scaleX,
|
|
6673
|
-
scaleY: scaleY,
|
|
6674
|
-
angle: angle
|
|
6675
|
-
}), params.b;
|
|
7495
|
+
const graphic = this.clone();
|
|
7496
|
+
return graphic.attribute.angle = 0, graphic.attribute.scaleCenter = null, resetScale && (graphic.attribute.scaleX = 1, graphic.attribute.scaleY = 1), params.b = graphic.AABBBounds, params.b;
|
|
6676
7497
|
};
|
|
6677
7498
|
if ("string" == typeof anchor[0]) {
|
|
6678
7499
|
const ratio = parseFloat(anchor[0]) / 100,
|
|
@@ -6699,9 +7520,9 @@
|
|
|
6699
7520
|
} = this.attribute;
|
|
6700
7521
|
let _anchor = [0, 0];
|
|
6701
7522
|
const params = {};
|
|
6702
|
-
if (anchor && (_anchor = this.getAnchor(anchor, params)), !scaleCenter || 1 === scaleX && 1 === scaleY) vutils.normalTransform(this._transMatrix, this._transMatrix.reset(), x, y, scaleX, scaleY, angle, anchor && _anchor);else {
|
|
7523
|
+
if (anchor && angle && (_anchor = this.getAnchor(anchor, params)), !scaleCenter || 1 === scaleX && 1 === scaleY) vutils.normalTransform(this._transMatrix, this._transMatrix.reset(), x, y, scaleX, scaleY, angle, anchor && _anchor);else {
|
|
6703
7524
|
const m = this._transMatrix;
|
|
6704
|
-
m.reset(), m.translate(_anchor[0], _anchor[1]), m.rotate(angle), m.translate(-_anchor[0], -_anchor[1]), m.translate(x, y), _anchor = this.getAnchor(scaleCenter, params), application.transformUtil.fromMatrix(m, m).scale(scaleX, scaleY, {
|
|
7525
|
+
m.reset(), m.translate(_anchor[0], _anchor[1]), m.rotate(angle), m.translate(-_anchor[0], -_anchor[1]), m.translate(x, y), _anchor = this.getAnchor(scaleCenter, params, !0), application.transformUtil.fromMatrix(m, m).scale(scaleX, scaleY, {
|
|
6705
7526
|
x: _anchor[0],
|
|
6706
7527
|
y: _anchor[1]
|
|
6707
7528
|
});
|
|
@@ -7649,7 +8470,7 @@
|
|
|
7649
8470
|
const shadowBlurHalfWidth = shadowBlur / Math.abs(scaleX + scaleY);
|
|
7650
8471
|
boundStroke(tb1, shadowBlurHalfWidth, !0, strokeBoundsBuffer), aabbBounds.union(tb1);
|
|
7651
8472
|
}
|
|
7652
|
-
return application.graphicService.combindShadowAABBBounds(aabbBounds, this), null == attribute.forceBoundsHeight && null == attribute.forceBoundsWidth || application.graphicService.updateHTMLTextAABBBounds(attribute, textTheme, aabbBounds), vutils.transformBoundsWithMatrix(aabbBounds, aabbBounds, this.transMatrix), aabbBounds;
|
|
8473
|
+
return application.graphicService.combindShadowAABBBounds(aabbBounds, this), null == attribute.forceBoundsHeight && null == attribute.forceBoundsWidth || application.graphicService.updateHTMLTextAABBBounds(attribute, textTheme, aabbBounds), this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1, this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1, vutils.transformBoundsWithMatrix(aabbBounds, aabbBounds, this.transMatrix), aabbBounds;
|
|
7653
8474
|
}
|
|
7654
8475
|
updateSingallineAABBBounds(text) {
|
|
7655
8476
|
this.updateMultilineAABBBounds([text]);
|
|
@@ -8030,7 +8851,7 @@
|
|
|
8030
8851
|
tb1: tb1,
|
|
8031
8852
|
tb2: tb2
|
|
8032
8853
|
} = application.graphicService.updateTempAABBBounds(aabbBounds);
|
|
8033
|
-
updateBoundsOfSymbolOuterBorder(attribute, symbolTheme, tb1), aabbBounds.union(tb1), tb1.setValue(tb2.x1, tb2.y1, tb2.x2, tb2.y2);
|
|
8854
|
+
updateBoundsOfSymbolOuterBorder(attribute, symbolTheme, tb1), aabbBounds.union(tb1), tb1.setValue(tb2.x1, tb2.y1, tb2.x2, tb2.y2), this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1, this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1, this.x1WithoutTransform = aabbBounds.x1, this.y1WithoutTransform = aabbBounds.y1;
|
|
8034
8855
|
const {
|
|
8035
8856
|
lineJoin = symbolTheme.lineJoin
|
|
8036
8857
|
} = attribute;
|
|
@@ -8102,7 +8923,7 @@
|
|
|
8102
8923
|
return getTheme(this).line;
|
|
8103
8924
|
}
|
|
8104
8925
|
updateAABBBounds(attribute, lineTheme, aabbBounds) {
|
|
8105
|
-
this.updatePathProxyAABBBounds(aabbBounds) || (attribute.segments ? this.updateLineAABBBoundsBySegments(attribute, lineTheme, aabbBounds) : this.updateLineAABBBoundsByPoints(attribute, lineTheme, aabbBounds)), application.graphicService.updateTempAABBBounds(aabbBounds);
|
|
8926
|
+
this.updatePathProxyAABBBounds(aabbBounds) || (attribute.segments ? this.updateLineAABBBoundsBySegments(attribute, lineTheme, aabbBounds) : this.updateLineAABBBoundsByPoints(attribute, lineTheme, aabbBounds)), application.graphicService.updateTempAABBBounds(aabbBounds), this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1, this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;
|
|
8106
8927
|
const {
|
|
8107
8928
|
lineJoin = lineTheme.lineJoin
|
|
8108
8929
|
} = attribute;
|
|
@@ -8202,7 +9023,7 @@
|
|
|
8202
9023
|
tb1: tb1,
|
|
8203
9024
|
tb2: tb2
|
|
8204
9025
|
} = application.graphicService.updateTempAABBBounds(aabbBounds);
|
|
8205
|
-
updateBoundsOfCommonOuterBorder(attribute, pathTheme, tb1), aabbBounds.union(tb1), tb1.setValue(tb2.x1, tb2.y1, tb2.x2, tb2.y2);
|
|
9026
|
+
updateBoundsOfCommonOuterBorder(attribute, pathTheme, tb1), aabbBounds.union(tb1), tb1.setValue(tb2.x1, tb2.y1, tb2.x2, tb2.y2), this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1, this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;
|
|
8206
9027
|
const {
|
|
8207
9028
|
lineJoin = pathTheme.lineJoin
|
|
8208
9029
|
} = attribute;
|
|
@@ -8259,7 +9080,7 @@
|
|
|
8259
9080
|
return getTheme(this).area;
|
|
8260
9081
|
}
|
|
8261
9082
|
updateAABBBounds(attribute, areaTheme, aabbBounds) {
|
|
8262
|
-
this.updatePathProxyAABBBounds(aabbBounds) || (attribute.segments ? this.updateAreaAABBBoundsBySegments(attribute, areaTheme, aabbBounds) : this.updateAreaAABBBoundsByPoints(attribute, areaTheme, aabbBounds)), application.graphicService.updateTempAABBBounds(aabbBounds);
|
|
9083
|
+
this.updatePathProxyAABBBounds(aabbBounds) || (attribute.segments ? this.updateAreaAABBBoundsBySegments(attribute, areaTheme, aabbBounds) : this.updateAreaAABBBoundsByPoints(attribute, areaTheme, aabbBounds)), application.graphicService.updateTempAABBBounds(aabbBounds), this.setWidthHeightWithoutTransform(aabbBounds);
|
|
8263
9084
|
const {
|
|
8264
9085
|
lineJoin = areaTheme.lineJoin
|
|
8265
9086
|
} = attribute;
|
|
@@ -8353,7 +9174,7 @@
|
|
|
8353
9174
|
return getTheme(this).polygon;
|
|
8354
9175
|
}
|
|
8355
9176
|
updateAABBBounds(attribute, polygonTheme, aabbBounds) {
|
|
8356
|
-
this.updatePathProxyAABBBounds(aabbBounds) || this.updatePolygonAABBBoundsImprecise(attribute, polygonTheme, aabbBounds), application.graphicService.updateTempAABBBounds(aabbBounds);
|
|
9177
|
+
this.updatePathProxyAABBBounds(aabbBounds) || this.updatePolygonAABBBoundsImprecise(attribute, polygonTheme, aabbBounds), application.graphicService.updateTempAABBBounds(aabbBounds), this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1, this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;
|
|
8357
9178
|
const {
|
|
8358
9179
|
lineJoin = polygonTheme.lineJoin
|
|
8359
9180
|
} = attribute;
|
|
@@ -11351,6 +12172,9 @@
|
|
|
11351
12172
|
exports.RankingBar = RankingBar;
|
|
11352
12173
|
exports.RankingList = RankingList;
|
|
11353
12174
|
exports.SERIES_BREAK = SERIES_BREAK;
|
|
12175
|
+
exports.SequenceScatterKDE = SequenceScatterKDE;
|
|
12176
|
+
exports.SequenceScatterLink = SequenceScatterLink;
|
|
12177
|
+
exports.SequenceScatterPixel = SequenceScatterPixel;
|
|
11354
12178
|
exports.SeriesBreakComponent = SeriesBreakComponent;
|
|
11355
12179
|
exports.SeriesLabelComponent = SeriesLabelComponent;
|
|
11356
12180
|
exports.appendBarLinkConfig = appendBarLinkConfig;
|
|
@@ -11363,6 +12187,9 @@
|
|
|
11363
12187
|
exports.registerConversionFunnelChart = registerConversionFunnelChart;
|
|
11364
12188
|
exports.registerRankingBarChart = registerRankingBarChart;
|
|
11365
12189
|
exports.registerRankingList = registerRankingList;
|
|
12190
|
+
exports.registerSequenceScatterKDE = registerSequenceScatterKDE;
|
|
12191
|
+
exports.registerSequenceScatterLink = registerSequenceScatterLink;
|
|
12192
|
+
exports.registerSequenceScatterPixel = registerSequenceScatterPixel;
|
|
11366
12193
|
exports.registerSeriesBreak = registerSeriesBreak;
|
|
11367
12194
|
exports.registerSeriesLabel = registerSeriesLabel;
|
|
11368
12195
|
|