abstract-chart 5.0.1 → 7.0.0
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/CHANGELOG.md +34 -2
- package/lib/axis.d.ts +33 -13
- package/lib/axis.d.ts.map +1 -1
- package/lib/axis.js +71 -38
- package/lib/axis.js.map +1 -1
- package/lib/chart.d.ts +56 -36
- package/lib/chart.d.ts.map +1 -1
- package/lib/chart.js +170 -166
- package/lib/chart.js.map +1 -1
- package/lib/index.js +5 -1
- package/lib/index.js.map +1 -1
- package/package.json +3 -7
- package/src/axis.ts +114 -53
- package/src/chart.ts +265 -322
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,40 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/).
|
|
4
4
|
|
|
5
|
+
## [7.0.0] - 2024-05-06
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Chart padding
|
|
10
|
+
- Overridable font sizes for all texts.
|
|
11
|
+
- Discrete axises
|
|
12
|
+
- Rotate tick labels
|
|
13
|
+
- Disp tick labels
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- Separate x-grid & y-grid
|
|
18
|
+
- Separate styling of all axises
|
|
19
|
+
- Previous chart padding was {top: 40, right: 80, bottom: 40, left: 80}. New default padding is depending on axises.
|
|
20
|
+
|
|
21
|
+
### Example migrate 6 -> 7
|
|
22
|
+
|
|
23
|
+
- { ... gridColor: AI.black; gridThickness: 1; ... } ->
|
|
24
|
+
{ ... xGrid: { color: AI.black; thickness: 1 }, yGrid: { color: AI.black; thickness: 1 }, yGrid: { color: AI.black; thickness: 1 }, xAxisBottom: {... axisColor: AI.black, thickness: 1 ...}, yAxisLeft: {... axisColor: AI.black, thickness: 1 ...} ... };
|
|
25
|
+
- { ... ... } - > { ... padding: {top: 40, right: 80, bottom: 40, left: 80} ... }
|
|
26
|
+
|
|
27
|
+
## [6.0.0] - 2024-04-05
|
|
28
|
+
|
|
29
|
+
### Added
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
|
|
33
|
+
- React 16 -> 18
|
|
34
|
+
|
|
35
|
+
### Removed
|
|
36
|
+
|
|
37
|
+
- Rambda
|
|
38
|
+
|
|
5
39
|
## [4.0.1](https://github.com/promaster-sdk/property/compare/abstract-chart@3.2.3...master)
|
|
6
40
|
|
|
7
41
|
### Added
|
|
@@ -12,8 +46,6 @@ All notable changes to this project will be documented in this file. The format
|
|
|
12
46
|
|
|
13
47
|
### Removed
|
|
14
48
|
|
|
15
|
-
- Ramda
|
|
16
|
-
|
|
17
49
|
## [v3.2.1](https://github.com/promaster-sdk/property/compare/abstract-chart@3.0.0...abstract-chart@3.2.1) - 2022-06-02
|
|
18
50
|
|
|
19
51
|
### Added
|
package/lib/axis.d.ts
CHANGED
|
@@ -1,25 +1,45 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
export
|
|
3
|
-
export
|
|
1
|
+
import * as AI from "abstract-image";
|
|
2
|
+
export type Axis = LinearAxis | LogarithmicAxis | DiscreteAxis;
|
|
3
|
+
export type AxisBase = {
|
|
4
|
+
readonly label: string;
|
|
5
|
+
readonly labelRotation?: number;
|
|
6
|
+
readonly tickLabelDisp?: number;
|
|
7
|
+
readonly labelColor?: AI.Color;
|
|
8
|
+
readonly tickLabelColor?: AI.Color;
|
|
9
|
+
readonly thickness?: number;
|
|
10
|
+
readonly axisColor?: AI.Color;
|
|
11
|
+
readonly tickFontSize?: number;
|
|
12
|
+
readonly axisFontSize?: number;
|
|
13
|
+
};
|
|
14
|
+
export type LinearAxis = AxisBase & {
|
|
4
15
|
readonly type: "linear";
|
|
5
16
|
readonly min: number;
|
|
6
17
|
readonly max: number;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export
|
|
10
|
-
export interface LogarithmicAxis {
|
|
18
|
+
};
|
|
19
|
+
export declare function createLinearAxis(min: number, max: number, label: string, labelColor?: AI.Color, labelRotation?: number, tickLabelDisp?: number, thickness?: number, axisColor?: AI.Color): LinearAxis;
|
|
20
|
+
export type LogarithmicAxis = AxisBase & {
|
|
11
21
|
readonly type: "logarithmic";
|
|
12
22
|
readonly min: number;
|
|
13
23
|
readonly max: number;
|
|
14
|
-
|
|
24
|
+
};
|
|
25
|
+
export declare function createLogarithmicAxis(min: number, max: number, label: string, labelColor?: AI.Color, labelRotation?: number, tickLabelDisp?: number, thickness?: number, axisColor?: AI.Color): LogarithmicAxis;
|
|
26
|
+
export type DiscreteAxis = AxisBase & {
|
|
27
|
+
readonly type: "discrete";
|
|
28
|
+
readonly points: ReadonlyArray<DiscreteAxisPoint>;
|
|
29
|
+
};
|
|
30
|
+
export interface DiscreteAxisPoint {
|
|
31
|
+
readonly value: number;
|
|
32
|
+
readonly label?: string;
|
|
15
33
|
}
|
|
16
|
-
export declare function
|
|
17
|
-
export declare function getTicks(desiredTicks: number, axis: Axis):
|
|
18
|
-
export declare function getLinearTicks(desiredTicks: number, min: number, max: number):
|
|
19
|
-
export declare function getLogarithmicTicks(desiredTicks: number, min: number, max: number):
|
|
20
|
-
export declare function transformPoint(point:
|
|
34
|
+
export declare function createDiscreteAxis(points: ReadonlyArray<DiscreteAxisPoint>, label: string, labelColor?: AI.Color, labelRotation?: number, tickLabelDisp?: number, thickness?: number, axisColor?: AI.Color): DiscreteAxis;
|
|
35
|
+
export declare function getTicks(desiredTicks: number, axis: Axis): ReadonlyArray<DiscreteAxisPoint>;
|
|
36
|
+
export declare function getLinearTicks(desiredTicks: number, min: number, max: number): ReadonlyArray<DiscreteAxisPoint>;
|
|
37
|
+
export declare function getLogarithmicTicks(desiredTicks: number, min: number, max: number): ReadonlyArray<DiscreteAxisPoint>;
|
|
38
|
+
export declare function transformPoint(point: AI.Point, xMin: number, xMax: number, yMin: number, yMax: number, xAxis: Axis | undefined, yAxis: Axis | undefined): AI.Point;
|
|
21
39
|
export declare function transformValue(value: number, min: number, max: number, axis: Axis | undefined): number;
|
|
22
40
|
export declare function inverseTransformValue(value: number, min: number, max: number, axis: Axis | undefined): number;
|
|
41
|
+
export declare function axisMin(axis: Axis): number;
|
|
42
|
+
export declare function axisMax(axis: Axis): number;
|
|
23
43
|
export declare function linearTransform(value: number, min: number, max: number): number;
|
|
24
44
|
export declare function logarithmicTransform(value: number, min: number, max: number): number;
|
|
25
45
|
export declare function inverseLinearTransform(value: number, min: number, max: number): number;
|
package/lib/axis.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axis.d.ts","sourceRoot":"","sources":["../src/axis.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"axis.d.ts","sourceRoot":"","sources":["../src/axis.ts"],"names":[],"mappings":"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"}
|
package/lib/axis.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -19,27 +23,21 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
19
23
|
return result;
|
|
20
24
|
};
|
|
21
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.inverseLogarithmicTransform = exports.inverseLinearTransform = exports.logarithmicTransform = exports.linearTransform = exports.inverseTransformValue = exports.transformValue = exports.transformPoint = exports.getLogarithmicTicks = exports.getLinearTicks = exports.getTicks = exports.createLogarithmicAxis = exports.createLinearAxis = void 0;
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
function createLinearAxis(min, max, label) {
|
|
26
|
-
return {
|
|
27
|
-
type: "linear",
|
|
28
|
-
min: min,
|
|
29
|
-
max: max,
|
|
30
|
-
label: label,
|
|
31
|
-
};
|
|
26
|
+
exports.inverseLogarithmicTransform = exports.inverseLinearTransform = exports.logarithmicTransform = exports.linearTransform = exports.axisMax = exports.axisMin = exports.inverseTransformValue = exports.transformValue = exports.transformPoint = exports.getLogarithmicTicks = exports.getLinearTicks = exports.getTicks = exports.createDiscreteAxis = exports.createLogarithmicAxis = exports.createLinearAxis = void 0;
|
|
27
|
+
const AI = __importStar(require("abstract-image"));
|
|
28
|
+
const ts_exhaustive_check_1 = require("ts-exhaustive-check");
|
|
29
|
+
function createLinearAxis(min, max, label, labelColor, labelRotation, tickLabelDisp, thickness, axisColor) {
|
|
30
|
+
return { type: "linear", min, max, label, labelColor, labelRotation, tickLabelDisp, thickness, axisColor };
|
|
32
31
|
}
|
|
33
32
|
exports.createLinearAxis = createLinearAxis;
|
|
34
|
-
function createLogarithmicAxis(min, max, label) {
|
|
35
|
-
return {
|
|
36
|
-
type: "logarithmic",
|
|
37
|
-
min: min,
|
|
38
|
-
max: max,
|
|
39
|
-
label: label,
|
|
40
|
-
};
|
|
33
|
+
function createLogarithmicAxis(min, max, label, labelColor, labelRotation, tickLabelDisp, thickness, axisColor) {
|
|
34
|
+
return { type: "logarithmic", min, max, labelColor, label, labelRotation, tickLabelDisp, thickness, axisColor };
|
|
41
35
|
}
|
|
42
36
|
exports.createLogarithmicAxis = createLogarithmicAxis;
|
|
37
|
+
function createDiscreteAxis(points, label, labelColor, labelRotation, tickLabelDisp, thickness, axisColor) {
|
|
38
|
+
return { type: "discrete", points, labelColor, label, labelRotation, tickLabelDisp, thickness, axisColor };
|
|
39
|
+
}
|
|
40
|
+
exports.createDiscreteAxis = createDiscreteAxis;
|
|
43
41
|
const linearMultiples = [1, 2, 5];
|
|
44
42
|
const linearPowers = [-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
|
|
45
43
|
function getTicks(desiredTicks, axis) {
|
|
@@ -48,7 +46,10 @@ function getTicks(desiredTicks, axis) {
|
|
|
48
46
|
return getLinearTicks(desiredTicks, axis.min, axis.max);
|
|
49
47
|
case "logarithmic":
|
|
50
48
|
return getLogarithmicTicks(desiredTicks, axis.min, axis.max);
|
|
49
|
+
case "discrete":
|
|
50
|
+
return axis.points;
|
|
51
51
|
default:
|
|
52
|
+
(0, ts_exhaustive_check_1.exhaustiveCheck)(axis);
|
|
52
53
|
return [];
|
|
53
54
|
}
|
|
54
55
|
}
|
|
@@ -63,19 +64,11 @@ function getLinearTicks(desiredTicks, min, max) {
|
|
|
63
64
|
const cMax = Math.floor(max / step);
|
|
64
65
|
const ticks = cMax - cMin + 1;
|
|
65
66
|
if (!best || Math.abs(best.ticks - desiredTicks) > Math.abs(ticks - desiredTicks)) {
|
|
66
|
-
best = {
|
|
67
|
-
min: cMin * step,
|
|
68
|
-
step: step,
|
|
69
|
-
ticks: ticks,
|
|
70
|
-
};
|
|
67
|
+
best = { min: cMin * step, step: step, ticks: ticks };
|
|
71
68
|
}
|
|
72
69
|
}
|
|
73
70
|
}
|
|
74
|
-
|
|
75
|
-
return [];
|
|
76
|
-
}
|
|
77
|
-
const b = best;
|
|
78
|
-
return R.range(0, b.ticks).map((l) => b.min + b.step * l);
|
|
71
|
+
return best ? range(0, best.ticks).map((l) => ({ value: best.min + best.step * l })) : [];
|
|
79
72
|
}
|
|
80
73
|
exports.getLinearTicks = getLinearTicks;
|
|
81
74
|
const logarithmicAlternatives = [
|
|
@@ -89,23 +82,22 @@ const logarithmicAlternatives = [
|
|
|
89
82
|
function getLogarithmicTicks(desiredTicks, min, max) {
|
|
90
83
|
const minPow = Math.floor(Math.log10(min)) - 1;
|
|
91
84
|
const maxPow = Math.ceil(Math.log10(max)) + 1;
|
|
92
|
-
const powers =
|
|
85
|
+
const powers = range(0, maxPow - minPow + 1).map((p) => minPow + p);
|
|
93
86
|
const alternatives = logarithmicAlternatives.map((stepAlt) => {
|
|
94
87
|
const altLines = powers.reduce((lines, power) => {
|
|
95
88
|
const base = Math.pow(10, power);
|
|
96
|
-
const powerLines = stepAlt.map((i) => i * base);
|
|
89
|
+
const powerLines = stepAlt.map((i) => ({ value: i * base }));
|
|
97
90
|
return lines.concat(powerLines);
|
|
98
91
|
}, []);
|
|
99
|
-
return altLines.filter((l) => l >= min && l <= max);
|
|
92
|
+
return altLines.filter((l) => l.value >= min && l.value <= max);
|
|
100
93
|
});
|
|
101
|
-
|
|
102
|
-
return bestLines;
|
|
94
|
+
return alternatives.reduce((prev, alt) => Math.abs(alt.length - desiredTicks) < Math.abs(prev.length - desiredTicks) ? alt : prev);
|
|
103
95
|
}
|
|
104
96
|
exports.getLogarithmicTicks = getLogarithmicTicks;
|
|
105
97
|
function transformPoint(point, xMin, xMax, yMin, yMax, xAxis, yAxis) {
|
|
106
98
|
const x = transformValue(point.x, xMin, xMax, xAxis);
|
|
107
99
|
const y = transformValue(point.y, yMin, yMax, yAxis);
|
|
108
|
-
return
|
|
100
|
+
return AI.createPoint(x, y);
|
|
109
101
|
}
|
|
110
102
|
exports.transformPoint = transformPoint;
|
|
111
103
|
function transformValue(value, min, max, axis) {
|
|
@@ -115,10 +107,13 @@ function transformValue(value, min, max, axis) {
|
|
|
115
107
|
const range = max - min;
|
|
116
108
|
switch (axis.type) {
|
|
117
109
|
case "linear":
|
|
118
|
-
return min + range * linearTransform(value, axis
|
|
110
|
+
return min + range * linearTransform(value, axisMin(axis), axisMax(axis));
|
|
119
111
|
case "logarithmic":
|
|
120
|
-
return min + range * logarithmicTransform(value, axis
|
|
112
|
+
return min + range * logarithmicTransform(value, axisMin(axis), axisMax(axis));
|
|
113
|
+
case "discrete":
|
|
114
|
+
return min + range * linearTransform(value, axisMin(axis), axisMax(axis));
|
|
121
115
|
default:
|
|
116
|
+
(0, ts_exhaustive_check_1.exhaustiveCheck)(axis);
|
|
122
117
|
return 0;
|
|
123
118
|
}
|
|
124
119
|
}
|
|
@@ -130,14 +125,45 @@ function inverseTransformValue(value, min, max, axis) {
|
|
|
130
125
|
const range = max - min;
|
|
131
126
|
switch (axis.type) {
|
|
132
127
|
case "linear":
|
|
133
|
-
return inverseLinearTransform((value - min) / range, axis
|
|
128
|
+
return inverseLinearTransform((value - min) / range, axisMin(axis), axisMax(axis));
|
|
134
129
|
case "logarithmic":
|
|
135
|
-
return inverseLogarithmicTransform((value - min) / range, axis
|
|
130
|
+
return inverseLogarithmicTransform((value - min) / range, axisMin(axis), axisMax(axis));
|
|
131
|
+
case "discrete":
|
|
132
|
+
return inverseLinearTransform((value - min) / range, axisMin(axis), axisMax(axis));
|
|
136
133
|
default:
|
|
134
|
+
(0, ts_exhaustive_check_1.exhaustiveCheck)(axis);
|
|
137
135
|
return 0;
|
|
138
136
|
}
|
|
139
137
|
}
|
|
140
138
|
exports.inverseTransformValue = inverseTransformValue;
|
|
139
|
+
function axisMin(axis) {
|
|
140
|
+
var _a, _b;
|
|
141
|
+
switch (axis.type) {
|
|
142
|
+
case "linear":
|
|
143
|
+
case "logarithmic":
|
|
144
|
+
return axis.min;
|
|
145
|
+
case "discrete":
|
|
146
|
+
return (_b = (_a = axis.points[0]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 0;
|
|
147
|
+
default:
|
|
148
|
+
(0, ts_exhaustive_check_1.exhaustiveCheck)(axis);
|
|
149
|
+
return 0;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
exports.axisMin = axisMin;
|
|
153
|
+
function axisMax(axis) {
|
|
154
|
+
var _a, _b;
|
|
155
|
+
switch (axis.type) {
|
|
156
|
+
case "linear":
|
|
157
|
+
case "logarithmic":
|
|
158
|
+
return axis.max;
|
|
159
|
+
case "discrete":
|
|
160
|
+
return (_b = (_a = axis.points.at(-1)) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 0;
|
|
161
|
+
default:
|
|
162
|
+
(0, ts_exhaustive_check_1.exhaustiveCheck)(axis);
|
|
163
|
+
return 0;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
exports.axisMax = axisMax;
|
|
141
167
|
function linearTransform(value, min, max) {
|
|
142
168
|
return (value - min) / (max - min);
|
|
143
169
|
}
|
|
@@ -162,4 +188,11 @@ function inverseLogarithmicTransform(value, min, max) {
|
|
|
162
188
|
return Math.pow(10, value * (Math.log10(max) - Math.log10(min)) + Math.log10(min));
|
|
163
189
|
}
|
|
164
190
|
exports.inverseLogarithmicTransform = inverseLogarithmicTransform;
|
|
191
|
+
function range(from, to) {
|
|
192
|
+
const result = [];
|
|
193
|
+
for (let i = from; i < to; ++i) {
|
|
194
|
+
result.push(i);
|
|
195
|
+
}
|
|
196
|
+
return result;
|
|
197
|
+
}
|
|
165
198
|
//# sourceMappingURL=axis.js.map
|
package/lib/axis.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axis.js","sourceRoot":"","sources":["../src/axis.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"axis.js","sourceRoot":"","sources":["../src/axis.ts"],"names":[],"mappings":"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"}
|
package/lib/chart.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as AI from "abstract-image";
|
|
2
2
|
import * as Axis from "./axis";
|
|
3
|
-
export
|
|
3
|
+
export type Partial<T> = {
|
|
4
4
|
[P in keyof T]?: T[P];
|
|
5
5
|
};
|
|
6
|
-
export
|
|
6
|
+
export type LabelLayout = "original" | "end" | "center";
|
|
7
7
|
export interface Chart {
|
|
8
8
|
readonly width: number;
|
|
9
9
|
readonly height: number;
|
|
@@ -14,44 +14,57 @@ export interface Chart {
|
|
|
14
14
|
readonly xAxisTop: Axis.Axis | undefined;
|
|
15
15
|
readonly yAxisLeft: Axis.Axis | undefined;
|
|
16
16
|
readonly yAxisRight: Axis.Axis | undefined;
|
|
17
|
-
readonly backgroundColor:
|
|
18
|
-
readonly
|
|
19
|
-
readonly
|
|
17
|
+
readonly backgroundColor: AI.Color;
|
|
18
|
+
readonly xGrid: ChartGrid;
|
|
19
|
+
readonly yGrid: ChartGrid;
|
|
20
20
|
readonly font: string;
|
|
21
21
|
readonly fontSize: number;
|
|
22
22
|
readonly labelLayout: LabelLayout;
|
|
23
|
+
readonly padding: Padding;
|
|
23
24
|
}
|
|
24
|
-
export
|
|
25
|
+
export type ChartGrid = {
|
|
26
|
+
readonly color: AI.Color;
|
|
27
|
+
readonly thickness: number;
|
|
28
|
+
};
|
|
29
|
+
export type ChartProps = Partial<Chart>;
|
|
25
30
|
export declare function createChart(props: ChartProps): Chart;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
31
|
+
type Padding = {
|
|
32
|
+
readonly top: number;
|
|
33
|
+
readonly right: number;
|
|
34
|
+
readonly bottom: number;
|
|
35
|
+
readonly left: number;
|
|
36
|
+
};
|
|
37
|
+
export type XAxis = "bottom" | "top";
|
|
38
|
+
export type YAxis = "left" | "right";
|
|
39
|
+
export type ChartPointShape = "circle" | "triangle" | "square";
|
|
29
40
|
export interface ChartPoint {
|
|
30
41
|
readonly shape: ChartPointShape;
|
|
31
|
-
readonly position:
|
|
32
|
-
readonly color:
|
|
33
|
-
readonly size:
|
|
42
|
+
readonly position: AI.Point;
|
|
43
|
+
readonly color: AI.Color;
|
|
44
|
+
readonly size: AI.Size;
|
|
34
45
|
readonly label: string;
|
|
35
46
|
readonly xAxis: XAxis;
|
|
36
47
|
readonly yAxis: YAxis;
|
|
48
|
+
readonly fontSize?: number;
|
|
37
49
|
}
|
|
38
|
-
export
|
|
50
|
+
export type ChartPointProps = Partial<ChartPoint>;
|
|
39
51
|
export declare function createChartPoint(props?: ChartPointProps): ChartPoint;
|
|
40
52
|
export interface ChartLine {
|
|
41
|
-
readonly points: Array<
|
|
42
|
-
readonly color:
|
|
53
|
+
readonly points: Array<AI.Point>;
|
|
54
|
+
readonly color: AI.Color;
|
|
43
55
|
readonly thickness: number;
|
|
44
56
|
readonly label: string;
|
|
45
57
|
readonly xAxis: XAxis;
|
|
46
58
|
readonly yAxis: YAxis;
|
|
59
|
+
readonly fontSize?: number;
|
|
47
60
|
}
|
|
48
|
-
export
|
|
61
|
+
export type ChartLineProps = Partial<ChartLine>;
|
|
49
62
|
export declare function createChartLine(props: ChartLineProps): ChartLine;
|
|
50
63
|
export interface ChartStackConfig {
|
|
51
|
-
readonly color:
|
|
64
|
+
readonly color: AI.Color;
|
|
52
65
|
readonly label: string;
|
|
53
66
|
}
|
|
54
|
-
export
|
|
67
|
+
export type ChartStackConfigProps = Partial<ChartStackConfig>;
|
|
55
68
|
export declare function createChartStackConfig(props: ChartStackConfigProps): ChartStackConfig;
|
|
56
69
|
export interface StackPoints {
|
|
57
70
|
readonly x: number;
|
|
@@ -63,22 +76,29 @@ export interface ChartStack {
|
|
|
63
76
|
readonly yAxis: YAxis;
|
|
64
77
|
readonly config: ReadonlyArray<ChartStackConfig>;
|
|
65
78
|
}
|
|
66
|
-
export
|
|
79
|
+
export type ChartStackProps = Partial<ChartStack>;
|
|
67
80
|
export declare function createChartStack(props: ChartStackProps): ChartStack;
|
|
68
|
-
export declare function inverseTransformPoint(point:
|
|
69
|
-
export declare function renderChart(chart: Chart):
|
|
70
|
-
export declare function generateBackground(xMin: number, xMax: number, yMin: number, yMax: number, chart: Chart):
|
|
71
|
-
export declare function generateXAxisBottom(xNumTicks: number,
|
|
72
|
-
export declare function generateXAxisTop(xNumTicks: number,
|
|
73
|
-
export declare function generateYAxisLeft(yNumTicks: number,
|
|
74
|
-
export declare function generateYAxisRight(yNumTicks: number,
|
|
75
|
-
export declare function generateStack(xMin: number, xMax: number, yMin: number, yMax: number, chart: Chart):
|
|
76
|
-
export declare function generateLines(xMin: number, xMax: number, yMin: number, yMax: number, chart: Chart):
|
|
77
|
-
export declare function generatePoints(xMin: number, xMax: number, yMin: number, yMax: number, chart: Chart):
|
|
78
|
-
export declare function generateXAxisGridLines(xMin: number, xMax: number, yMin: number, yMax: number, xTicks:
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
export declare function
|
|
83
|
-
export declare function
|
|
81
|
+
export declare function inverseTransformPoint(point: AI.Point, chart: Chart, xAxis: XAxis, yAxis: YAxis, padding: Padding): AI.Point | undefined;
|
|
82
|
+
export declare function renderChart(chart: Chart): AI.AbstractImage;
|
|
83
|
+
export declare function generateBackground(xMin: number, xMax: number, yMin: number, yMax: number, chart: Chart): AI.Component;
|
|
84
|
+
export declare function generateXAxisBottom(xNumTicks: number, axis: Axis.Axis | undefined, xMin: number, xMax: number, yMin: number, yMax: number, chart: Chart): AI.Component;
|
|
85
|
+
export declare function generateXAxisTop(xNumTicks: number, axis: Axis.Axis | undefined, xMin: number, xMax: number, yMax: number, chart: Chart): AI.Component;
|
|
86
|
+
export declare function generateYAxisLeft(yNumTicks: number, axis: Axis.Axis | undefined, xMin: number, xMax: number, yMin: number, yMax: number, chart: Chart): AI.Component;
|
|
87
|
+
export declare function generateYAxisRight(yNumTicks: number, axis: Axis.Axis | undefined, xMax: number, yMin: number, yMax: number, chart: Chart): AI.Component;
|
|
88
|
+
export declare function generateStack(xMin: number, xMax: number, yMin: number, yMax: number, chart: Chart): AI.Component;
|
|
89
|
+
export declare function generateLines(xMin: number, xMax: number, yMin: number, yMax: number, chart: Chart): AI.Component;
|
|
90
|
+
export declare function generatePoints(xMin: number, xMax: number, yMin: number, yMax: number, chart: Chart): AI.Component;
|
|
91
|
+
export declare function generateXAxisGridLines(xMin: number, xMax: number, yMin: number, yMax: number, xTicks: ReadonlyArray<Axis.DiscreteAxisPoint>, xAxis: Axis.Axis, grid: {
|
|
92
|
+
readonly color: AI.Color;
|
|
93
|
+
readonly thickness: number;
|
|
94
|
+
}): AI.Component;
|
|
95
|
+
export declare function generateXAxisLabels(xMin: number, xMax: number, y: number, growVertical: AI.GrowthDirection, ticks: ReadonlyArray<Axis.DiscreteAxisPoint>, axis: Axis.Axis, chart: Chart): AI.Component;
|
|
96
|
+
export declare function generateXAxisLabel(x: number, y: number, horizontalGrowthDirection: AI.GrowthDirection, verticalGrowthDirection: AI.GrowthDirection, axis: Axis.Axis, chart: Chart): AI.Component;
|
|
97
|
+
export declare function generateYAxisLines(xMin: number, xMax: number, yMin: number, yMax: number, yTicks: ReadonlyArray<Axis.DiscreteAxisPoint>, yAxis: Axis.Axis, grid: {
|
|
98
|
+
readonly color: AI.Color;
|
|
99
|
+
readonly thickness: number;
|
|
100
|
+
}): AI.Component;
|
|
101
|
+
export declare function generateYAxisLabels(x: number, yMin: number, yMax: number, growHorizontal: AI.GrowthDirection, yTicks: ReadonlyArray<Axis.DiscreteAxisPoint>, yAxis: Axis.Axis, chart: Chart): AI.Component;
|
|
102
|
+
export declare function generateYAxisLabel(x: number, y: number, horizontalGrowthDirection: AI.GrowthDirection, verticalGrowthDirection: AI.GrowthDirection, axis: Axis.Axis, chart: Chart): AI.Component;
|
|
103
|
+
export {};
|
|
84
104
|
//# sourceMappingURL=chart.d.ts.map
|
package/lib/chart.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../src/chart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../src/chart.ts"],"names":[],"mappings":"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"}
|