@urvish-procare/react-native-charts-wrapper 0.6.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/README.md +258 -0
- package/android/build.gradle +43 -0
- package/android/src/main/AndroidManifest.xml +4 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/MPAndroidChartPackage.java +49 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/charts/BarChartManager.java +46 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/charts/BarLineChartBaseManager.java +415 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/charts/BubbleChartManager.java +32 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/charts/CandleStickChartManager.java +31 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/charts/ChartBaseManager.java +605 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/charts/ChartGroupHolder.java +80 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/charts/CombinedChartManager.java +62 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/charts/ConfigurableMinimumLinePositionFillFormatter.java +19 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/charts/CustomFormatter.java +25 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/charts/DateFormatter.java +34 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/charts/HorizontalBarChartManager.java +23 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/charts/IndexValueFormatter.java +102 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/charts/LabelByXValueFormatter.java +25 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/charts/LineChartManager.java +31 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/charts/PieChartManager.java +147 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/charts/RadarChartManager.java +118 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/charts/ScatterChartManager.java +32 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/charts/YAxisChartBase.java +51 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/data/BarDataExtract.java +106 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/data/BubbleDataExtract.java +74 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/data/CandleDataExtract.java +102 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/data/CombinedDataExtract.java +70 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/data/DataExtract.java +77 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/data/LineDataExtract.java +130 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/data/PieDataExtract.java +101 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/data/RadarDataExtract.java +58 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/data/ScatterDataExtract.java +75 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/listener/RNOnChartGestureListener.java +129 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/listener/RNOnChartValueSelectedListener.java +52 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/markers/RNCircleMarkerView.java +19 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/markers/RNRectangleMarkerView.java +134 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/utils/BridgeUtils.java +52 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/utils/ChartDataSetConfigUtils.java +197 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/utils/ConversionUtil.java +144 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/utils/DrawableUtils.java +51 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/utils/EasingFunctionHelper.java +128 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/utils/EntryToWritableMapUtils.java +147 -0
- package/android/src/main/java/com/github/wuxudong/rncharts/utils/TypefaceUtils.java +47 -0
- package/android/src/main/res/drawable-nodpi/circle_marker.xml +8 -0
- package/android/src/main/res/drawable-nodpi/oval_marker.png +0 -0
- package/android/src/main/res/drawable-nodpi/rectangle_marker.9.png +0 -0
- package/android/src/main/res/drawable-nodpi/rectangle_marker_left.9.png +0 -0
- package/android/src/main/res/drawable-nodpi/rectangle_marker_right.9.png +0 -0
- package/android/src/main/res/drawable-nodpi/rectangle_marker_top.9.png +0 -0
- package/android/src/main/res/drawable-nodpi/rectangle_marker_top_left.9.png +0 -0
- package/android/src/main/res/drawable-nodpi/rectangle_marker_top_right.9.png +0 -0
- package/android/src/main/res/layout/circle_marker.xml +13 -0
- package/android/src/main/res/layout/oval_marker.xml +24 -0
- package/android/src/main/res/layout/rectangle_marker.xml +21 -0
- package/index.js +21 -0
- package/ios/ReactNativeCharts/BalloonMarker.swift +240 -0
- package/ios/ReactNativeCharts/ChartGroupHolder.swift +70 -0
- package/ios/ReactNativeCharts/CircleMarker.swift +108 -0
- package/ios/ReactNativeCharts/ConfigurableMinimumLinePositionFillFormatter.swift +19 -0
- package/ios/ReactNativeCharts/CustomChartDateFormatter.swift +64 -0
- package/ios/ReactNativeCharts/DataExtract.swift +80 -0
- package/ios/ReactNativeCharts/IndexValueFormatter.swift +49 -0
- package/ios/ReactNativeCharts/RNBarLineChartBaseManager.swift +115 -0
- package/ios/ReactNativeCharts/RNBarLineChartManagerBridge.h +40 -0
- package/ios/ReactNativeCharts/RNBarLineChartViewBase.swift +294 -0
- package/ios/ReactNativeCharts/RNChartManagerBridge.h +36 -0
- package/ios/ReactNativeCharts/RNChartViewBase.swift +593 -0
- package/ios/ReactNativeCharts/RNCharts-Bridging-Header.h +9 -0
- package/ios/ReactNativeCharts/RNYAxisChartManagerBridge.h +17 -0
- package/ios/ReactNativeCharts/RNYAxisChartViewBase.swift +53 -0
- package/ios/ReactNativeCharts/ReactNativeCharts.xcodeproj/project.pbxproj +376 -0
- package/ios/ReactNativeCharts/bar/BarDataExtract.swift +89 -0
- package/ios/ReactNativeCharts/bar/RNBarChartManager.swift +53 -0
- package/ios/ReactNativeCharts/bar/RNBarChartManagerBridge.m +17 -0
- package/ios/ReactNativeCharts/bar/RNBarChartView.swift +41 -0
- package/ios/ReactNativeCharts/bar/RNBarChartViewBase.swift +27 -0
- package/ios/ReactNativeCharts/bar/RNHorizontalBarChartManager.swift +45 -0
- package/ios/ReactNativeCharts/bar/RNHorizontalBarChartManagerBridge.m +16 -0
- package/ios/ReactNativeCharts/bar/RNHorizontalBarChartView.swift +41 -0
- package/ios/ReactNativeCharts/bubble/BubbleDataExtract.swift +61 -0
- package/ios/ReactNativeCharts/bubble/RNBubbleChartManager.swift +53 -0
- package/ios/ReactNativeCharts/bubble/RNBubbleChartManagerBridge.m +15 -0
- package/ios/ReactNativeCharts/bubble/RNBubbleChartView.swift +39 -0
- package/ios/ReactNativeCharts/candlestick/CandleDataExtract.swift +101 -0
- package/ios/ReactNativeCharts/candlestick/RNCandleStickChartManager.swift +53 -0
- package/ios/ReactNativeCharts/candlestick/RNCandleStickChartManagerBridge.m +16 -0
- package/ios/ReactNativeCharts/candlestick/RNCandleStickChartView.swift +44 -0
- package/ios/ReactNativeCharts/combine/CombinedDataExtract.swift +81 -0
- package/ios/ReactNativeCharts/combine/RNCombinedChartManager.swift +53 -0
- package/ios/ReactNativeCharts/combine/RNCombinedChartManagerBridge.m +19 -0
- package/ios/ReactNativeCharts/combine/RNCombinedChartView.swift +61 -0
- package/ios/ReactNativeCharts/formatters/ChartDateFormatter.swift +38 -0
- package/ios/ReactNativeCharts/formatters/LabelByXValueFormatter.swift +35 -0
- package/ios/ReactNativeCharts/formatters/LargeValueFormatter.swift +72 -0
- package/ios/ReactNativeCharts/line/LineDataExtract.swift +178 -0
- package/ios/ReactNativeCharts/line/RNLineChartManager.swift +53 -0
- package/ios/ReactNativeCharts/line/RNLineChartManagerBridge.m +14 -0
- package/ios/ReactNativeCharts/line/RNLineChartView.swift +41 -0
- package/ios/ReactNativeCharts/pie/PieDataExtract.swift +97 -0
- package/ios/ReactNativeCharts/pie/RNPieChartManager.swift +19 -0
- package/ios/ReactNativeCharts/pie/RNPieChartManagerBridge.m +30 -0
- package/ios/ReactNativeCharts/pie/RNPieChartView.swift +192 -0
- package/ios/ReactNativeCharts/radar/RNRadarChartManager.swift +19 -0
- package/ios/ReactNativeCharts/radar/RNRadarChartManagerBridge.m +25 -0
- package/ios/ReactNativeCharts/radar/RNRadarChartView.swift +99 -0
- package/ios/ReactNativeCharts/radar/RadarDataExtract.swift +50 -0
- package/ios/ReactNativeCharts/scatter/RNScatterChartManager.swift +53 -0
- package/ios/ReactNativeCharts/scatter/RNScatterChartManagerBridge.m +15 -0
- package/ios/ReactNativeCharts/scatter/RNScatterChartView.swift +43 -0
- package/ios/ReactNativeCharts/scatter/ScatterDataExtract.swift +76 -0
- package/ios/ReactNativeCharts/utils/BridgeUtils.swift +333 -0
- package/ios/ReactNativeCharts/utils/ChartDataSetConfigUtils.swift +147 -0
- package/ios/ReactNativeCharts/utils/EntryToDictionaryUtils.swift +66 -0
- package/ios/ReactNativeCharts/utils/FontUtils.swift +29 -0
- package/ios/ReactNativeCharts/utils/HighlightUtils.swift +41 -0
- package/lib/AxisIface.js +102 -0
- package/lib/BarChart.js +43 -0
- package/lib/BarLineChartBase.js +86 -0
- package/lib/BubbleChart.js +40 -0
- package/lib/CandleStickChart.js +40 -0
- package/lib/ChartBase.js +131 -0
- package/lib/ChartDataConfig.js +263 -0
- package/lib/ChartDataSetConfig.js +80 -0
- package/lib/CombinedChart.js +43 -0
- package/lib/HighlightEnhancer.js +15 -0
- package/lib/HorizontalBarChart.js +43 -0
- package/lib/LineChart.js +39 -0
- package/lib/MoveEnhancer.js +49 -0
- package/lib/PieChart.js +64 -0
- package/lib/PieRadarChartBase.js +18 -0
- package/lib/RadarChart.js +52 -0
- package/lib/ScaleEnhancer.js +16 -0
- package/lib/ScatterChart.js +38 -0
- package/lib/ScrollEnhancer.js +15 -0
- package/package.json +40 -0
- package/react-native-charts-wrapper.podspec +26 -0
package/lib/AxisIface.js
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
|
|
3
|
+
export const axisIface = {
|
|
4
|
+
// what is drawn
|
|
5
|
+
enabled: PropTypes.bool,
|
|
6
|
+
drawLabels: PropTypes.bool,
|
|
7
|
+
drawAxisLine: PropTypes.bool,
|
|
8
|
+
drawGridLines: PropTypes.bool,
|
|
9
|
+
|
|
10
|
+
// style
|
|
11
|
+
textColor: PropTypes.number,
|
|
12
|
+
textSize: PropTypes.number,
|
|
13
|
+
fontFamily: PropTypes.string,
|
|
14
|
+
fontStyle: PropTypes.string,
|
|
15
|
+
fontWeight: PropTypes.string,
|
|
16
|
+
gridColor: PropTypes.number,
|
|
17
|
+
gridLineWidth: PropTypes.number,
|
|
18
|
+
axisLineColor: PropTypes.number,
|
|
19
|
+
axisLineWidth: PropTypes.number,
|
|
20
|
+
gridDashedLine: PropTypes.shape({
|
|
21
|
+
lineLength: PropTypes.number,
|
|
22
|
+
spaceLength: PropTypes.number,
|
|
23
|
+
phase: PropTypes.number
|
|
24
|
+
}),
|
|
25
|
+
|
|
26
|
+
// limit lines
|
|
27
|
+
limitLines: PropTypes.arrayOf(
|
|
28
|
+
PropTypes.shape({
|
|
29
|
+
limit: PropTypes.number.isRequired,
|
|
30
|
+
label: PropTypes.string,
|
|
31
|
+
lineColor: PropTypes.number,
|
|
32
|
+
lineWidth: PropTypes.number,
|
|
33
|
+
valueTextColor: PropTypes.number,
|
|
34
|
+
valueFont: PropTypes.number,
|
|
35
|
+
fontFamily: PropTypes.string,
|
|
36
|
+
fontStyle: PropTypes.string,
|
|
37
|
+
fontWeight: PropTypes.string,
|
|
38
|
+
labelPosition: PropTypes.oneOf(['LEFT_TOP', 'LEFT_BOTTOM', 'RIGHT_TOP', 'RIGHT_BOTTOM']),
|
|
39
|
+
lineDashPhase: PropTypes.number,
|
|
40
|
+
lineDashLengths: PropTypes.arrayOf(PropTypes.number)
|
|
41
|
+
})
|
|
42
|
+
),
|
|
43
|
+
drawLimitLinesBehindData: PropTypes.bool,
|
|
44
|
+
|
|
45
|
+
axisMaximum: PropTypes.number,
|
|
46
|
+
axisMinimum: PropTypes.number,
|
|
47
|
+
granularity: PropTypes.number,
|
|
48
|
+
granularityEnabled: PropTypes.bool,
|
|
49
|
+
|
|
50
|
+
labelCount: PropTypes.number,
|
|
51
|
+
labelCountForce: PropTypes.bool,
|
|
52
|
+
|
|
53
|
+
centerAxisLabels: PropTypes.bool, // Centers the axis labels instead of drawing them at their original position. This is useful especially for grouped BarChart.
|
|
54
|
+
|
|
55
|
+
// formatting
|
|
56
|
+
valueFormatter: PropTypes.oneOfType([
|
|
57
|
+
PropTypes.oneOf(['largeValue', 'percent', 'date']),
|
|
58
|
+
PropTypes.string,
|
|
59
|
+
PropTypes.arrayOf(PropTypes.string)
|
|
60
|
+
]),
|
|
61
|
+
|
|
62
|
+
// valueFormatterPattern, since, timeUnit are used when valueFormatter is 'date'
|
|
63
|
+
// since: milliseconds of 2018-6-1, timeUnit: DAYS, x:9, valueFormatterPattern: YYYY-MM-dd
|
|
64
|
+
// will display 2018-6-10
|
|
65
|
+
|
|
66
|
+
// Note: for iOS/Charts, double is used for x, but in MpAndroidChart, float is used for x.
|
|
67
|
+
// so in android, there will be precision loss when you use MILLISECONDS/SECOND/MINUTES as x value.
|
|
68
|
+
// you can use a different since like seconds of 2019 or use timeUnit DAYS, then x value will be within a valid range.
|
|
69
|
+
|
|
70
|
+
valueFormatterPattern: PropTypes.string,
|
|
71
|
+
since: PropTypes.number, // milliseconds from 1970-1-1 when x=0
|
|
72
|
+
timeUnit: PropTypes.oneOf(['MILLISECONDS', 'SECONDS', 'MINUTES', 'HOURS', 'DAYS']), // timeUnit of x,
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export const xAxisIface = {
|
|
76
|
+
...axisIface,
|
|
77
|
+
|
|
78
|
+
labelRotationAngle: PropTypes.number,
|
|
79
|
+
avoidFirstLastClipping: PropTypes.bool,
|
|
80
|
+
position: PropTypes.oneOf(['TOP', 'BOTTOM', 'BOTH_SIDED', 'TOP_INSIDE', 'BOTTOM_INSIDE']),
|
|
81
|
+
yOffset: PropTypes.number
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
export const yAxisIface = {
|
|
85
|
+
...axisIface,
|
|
86
|
+
|
|
87
|
+
inverted: PropTypes.bool,
|
|
88
|
+
spaceTop: PropTypes.number,
|
|
89
|
+
spaceBottom: PropTypes.number,
|
|
90
|
+
|
|
91
|
+
position: PropTypes.oneOf(['OUTSIDE_CHART', 'INSIDE_CHART']),
|
|
92
|
+
|
|
93
|
+
maxWidth: PropTypes.number,
|
|
94
|
+
minWidth: PropTypes.number,
|
|
95
|
+
|
|
96
|
+
// zero line
|
|
97
|
+
zeroLine: PropTypes.shape({
|
|
98
|
+
enabled: PropTypes.bool,
|
|
99
|
+
lineWidth: PropTypes.number,
|
|
100
|
+
lineColor: PropTypes.number
|
|
101
|
+
})
|
|
102
|
+
};
|
package/lib/BarChart.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
import React, {Component} from 'react';
|
|
3
|
+
import {
|
|
4
|
+
requireNativeComponent,
|
|
5
|
+
View
|
|
6
|
+
} from 'react-native';
|
|
7
|
+
|
|
8
|
+
import BarLineChartBase from './BarLineChartBase';
|
|
9
|
+
import {barData} from './ChartDataConfig';
|
|
10
|
+
import MoveEnhancer from './MoveEnhancer'
|
|
11
|
+
import ScaleEnhancer from "./ScaleEnhancer";
|
|
12
|
+
import HighlightEnhancer from "./HighlightEnhancer";
|
|
13
|
+
import ScrollEnhancer from "./ScrollEnhancer";
|
|
14
|
+
|
|
15
|
+
class BarChart extends React.Component {
|
|
16
|
+
getNativeComponentName() {
|
|
17
|
+
return 'RNBarChart'
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
getNativeComponentRef() {
|
|
21
|
+
return this.nativeComponentRef
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
render() {
|
|
25
|
+
return <RNBarChart {...this.props} ref={ref => this.nativeComponentRef = ref} />;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
BarChart.propTypes = {
|
|
30
|
+
...BarLineChartBase.propTypes,
|
|
31
|
+
|
|
32
|
+
drawValueAboveBar: PropTypes.bool,
|
|
33
|
+
drawBarShadow: PropTypes.bool,
|
|
34
|
+
highlightFullBarEnabled: PropTypes.bool,
|
|
35
|
+
|
|
36
|
+
data: barData
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
var RNBarChart = requireNativeComponent('RNBarChart', BarChart, {
|
|
40
|
+
nativeOnly: {onSelect: true, onChange: true}
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
export default ScrollEnhancer(HighlightEnhancer(ScaleEnhancer(MoveEnhancer(BarChart))))
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
import {
|
|
3
|
+
View
|
|
4
|
+
} from 'react-native';
|
|
5
|
+
|
|
6
|
+
import ChartBase from './ChartBase';
|
|
7
|
+
import {yAxisIface} from './AxisIface';
|
|
8
|
+
|
|
9
|
+
const iface = {
|
|
10
|
+
propTypes: {
|
|
11
|
+
...ChartBase.propTypes,
|
|
12
|
+
maxHighlightDistance: PropTypes.number,
|
|
13
|
+
drawGridBackground: PropTypes.bool,
|
|
14
|
+
gridBackgroundColor: PropTypes.number,
|
|
15
|
+
|
|
16
|
+
drawBorders: PropTypes.bool,
|
|
17
|
+
borderColor: PropTypes.number,
|
|
18
|
+
borderWidth: PropTypes.number,
|
|
19
|
+
|
|
20
|
+
minOffset: PropTypes.number,
|
|
21
|
+
maxVisibleValueCount: PropTypes.number,
|
|
22
|
+
visibleRange: PropTypes.shape({
|
|
23
|
+
x: PropTypes.shape({
|
|
24
|
+
min: PropTypes.number,
|
|
25
|
+
max: PropTypes.number
|
|
26
|
+
}),
|
|
27
|
+
y: PropTypes.shape({
|
|
28
|
+
left: PropTypes.shape({
|
|
29
|
+
min: PropTypes.number,
|
|
30
|
+
max: PropTypes.number
|
|
31
|
+
}),
|
|
32
|
+
right: PropTypes.shape({
|
|
33
|
+
min: PropTypes.number,
|
|
34
|
+
max: PropTypes.number
|
|
35
|
+
})
|
|
36
|
+
})
|
|
37
|
+
}),
|
|
38
|
+
maxScale: PropTypes.shape({
|
|
39
|
+
x: PropTypes.number,
|
|
40
|
+
y: PropTypes.number
|
|
41
|
+
}),
|
|
42
|
+
autoScaleMinMaxEnabled: PropTypes.bool,
|
|
43
|
+
keepPositionOnRotation: PropTypes.bool,
|
|
44
|
+
|
|
45
|
+
highlightPerDragEnabled: PropTypes.bool,
|
|
46
|
+
|
|
47
|
+
scaleEnabled: PropTypes.bool,
|
|
48
|
+
scaleXEnabled: PropTypes.bool,
|
|
49
|
+
scaleYEnabled: PropTypes.bool,
|
|
50
|
+
dragEnabled: PropTypes.bool,
|
|
51
|
+
pinchZoom: PropTypes.bool,
|
|
52
|
+
doubleTapToZoomEnabled: PropTypes.bool,
|
|
53
|
+
|
|
54
|
+
yAxis: PropTypes.shape({
|
|
55
|
+
left: PropTypes.shape(yAxisIface),
|
|
56
|
+
right: PropTypes.shape(yAxisIface)
|
|
57
|
+
}),
|
|
58
|
+
zoom: PropTypes.shape({
|
|
59
|
+
scaleX: PropTypes.number.isRequired,
|
|
60
|
+
scaleY: PropTypes.number.isRequired,
|
|
61
|
+
xValue: PropTypes.number.isRequired,
|
|
62
|
+
yValue: PropTypes.number.isRequired,
|
|
63
|
+
axisDependency: PropTypes.oneOf(['LEFT', 'RIGHT'])
|
|
64
|
+
}),
|
|
65
|
+
viewPortOffsets: PropTypes.shape({
|
|
66
|
+
left: PropTypes.number,
|
|
67
|
+
top: PropTypes.number,
|
|
68
|
+
right: PropTypes.number,
|
|
69
|
+
bottom: PropTypes.number
|
|
70
|
+
}),
|
|
71
|
+
extraOffsets: PropTypes.shape({
|
|
72
|
+
left: PropTypes.number,
|
|
73
|
+
top: PropTypes.number,
|
|
74
|
+
right: PropTypes.number,
|
|
75
|
+
bottom: PropTypes.number
|
|
76
|
+
}),
|
|
77
|
+
|
|
78
|
+
group: PropTypes.string,
|
|
79
|
+
identifier: PropTypes.string,
|
|
80
|
+
syncX: PropTypes.bool,
|
|
81
|
+
syncY: PropTypes.bool,
|
|
82
|
+
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export default iface;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
import React, {Component} from 'react';
|
|
3
|
+
import {
|
|
4
|
+
requireNativeComponent,
|
|
5
|
+
View
|
|
6
|
+
} from 'react-native';
|
|
7
|
+
import ScrollEnhancer from "./ScrollEnhancer";
|
|
8
|
+
|
|
9
|
+
import BarLineChartBase from './BarLineChartBase';
|
|
10
|
+
import {bubbleData} from './ChartDataConfig';
|
|
11
|
+
import MoveEnhancer from './MoveEnhancer'
|
|
12
|
+
import ScaleEnhancer from "./ScaleEnhancer";
|
|
13
|
+
import HighlightEnhancer from "./HighlightEnhancer";
|
|
14
|
+
|
|
15
|
+
class BubbleChart extends React.Component {
|
|
16
|
+
getNativeComponentName() {
|
|
17
|
+
return 'RNBubbleChart'
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
getNativeComponentRef() {
|
|
21
|
+
return this.nativeComponentRef
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
render() {
|
|
25
|
+
return <RNBubbleChart {...this.props} ref={ref => this.nativeComponentRef = ref} />;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
BubbleChart.propTypes = {
|
|
30
|
+
...BarLineChartBase.propTypes,
|
|
31
|
+
|
|
32
|
+
data: bubbleData
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
var RNBubbleChart = requireNativeComponent('RNBubbleChart', BubbleChart, {
|
|
36
|
+
nativeOnly: {onSelect: true, onChange: true}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
export default ScrollEnhancer(HighlightEnhancer(ScaleEnhancer(MoveEnhancer(BubbleChart))))
|
|
40
|
+
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
import React, {Component} from 'react';
|
|
3
|
+
import {
|
|
4
|
+
requireNativeComponent,
|
|
5
|
+
View
|
|
6
|
+
} from 'react-native';
|
|
7
|
+
|
|
8
|
+
import BarLineChartBase from './BarLineChartBase';
|
|
9
|
+
import {candleData} from './ChartDataConfig';
|
|
10
|
+
import MoveEnhancer from './MoveEnhancer'
|
|
11
|
+
import ScaleEnhancer from "./ScaleEnhancer";
|
|
12
|
+
import HighlightEnhancer from "./HighlightEnhancer";
|
|
13
|
+
import ScrollEnhancer from "./ScrollEnhancer";
|
|
14
|
+
|
|
15
|
+
class CandleStickChart extends React.Component {
|
|
16
|
+
getNativeComponentName() {
|
|
17
|
+
return 'RNCandleStickChart'
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
getNativeComponentRef() {
|
|
21
|
+
return this.nativeComponentRef
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
render() {
|
|
25
|
+
return <RNCandleStickChart {...this.props} ref={ref => this.nativeComponentRef = ref} />;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
CandleStickChart.propTypes = {
|
|
31
|
+
...BarLineChartBase.propTypes,
|
|
32
|
+
|
|
33
|
+
data: candleData
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var RNCandleStickChart = requireNativeComponent('RNCandleStickChart', CandleStickChart, {
|
|
37
|
+
nativeOnly: {onSelect: true, onChange: true}
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
export default ScrollEnhancer(HighlightEnhancer(ScaleEnhancer(MoveEnhancer(CandleStickChart))))
|
package/lib/ChartBase.js
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
|
|
3
|
+
import {xAxisIface} from './AxisIface'
|
|
4
|
+
import {ViewPropTypes} from "deprecated-react-native-prop-types";
|
|
5
|
+
|
|
6
|
+
const descriptionIface = {
|
|
7
|
+
text: PropTypes.string,
|
|
8
|
+
textColor: PropTypes.number,
|
|
9
|
+
textSize: PropTypes.number,
|
|
10
|
+
|
|
11
|
+
positionX: PropTypes.number,
|
|
12
|
+
positionY: PropTypes.number,
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const legendIface = {
|
|
16
|
+
enabled: PropTypes.bool,
|
|
17
|
+
|
|
18
|
+
textColor: PropTypes.number,
|
|
19
|
+
textSize: PropTypes.number,
|
|
20
|
+
fontFamily: PropTypes.string,
|
|
21
|
+
fontStyle: PropTypes.number,
|
|
22
|
+
fontWeight: PropTypes.number,
|
|
23
|
+
|
|
24
|
+
wordWrapEnabled: PropTypes.bool,
|
|
25
|
+
maxSizePercent: PropTypes.number,
|
|
26
|
+
|
|
27
|
+
horizontalAlignment: PropTypes.oneOf(['LEFT', 'CENTER', 'RIGHT']),
|
|
28
|
+
verticalAlignment: PropTypes.oneOf(['TOP', 'CENTER', 'BOTTOM']),
|
|
29
|
+
orientation: PropTypes.oneOf(['HORIZONTAL', 'VERTICAL']),
|
|
30
|
+
drawInside: PropTypes.bool,
|
|
31
|
+
direction: PropTypes.oneOf(['LEFT_TO_RIGHT', 'RIGHT_TO_LEFT']),
|
|
32
|
+
|
|
33
|
+
form: PropTypes.oneOf(['NONE', 'EMPTY', 'DEFAULT', 'SQUARE', 'CIRCLE', 'LINE']),
|
|
34
|
+
formSize: PropTypes.number,
|
|
35
|
+
xEntrySpace: PropTypes.number,
|
|
36
|
+
yEntrySpace: PropTypes.number,
|
|
37
|
+
formToTextSpace: PropTypes.number,
|
|
38
|
+
|
|
39
|
+
custom: PropTypes.shape({
|
|
40
|
+
colors: PropTypes.arrayOf(PropTypes.number),
|
|
41
|
+
labels: PropTypes.arrayOf(PropTypes.string)
|
|
42
|
+
})
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const chartIface = {
|
|
46
|
+
propTypes: {
|
|
47
|
+
...ViewPropTypes,
|
|
48
|
+
|
|
49
|
+
animation: PropTypes.shape({
|
|
50
|
+
durationX: PropTypes.number, // Millis
|
|
51
|
+
durationY: PropTypes.number, // Millis
|
|
52
|
+
|
|
53
|
+
// option of easingX, easingY:
|
|
54
|
+
// Linear,
|
|
55
|
+
// EaseInQuad,
|
|
56
|
+
// EaseOutQuad,
|
|
57
|
+
// EaseInOutQuad,
|
|
58
|
+
// EaseInCubic,
|
|
59
|
+
// EaseOutCubic,
|
|
60
|
+
// EaseInOutCubic,
|
|
61
|
+
// EaseInQuart,
|
|
62
|
+
// EaseOutQuart,
|
|
63
|
+
// EaseInOutQuart,
|
|
64
|
+
// EaseInSine,
|
|
65
|
+
// EaseOutSine,
|
|
66
|
+
// EaseInOutSine,
|
|
67
|
+
// EaseInExpo,
|
|
68
|
+
// EaseOutExpo,
|
|
69
|
+
// EaseInOutExpo,
|
|
70
|
+
// EaseInCirc,
|
|
71
|
+
// EaseOutCirc,
|
|
72
|
+
// EaseInOutCirc,
|
|
73
|
+
// EaseInElastic,
|
|
74
|
+
// EaseOutElastic,
|
|
75
|
+
// EaseInOutElastic,
|
|
76
|
+
// EaseInBack,
|
|
77
|
+
// EaseOutBack,
|
|
78
|
+
// EaseInOutBack,
|
|
79
|
+
// EaseInBounce,
|
|
80
|
+
// EaseOutBounce,
|
|
81
|
+
// EaseInOutBounce,
|
|
82
|
+
easingX: PropTypes.string,
|
|
83
|
+
easingY: PropTypes.string
|
|
84
|
+
}),
|
|
85
|
+
|
|
86
|
+
chartBackgroundColor: PropTypes.number,
|
|
87
|
+
logEnabled: PropTypes.bool,
|
|
88
|
+
noDataText: PropTypes.string,
|
|
89
|
+
noDataTextColor: PropTypes.number,
|
|
90
|
+
|
|
91
|
+
touchEnabled: PropTypes.bool,
|
|
92
|
+
dragDecelerationEnabled: PropTypes.bool,
|
|
93
|
+
dragDecelerationFrictionCoef: (props, propName, componentName) => {
|
|
94
|
+
let coef = props[propName];
|
|
95
|
+
if (coef && (typeof coef !== 'number' || coef < 0 || coef > 1)) {
|
|
96
|
+
return new Error(
|
|
97
|
+
`Invalid prop ${propName} supplied to '${componentName}'. Value must be number and between 0 and 1.`
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
|
|
102
|
+
highlightPerTapEnabled: PropTypes.bool,
|
|
103
|
+
chartDescription: PropTypes.shape(descriptionIface),
|
|
104
|
+
|
|
105
|
+
legend: PropTypes.shape(legendIface),
|
|
106
|
+
|
|
107
|
+
xAxis: PropTypes.shape(xAxisIface),
|
|
108
|
+
onYaxisMinMaxChange: PropTypes.func,
|
|
109
|
+
|
|
110
|
+
marker: PropTypes.shape({
|
|
111
|
+
enabled: PropTypes.bool,
|
|
112
|
+
digits: PropTypes.number,
|
|
113
|
+
markerColor: PropTypes.number,
|
|
114
|
+
textColor: PropTypes.number,
|
|
115
|
+
textSize: PropTypes.number,
|
|
116
|
+
|
|
117
|
+
}),
|
|
118
|
+
|
|
119
|
+
// stackIndex for StackBarChart
|
|
120
|
+
highlights: PropTypes.arrayOf(
|
|
121
|
+
PropTypes.shape({
|
|
122
|
+
x: PropTypes.number.isRequired,
|
|
123
|
+
dataSetIndex: PropTypes.number, // this is used in stacked bar chart
|
|
124
|
+
dataIndex: PropTypes.number, // this is necessary in combined chart when default highlight is set. the default sequence is line, bar, scatter, candle, bubble
|
|
125
|
+
y: PropTypes.number,
|
|
126
|
+
stackIndex: PropTypes.number
|
|
127
|
+
}))
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
export default chartIface;
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import PropTypes from "prop-types";
|
|
2
|
+
import ChartDataSetConfig from "./ChartDataSetConfig";
|
|
3
|
+
|
|
4
|
+
const lineData = PropTypes.shape({
|
|
5
|
+
dataSets: PropTypes.arrayOf(
|
|
6
|
+
PropTypes.shape({
|
|
7
|
+
values: PropTypes.arrayOf(
|
|
8
|
+
PropTypes.oneOfType([
|
|
9
|
+
PropTypes.shape({
|
|
10
|
+
x: PropTypes.number,
|
|
11
|
+
y: PropTypes.number.isRequired,
|
|
12
|
+
marker: PropTypes.string,
|
|
13
|
+
icon: PropTypes.shape({
|
|
14
|
+
bundle: PropTypes.object,
|
|
15
|
+
width: PropTypes.number,
|
|
16
|
+
height: PropTypes.number
|
|
17
|
+
})
|
|
18
|
+
}),
|
|
19
|
+
PropTypes.number
|
|
20
|
+
])
|
|
21
|
+
),
|
|
22
|
+
label: PropTypes.string.isRequired,
|
|
23
|
+
config: PropTypes.shape({
|
|
24
|
+
...ChartDataSetConfig.common,
|
|
25
|
+
...ChartDataSetConfig.barLineScatterCandleBubble,
|
|
26
|
+
...ChartDataSetConfig.lineScatterCandleRadar,
|
|
27
|
+
...ChartDataSetConfig.lineRadar,
|
|
28
|
+
|
|
29
|
+
circleRadius: PropTypes.number,
|
|
30
|
+
drawCircles: PropTypes.bool,
|
|
31
|
+
mode: PropTypes.oneOf([
|
|
32
|
+
"LINEAR",
|
|
33
|
+
"STEPPED",
|
|
34
|
+
"CUBIC_BEZIER",
|
|
35
|
+
"HORIZONTAL_BEZIER"
|
|
36
|
+
]),
|
|
37
|
+
drawCubicIntensity: PropTypes.number,
|
|
38
|
+
circleColor: PropTypes.number,
|
|
39
|
+
circleColors: PropTypes.arrayOf(PropTypes.number),
|
|
40
|
+
circleHoleColor: PropTypes.number,
|
|
41
|
+
drawCircleHole: PropTypes.bool,
|
|
42
|
+
fillFormatter: PropTypes.shape({
|
|
43
|
+
min: PropTypes.number.isRequired,
|
|
44
|
+
}),
|
|
45
|
+
|
|
46
|
+
dashedLine: PropTypes.shape({
|
|
47
|
+
lineLength: PropTypes.number.isRequired,
|
|
48
|
+
spaceLength: PropTypes.number.isRequired,
|
|
49
|
+
phase: PropTypes.number
|
|
50
|
+
})
|
|
51
|
+
})
|
|
52
|
+
})
|
|
53
|
+
)
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
const barData = PropTypes.shape({
|
|
57
|
+
dataSets: PropTypes.arrayOf(
|
|
58
|
+
PropTypes.shape({
|
|
59
|
+
values: PropTypes.arrayOf(
|
|
60
|
+
PropTypes.oneOfType([
|
|
61
|
+
PropTypes.shape({
|
|
62
|
+
x: PropTypes.number,
|
|
63
|
+
y: PropTypes.oneOfType([
|
|
64
|
+
PropTypes.number,
|
|
65
|
+
PropTypes.arrayOf(PropTypes.number)
|
|
66
|
+
]),
|
|
67
|
+
marker: PropTypes.oneOfType([
|
|
68
|
+
PropTypes.string,
|
|
69
|
+
PropTypes.arrayOf(PropTypes.string)
|
|
70
|
+
])
|
|
71
|
+
}),
|
|
72
|
+
PropTypes.oneOfType([
|
|
73
|
+
PropTypes.number,
|
|
74
|
+
PropTypes.arrayOf(PropTypes.number)
|
|
75
|
+
])
|
|
76
|
+
])
|
|
77
|
+
),
|
|
78
|
+
label: PropTypes.string.isRequired,
|
|
79
|
+
config: PropTypes.shape({
|
|
80
|
+
...ChartDataSetConfig.common,
|
|
81
|
+
...ChartDataSetConfig.barLineScatterCandleBubble,
|
|
82
|
+
|
|
83
|
+
barShadowColor: PropTypes.number,
|
|
84
|
+
highlightAlpha: PropTypes.number, // using android format (0-255), not ios format(0-1), the conversion is x/255
|
|
85
|
+
stackLabels: PropTypes.arrayOf(PropTypes.string)
|
|
86
|
+
})
|
|
87
|
+
})
|
|
88
|
+
),
|
|
89
|
+
|
|
90
|
+
config: PropTypes.shape({
|
|
91
|
+
barWidth: PropTypes.number,
|
|
92
|
+
group: PropTypes.shape({
|
|
93
|
+
fromX: PropTypes.number.isRequired,
|
|
94
|
+
groupSpace: PropTypes.number.isRequired,
|
|
95
|
+
barSpace: PropTypes.number.isRequired
|
|
96
|
+
})
|
|
97
|
+
})
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
const bubbleData = PropTypes.shape({
|
|
101
|
+
dataSets: PropTypes.arrayOf(
|
|
102
|
+
PropTypes.shape({
|
|
103
|
+
values: PropTypes.arrayOf(
|
|
104
|
+
PropTypes.shape({
|
|
105
|
+
x: PropTypes.number,
|
|
106
|
+
y: PropTypes.number.isRequired,
|
|
107
|
+
size: PropTypes.number.isRequired,
|
|
108
|
+
marker: PropTypes.string
|
|
109
|
+
})
|
|
110
|
+
),
|
|
111
|
+
label: PropTypes.string.isRequired,
|
|
112
|
+
config: PropTypes.shape({
|
|
113
|
+
...ChartDataSetConfig.common,
|
|
114
|
+
...ChartDataSetConfig.barLineScatterCandleBubble
|
|
115
|
+
})
|
|
116
|
+
})
|
|
117
|
+
)
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
const candleData = PropTypes.shape({
|
|
121
|
+
dataSets: PropTypes.arrayOf(
|
|
122
|
+
PropTypes.shape({
|
|
123
|
+
values: PropTypes.arrayOf(
|
|
124
|
+
PropTypes.shape({
|
|
125
|
+
x: PropTypes.number,
|
|
126
|
+
shadowH: PropTypes.number.isRequired,
|
|
127
|
+
shadowL: PropTypes.number.isRequired,
|
|
128
|
+
open: PropTypes.number.isRequired,
|
|
129
|
+
close: PropTypes.number.isRequired,
|
|
130
|
+
marker: PropTypes.string
|
|
131
|
+
})
|
|
132
|
+
),
|
|
133
|
+
label: PropTypes.string.isRequired,
|
|
134
|
+
config: PropTypes.shape({
|
|
135
|
+
...ChartDataSetConfig.common,
|
|
136
|
+
...ChartDataSetConfig.barLineScatterCandleBubble,
|
|
137
|
+
...ChartDataSetConfig.lineScatterCandleRadar,
|
|
138
|
+
|
|
139
|
+
barSpace: PropTypes.number,
|
|
140
|
+
shadowWidth: PropTypes.number,
|
|
141
|
+
shadowColor: PropTypes.number,
|
|
142
|
+
shadowColorSameAsCandle: PropTypes.bool,
|
|
143
|
+
neutralColor: PropTypes.number,
|
|
144
|
+
decreasingColor: PropTypes.number,
|
|
145
|
+
decreasingPaintStyle: PropTypes.oneOf([
|
|
146
|
+
"FILL",
|
|
147
|
+
"STROKE",
|
|
148
|
+
"FILL_AND_STROKE"
|
|
149
|
+
]),
|
|
150
|
+
increasingColor: PropTypes.number,
|
|
151
|
+
increasingPaintStyle: PropTypes.oneOf([
|
|
152
|
+
"FILL",
|
|
153
|
+
"STROKE",
|
|
154
|
+
"FILL_AND_STROKE"
|
|
155
|
+
])
|
|
156
|
+
})
|
|
157
|
+
})
|
|
158
|
+
)
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
const pieData = PropTypes.shape({
|
|
162
|
+
dataSets: PropTypes.arrayOf(
|
|
163
|
+
PropTypes.shape({
|
|
164
|
+
values: PropTypes.arrayOf(
|
|
165
|
+
PropTypes.oneOfType([
|
|
166
|
+
PropTypes.shape({
|
|
167
|
+
value: PropTypes.number.isRequired,
|
|
168
|
+
label: PropTypes.string
|
|
169
|
+
}),
|
|
170
|
+
PropTypes.number
|
|
171
|
+
])
|
|
172
|
+
),
|
|
173
|
+
label: PropTypes.string.isRequired,
|
|
174
|
+
config: PropTypes.shape({
|
|
175
|
+
...ChartDataSetConfig.common,
|
|
176
|
+
|
|
177
|
+
sliceSpace: PropTypes.number,
|
|
178
|
+
selectionShift: PropTypes.number,
|
|
179
|
+
xValuePosition: PropTypes.oneOf(["INSIDE_SLICE", "OUTSIDE_SLICE"]),
|
|
180
|
+
yValuePosition: PropTypes.oneOf(["INSIDE_SLICE", "OUTSIDE_SLICE"]),
|
|
181
|
+
valueLinePart1Length: PropTypes.number,
|
|
182
|
+
valueLinePart2Length: PropTypes.number,
|
|
183
|
+
valueLineColor: PropTypes.number,
|
|
184
|
+
valueLineWidth: PropTypes.number,
|
|
185
|
+
valueLinePart1OffsetPercentage: PropTypes.number,
|
|
186
|
+
valueLineVariableLength: PropTypes.bool
|
|
187
|
+
})
|
|
188
|
+
})
|
|
189
|
+
)
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
const radarData = PropTypes.shape({
|
|
193
|
+
dataSets: PropTypes.arrayOf(
|
|
194
|
+
PropTypes.shape({
|
|
195
|
+
values: PropTypes.arrayOf(
|
|
196
|
+
PropTypes.oneOfType([
|
|
197
|
+
PropTypes.shape({ value: PropTypes.number.isRequired }),
|
|
198
|
+
PropTypes.number
|
|
199
|
+
])
|
|
200
|
+
),
|
|
201
|
+
label: PropTypes.string.isRequired,
|
|
202
|
+
config: PropTypes.shape({
|
|
203
|
+
...ChartDataSetConfig.common,
|
|
204
|
+
...ChartDataSetConfig.lineScatterCandleRadar,
|
|
205
|
+
...ChartDataSetConfig.lineRadar
|
|
206
|
+
})
|
|
207
|
+
})
|
|
208
|
+
),
|
|
209
|
+
labels: PropTypes.arrayOf(PropTypes.string)
|
|
210
|
+
});
|
|
211
|
+
|
|
212
|
+
const scatterData = PropTypes.shape({
|
|
213
|
+
dataSets: PropTypes.arrayOf(
|
|
214
|
+
PropTypes.shape({
|
|
215
|
+
values: PropTypes.arrayOf(
|
|
216
|
+
PropTypes.oneOfType([
|
|
217
|
+
PropTypes.shape({
|
|
218
|
+
x: PropTypes.number,
|
|
219
|
+
y: PropTypes.number.isRequired,
|
|
220
|
+
marker: PropTypes.string
|
|
221
|
+
}),
|
|
222
|
+
PropTypes.number
|
|
223
|
+
])
|
|
224
|
+
),
|
|
225
|
+
label: PropTypes.string.isRequired,
|
|
226
|
+
config: PropTypes.shape({
|
|
227
|
+
...ChartDataSetConfig.common,
|
|
228
|
+
...ChartDataSetConfig.barLineScatterCandleBubble,
|
|
229
|
+
...ChartDataSetConfig.lineScatterCandleRadar,
|
|
230
|
+
|
|
231
|
+
scatterShapeSize: PropTypes.number,
|
|
232
|
+
scatterShape: PropTypes.oneOf([
|
|
233
|
+
"SQUARE",
|
|
234
|
+
"CIRCLE",
|
|
235
|
+
"TRIANGLE",
|
|
236
|
+
"CROSS",
|
|
237
|
+
"X"
|
|
238
|
+
]),
|
|
239
|
+
scatterShapeHoleColor: PropTypes.number,
|
|
240
|
+
scatterShapeHoleRadius: PropTypes.number
|
|
241
|
+
})
|
|
242
|
+
})
|
|
243
|
+
)
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
const combinedData = PropTypes.shape({
|
|
247
|
+
lineData: lineData,
|
|
248
|
+
barData: barData,
|
|
249
|
+
scatterData: scatterData,
|
|
250
|
+
candleData: candleData,
|
|
251
|
+
bubbleData: bubbleData
|
|
252
|
+
});
|
|
253
|
+
|
|
254
|
+
export {
|
|
255
|
+
lineData,
|
|
256
|
+
barData,
|
|
257
|
+
pieData,
|
|
258
|
+
bubbleData,
|
|
259
|
+
scatterData,
|
|
260
|
+
candleData,
|
|
261
|
+
radarData,
|
|
262
|
+
combinedData
|
|
263
|
+
};
|