mirror of https://github.com/apache/superset.git
feat: Removes the preset-chart-xy plugin (#23943)
This commit is contained in:
parent
bcb145df99
commit
e922f0993d
|
@ -46,7 +46,6 @@
|
|||
"@superset-ui/plugin-chart-pivot-table": "file:./plugins/plugin-chart-pivot-table",
|
||||
"@superset-ui/plugin-chart-table": "file:./plugins/plugin-chart-table",
|
||||
"@superset-ui/plugin-chart-word-cloud": "file:./plugins/plugin-chart-word-cloud",
|
||||
"@superset-ui/preset-chart-xy": "file:./plugins/preset-chart-xy",
|
||||
"@superset-ui/switchboard": "file:./packages/superset-ui-switchboard",
|
||||
"@types/d3-format": "^3.0.1",
|
||||
"@visx/axis": "^3.0.1",
|
||||
|
@ -19878,10 +19877,6 @@
|
|||
"resolved": "plugins/plugin-chart-word-cloud",
|
||||
"link": true
|
||||
},
|
||||
"node_modules/@superset-ui/preset-chart-xy": {
|
||||
"resolved": "plugins/preset-chart-xy",
|
||||
"link": true
|
||||
},
|
||||
"node_modules/@superset-ui/switchboard": {
|
||||
"resolved": "packages/superset-ui-switchboard",
|
||||
"link": true
|
||||
|
@ -60470,8 +60465,7 @@
|
|||
"@superset-ui/legacy-preset-chart-nvd3": "*",
|
||||
"@superset-ui/plugin-chart-echarts": "*",
|
||||
"@superset-ui/plugin-chart-table": "*",
|
||||
"@superset-ui/plugin-chart-word-cloud": "*",
|
||||
"@superset-ui/preset-chart-xy": "*"
|
||||
"@superset-ui/plugin-chart-word-cloud": "*"
|
||||
}
|
||||
},
|
||||
"packages/superset-ui-demo/node_modules/@superset-ui/legacy-plugin-chart-time-table": {
|
||||
|
@ -61822,135 +61816,6 @@
|
|||
"d3-array": "2"
|
||||
}
|
||||
},
|
||||
"plugins/preset-chart-xy": {
|
||||
"name": "@superset-ui/preset-chart-xy",
|
||||
"version": "0.18.25",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@data-ui/theme": "^0.0.84",
|
||||
"@data-ui/xy-chart": "^0.0.84",
|
||||
"@vx/axis": "^0.0.198",
|
||||
"@vx/legend": "^0.0.198",
|
||||
"@vx/scale": "^0.0.197",
|
||||
"csstype": "^2.6.3",
|
||||
"encodable": "^0.7.6",
|
||||
"lodash": "^4.17.11",
|
||||
"reselect": "^4.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@superset-ui/chart-controls": "*",
|
||||
"@superset-ui/core": "*",
|
||||
"react": "^16.2"
|
||||
}
|
||||
},
|
||||
"plugins/preset-chart-xy/node_modules/@vx/axis": {
|
||||
"version": "0.0.198",
|
||||
"resolved": "https://registry.npmjs.org/@vx/axis/-/axis-0.0.198.tgz",
|
||||
"integrity": "sha512-XqHzGOBgkJD8gR1g9F7uOhT4Sjlwpl/H3xLehtDooRmKf3J0hy8C7L5rCgh7n8ARi+vYg+3A1zUo0JBIO5k4PQ==",
|
||||
"dependencies": {
|
||||
"@types/classnames": "^2.2.9",
|
||||
"@types/react": "*",
|
||||
"@vx/group": "0.0.198",
|
||||
"@vx/point": "0.0.198",
|
||||
"@vx/shape": "0.0.198",
|
||||
"@vx/text": "0.0.198",
|
||||
"classnames": "^2.2.5",
|
||||
"prop-types": "^15.6.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.3.0-0"
|
||||
}
|
||||
},
|
||||
"plugins/preset-chart-xy/node_modules/@vx/curve": {
|
||||
"version": "0.0.198",
|
||||
"resolved": "https://registry.npmjs.org/@vx/curve/-/curve-0.0.198.tgz",
|
||||
"integrity": "sha512-ZINtD0t5eLu3bEeaOWZxGXrHK5WCbGoxDdou7yPWD6xg8kpTD4/Vq0adRFNCxS1TZUlUjCJ2KqY2PmewO+Hdcw==",
|
||||
"dependencies": {
|
||||
"@types/d3-shape": "^1.3.1",
|
||||
"d3-shape": "^1.0.6"
|
||||
}
|
||||
},
|
||||
"plugins/preset-chart-xy/node_modules/@vx/group": {
|
||||
"version": "0.0.198",
|
||||
"resolved": "https://registry.npmjs.org/@vx/group/-/group-0.0.198.tgz",
|
||||
"integrity": "sha512-0PivE+fWZlPkSzFO/is5m4VSSv3pg+sS1yxYAZHbNffUvn472WDWptriHvoUIPQe0lOXhTSrc73UQzew9GtW/g==",
|
||||
"dependencies": {
|
||||
"@types/classnames": "^2.2.9",
|
||||
"@types/react": "*",
|
||||
"classnames": "^2.2.5",
|
||||
"prop-types": "^15.6.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^15.0.0-0 || ^16.0.0-0"
|
||||
}
|
||||
},
|
||||
"plugins/preset-chart-xy/node_modules/@vx/legend": {
|
||||
"version": "0.0.198",
|
||||
"resolved": "https://registry.npmjs.org/@vx/legend/-/legend-0.0.198.tgz",
|
||||
"integrity": "sha512-3S2/yP6IvkkhUlTj6In5M1OrzY1OaT1D06hRxuiOLAbaXTerhbUGwIjGSNoovQM6JebFlbWnnA5xH1SKgw5GGA==",
|
||||
"dependencies": {
|
||||
"@types/classnames": "^2.2.9",
|
||||
"@types/d3-scale": "^2.1.1",
|
||||
"@types/react": "*",
|
||||
"@vx/group": "0.0.198",
|
||||
"classnames": "^2.2.5",
|
||||
"prop-types": "^15.5.10"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.3.0-0"
|
||||
}
|
||||
},
|
||||
"plugins/preset-chart-xy/node_modules/@vx/point": {
|
||||
"version": "0.0.198",
|
||||
"resolved": "https://registry.npmjs.org/@vx/point/-/point-0.0.198.tgz",
|
||||
"integrity": "sha512-oFlw8uBLf4JDX7OJc+7eQXcnlLszdQgEs531u0t6HNpARQY/jTeeMLVUlp8sNF0XBOC+iVHU8Qe8TJdz/ONBAA=="
|
||||
},
|
||||
"plugins/preset-chart-xy/node_modules/@vx/scale": {
|
||||
"version": "0.0.197",
|
||||
"resolved": "https://registry.npmjs.org/@vx/scale/-/scale-0.0.197.tgz",
|
||||
"integrity": "sha512-FF0POm9rh66I3Om5DsuxynwWU+Q645aTF47vgP2dVDeOOq3Oet7CZzmXLDh3W6nVcxvzq1UdPwu94dto2PUfhg==",
|
||||
"dependencies": {
|
||||
"@types/d3-scale": "^2.1.1",
|
||||
"d3-scale": "^2.2.2"
|
||||
}
|
||||
},
|
||||
"plugins/preset-chart-xy/node_modules/@vx/shape": {
|
||||
"version": "0.0.198",
|
||||
"resolved": "https://registry.npmjs.org/@vx/shape/-/shape-0.0.198.tgz",
|
||||
"integrity": "sha512-3Ky2PlSXYmh/Wt+tT4OBmsLpTe8Vu5pZ1EwbMQ0H/NNl6d4BsNqBUzr++0WC/kLsuNs5NENDvG77N9u2ztMrYA==",
|
||||
"dependencies": {
|
||||
"@types/classnames": "^2.2.9",
|
||||
"@types/d3-path": "^1.0.8",
|
||||
"@types/d3-shape": "^1.3.1",
|
||||
"@types/react": "*",
|
||||
"@vx/curve": "0.0.198",
|
||||
"@vx/group": "0.0.198",
|
||||
"classnames": "^2.2.5",
|
||||
"d3-path": "^1.0.5",
|
||||
"d3-shape": "^1.2.0",
|
||||
"prop-types": "^15.5.10"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.3.0-0"
|
||||
}
|
||||
},
|
||||
"plugins/preset-chart-xy/node_modules/@vx/text": {
|
||||
"version": "0.0.198",
|
||||
"resolved": "https://registry.npmjs.org/@vx/text/-/text-0.0.198.tgz",
|
||||
"integrity": "sha512-MZhLeIhjbPlAeq+heUFXzrAztkjpfhAjeg+RXDg1dTJTtkbBD0w1bwadSPHuC7Rzj6yNQChzVDYl51dO/k4ExQ==",
|
||||
"dependencies": {
|
||||
"@types/classnames": "^2.2.9",
|
||||
"@types/lodash": "^4.14.146",
|
||||
"@types/react": "*",
|
||||
"classnames": "^2.2.5",
|
||||
"lodash": "^4.17.15",
|
||||
"prop-types": "^15.7.2",
|
||||
"reduce-css-calc": "^1.3.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.3.0-0"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"extraneous": true
|
||||
},
|
||||
|
@ -77698,115 +77563,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"@superset-ui/preset-chart-xy": {
|
||||
"version": "file:plugins/preset-chart-xy",
|
||||
"requires": {
|
||||
"@data-ui/theme": "^0.0.84",
|
||||
"@data-ui/xy-chart": "^0.0.84",
|
||||
"@vx/axis": "^0.0.198",
|
||||
"@vx/legend": "^0.0.198",
|
||||
"@vx/scale": "^0.0.197",
|
||||
"csstype": "^2.6.3",
|
||||
"encodable": "^0.7.6",
|
||||
"lodash": "^4.17.11",
|
||||
"reselect": "^4.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@vx/axis": {
|
||||
"version": "0.0.198",
|
||||
"resolved": "https://registry.npmjs.org/@vx/axis/-/axis-0.0.198.tgz",
|
||||
"integrity": "sha512-XqHzGOBgkJD8gR1g9F7uOhT4Sjlwpl/H3xLehtDooRmKf3J0hy8C7L5rCgh7n8ARi+vYg+3A1zUo0JBIO5k4PQ==",
|
||||
"requires": {
|
||||
"@types/classnames": "^2.2.9",
|
||||
"@types/react": "*",
|
||||
"@vx/group": "0.0.198",
|
||||
"@vx/point": "0.0.198",
|
||||
"@vx/shape": "0.0.198",
|
||||
"@vx/text": "0.0.198",
|
||||
"classnames": "^2.2.5",
|
||||
"prop-types": "^15.6.0"
|
||||
}
|
||||
},
|
||||
"@vx/curve": {
|
||||
"version": "0.0.198",
|
||||
"resolved": "https://registry.npmjs.org/@vx/curve/-/curve-0.0.198.tgz",
|
||||
"integrity": "sha512-ZINtD0t5eLu3bEeaOWZxGXrHK5WCbGoxDdou7yPWD6xg8kpTD4/Vq0adRFNCxS1TZUlUjCJ2KqY2PmewO+Hdcw==",
|
||||
"requires": {
|
||||
"@types/d3-shape": "^1.3.1",
|
||||
"d3-shape": "^1.0.6"
|
||||
}
|
||||
},
|
||||
"@vx/group": {
|
||||
"version": "0.0.198",
|
||||
"resolved": "https://registry.npmjs.org/@vx/group/-/group-0.0.198.tgz",
|
||||
"integrity": "sha512-0PivE+fWZlPkSzFO/is5m4VSSv3pg+sS1yxYAZHbNffUvn472WDWptriHvoUIPQe0lOXhTSrc73UQzew9GtW/g==",
|
||||
"requires": {
|
||||
"@types/classnames": "^2.2.9",
|
||||
"@types/react": "*",
|
||||
"classnames": "^2.2.5",
|
||||
"prop-types": "^15.6.2"
|
||||
}
|
||||
},
|
||||
"@vx/legend": {
|
||||
"version": "0.0.198",
|
||||
"resolved": "https://registry.npmjs.org/@vx/legend/-/legend-0.0.198.tgz",
|
||||
"integrity": "sha512-3S2/yP6IvkkhUlTj6In5M1OrzY1OaT1D06hRxuiOLAbaXTerhbUGwIjGSNoovQM6JebFlbWnnA5xH1SKgw5GGA==",
|
||||
"requires": {
|
||||
"@types/classnames": "^2.2.9",
|
||||
"@types/d3-scale": "^2.1.1",
|
||||
"@types/react": "*",
|
||||
"@vx/group": "0.0.198",
|
||||
"classnames": "^2.2.5",
|
||||
"prop-types": "^15.5.10"
|
||||
}
|
||||
},
|
||||
"@vx/point": {
|
||||
"version": "0.0.198",
|
||||
"resolved": "https://registry.npmjs.org/@vx/point/-/point-0.0.198.tgz",
|
||||
"integrity": "sha512-oFlw8uBLf4JDX7OJc+7eQXcnlLszdQgEs531u0t6HNpARQY/jTeeMLVUlp8sNF0XBOC+iVHU8Qe8TJdz/ONBAA=="
|
||||
},
|
||||
"@vx/scale": {
|
||||
"version": "0.0.197",
|
||||
"resolved": "https://registry.npmjs.org/@vx/scale/-/scale-0.0.197.tgz",
|
||||
"integrity": "sha512-FF0POm9rh66I3Om5DsuxynwWU+Q645aTF47vgP2dVDeOOq3Oet7CZzmXLDh3W6nVcxvzq1UdPwu94dto2PUfhg==",
|
||||
"requires": {
|
||||
"@types/d3-scale": "^2.1.1",
|
||||
"d3-scale": "^2.2.2"
|
||||
}
|
||||
},
|
||||
"@vx/shape": {
|
||||
"version": "0.0.198",
|
||||
"resolved": "https://registry.npmjs.org/@vx/shape/-/shape-0.0.198.tgz",
|
||||
"integrity": "sha512-3Ky2PlSXYmh/Wt+tT4OBmsLpTe8Vu5pZ1EwbMQ0H/NNl6d4BsNqBUzr++0WC/kLsuNs5NENDvG77N9u2ztMrYA==",
|
||||
"requires": {
|
||||
"@types/classnames": "^2.2.9",
|
||||
"@types/d3-path": "^1.0.8",
|
||||
"@types/d3-shape": "^1.3.1",
|
||||
"@types/react": "*",
|
||||
"@vx/curve": "0.0.198",
|
||||
"@vx/group": "0.0.198",
|
||||
"classnames": "^2.2.5",
|
||||
"d3-path": "^1.0.5",
|
||||
"d3-shape": "^1.2.0",
|
||||
"prop-types": "^15.5.10"
|
||||
}
|
||||
},
|
||||
"@vx/text": {
|
||||
"version": "0.0.198",
|
||||
"resolved": "https://registry.npmjs.org/@vx/text/-/text-0.0.198.tgz",
|
||||
"integrity": "sha512-MZhLeIhjbPlAeq+heUFXzrAztkjpfhAjeg+RXDg1dTJTtkbBD0w1bwadSPHuC7Rzj6yNQChzVDYl51dO/k4ExQ==",
|
||||
"requires": {
|
||||
"@types/classnames": "^2.2.9",
|
||||
"@types/lodash": "^4.14.146",
|
||||
"@types/react": "*",
|
||||
"classnames": "^2.2.5",
|
||||
"lodash": "^4.17.15",
|
||||
"prop-types": "^15.7.2",
|
||||
"reduce-css-calc": "^1.3.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@superset-ui/switchboard": {
|
||||
"version": "file:packages/superset-ui-switchboard"
|
||||
},
|
||||
|
|
|
@ -111,7 +111,6 @@
|
|||
"@superset-ui/plugin-chart-pivot-table": "file:./plugins/plugin-chart-pivot-table",
|
||||
"@superset-ui/plugin-chart-table": "file:./plugins/plugin-chart-table",
|
||||
"@superset-ui/plugin-chart-word-cloud": "file:./plugins/plugin-chart-word-cloud",
|
||||
"@superset-ui/preset-chart-xy": "file:./plugins/preset-chart-xy",
|
||||
"@superset-ui/switchboard": "file:./packages/superset-ui-switchboard",
|
||||
"@types/d3-format": "^3.0.1",
|
||||
"@visx/axis": "^3.0.1",
|
||||
|
|
|
@ -11,7 +11,6 @@ import {
|
|||
SequentialCommon,
|
||||
SequentialD3,
|
||||
} from '@superset-ui/core';
|
||||
import { configureEncodable } from '@superset-ui/preset-chart-xy';
|
||||
import themeDecorator from './themeDecorator';
|
||||
|
||||
import 'bootstrap/dist/css/bootstrap.min.css';
|
||||
|
@ -80,5 +79,3 @@ const sequentialSchemeRegistry = getSequentialSchemeRegistry();
|
|||
getTimeFormatterRegistry()
|
||||
.registerValue('smart_date', smartDateFormatter)
|
||||
.setDefaultKey('smart_date');
|
||||
|
||||
configureEncodable();
|
||||
|
|
|
@ -87,7 +87,6 @@
|
|||
"@superset-ui/legacy-preset-chart-nvd3": "*",
|
||||
"@superset-ui/plugin-chart-echarts": "*",
|
||||
"@superset-ui/plugin-chart-table": "*",
|
||||
"@superset-ui/plugin-chart-word-cloud": "*",
|
||||
"@superset-ui/preset-chart-xy": "*"
|
||||
"@superset-ui/plugin-chart-word-cloud": "*"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import {
|
||||
BoxPlotChartPlugin,
|
||||
LegacyBoxPlotChartPlugin,
|
||||
} from '@superset-ui/preset-chart-xy';
|
||||
import { BOX_PLOT_PLUGIN_LEGACY_TYPE, BOX_PLOT_PLUGIN_TYPE } from './constants';
|
||||
|
||||
new LegacyBoxPlotChartPlugin()
|
||||
.configure({ key: BOX_PLOT_PLUGIN_LEGACY_TYPE })
|
||||
.register();
|
||||
new BoxPlotChartPlugin().configure({ key: BOX_PLOT_PLUGIN_TYPE }).register();
|
||||
|
||||
export default {
|
||||
title: 'Chart Plugins/preset-chart-xy/BoxPlot',
|
||||
};
|
||||
|
||||
export { basic, horizontal } from './stories/Basic';
|
||||
export { legacy } from './stories/Legacy';
|
|
@ -1,21 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
export const BOX_PLOT_PLUGIN_TYPE = 'v2-box-plot';
|
||||
export const BOX_PLOT_PLUGIN_LEGACY_TYPE = 'v2-box-plot/legacy';
|
|
@ -1,99 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
/* eslint-disable sort-keys, no-magic-numbers */
|
||||
export default [
|
||||
{
|
||||
label: 'East Asia & Pacific',
|
||||
values: {
|
||||
Q1: 1384725172.5,
|
||||
Q2: 1717904169.0,
|
||||
Q3: 2032724922.5,
|
||||
whisker_high: 2240687901.0,
|
||||
whisker_low: 1031863394.0,
|
||||
outliers: [],
|
||||
},
|
||||
},
|
||||
{
|
||||
label: 'Europe & Central Asia',
|
||||
values: {
|
||||
Q1: 751386460.5,
|
||||
Q2: 820716895.0,
|
||||
Q3: 862814192.5,
|
||||
whisker_high: 903095786.0,
|
||||
whisker_low: 660881033.0,
|
||||
outliers: [],
|
||||
},
|
||||
},
|
||||
{
|
||||
label: 'Latin America & Caribbean',
|
||||
values: {
|
||||
Q1: 313690832.5,
|
||||
Q2: 421490233.0,
|
||||
Q3: 529668114.5,
|
||||
whisker_high: 626270167.0,
|
||||
whisker_low: 220564224.0,
|
||||
outliers: [],
|
||||
},
|
||||
},
|
||||
{
|
||||
label: 'Middle East & North Africa',
|
||||
values: {
|
||||
Q1: 152382756.5,
|
||||
Q2: 232066828.0,
|
||||
Q3: 318191071.5,
|
||||
whisker_high: 417451428.0,
|
||||
whisker_low: 105512645.0,
|
||||
outliers: [],
|
||||
},
|
||||
},
|
||||
{
|
||||
label: 'North America',
|
||||
values: {
|
||||
Q1: 235506847.5,
|
||||
Q2: 268896849.0,
|
||||
Q3: 314553651.5,
|
||||
whisker_high: 354462656.0,
|
||||
whisker_low: 198624409.0,
|
||||
outliers: [],
|
||||
},
|
||||
},
|
||||
{
|
||||
label: 'South Asia',
|
||||
values: {
|
||||
Q1: 772373036.5,
|
||||
Q2: 1059570231.0,
|
||||
Q3: 1398841234.0,
|
||||
whisker_high: 1720976995.0,
|
||||
whisker_low: 572036107.0,
|
||||
outliers: [],
|
||||
},
|
||||
},
|
||||
{
|
||||
label: 'Sub-Saharan Africa',
|
||||
values: {
|
||||
Q1: 320037758.0,
|
||||
Q2: 467337821.0,
|
||||
Q3: 676768689.0,
|
||||
whisker_high: 974315323.0,
|
||||
whisker_low: 228268752.0,
|
||||
outliers: [],
|
||||
},
|
||||
},
|
||||
];
|
|
@ -1,109 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
/* eslint-disable no-magic-numbers, sort-keys */
|
||||
import React from 'react';
|
||||
import { SuperChart } from '@superset-ui/core';
|
||||
import data from '../data';
|
||||
|
||||
export const basic = () => (
|
||||
<SuperChart
|
||||
chartType="v2-box-plot"
|
||||
width={400}
|
||||
height={400}
|
||||
queriesData={[{ data }]}
|
||||
formData={{
|
||||
encoding: {
|
||||
x: {
|
||||
type: 'nominal',
|
||||
field: 'label',
|
||||
scale: {
|
||||
type: 'band',
|
||||
paddingInner: 0.15,
|
||||
paddingOuter: 0.3,
|
||||
},
|
||||
axis: {
|
||||
label: 'Region',
|
||||
},
|
||||
},
|
||||
y: {
|
||||
field: 'value',
|
||||
type: 'quantitative',
|
||||
scale: {
|
||||
type: 'linear',
|
||||
},
|
||||
axis: {
|
||||
label: 'Population',
|
||||
numTicks: 5,
|
||||
},
|
||||
},
|
||||
color: {
|
||||
type: 'nominal',
|
||||
field: 'label',
|
||||
scale: {
|
||||
scheme: 'd3Category10',
|
||||
},
|
||||
},
|
||||
},
|
||||
}}
|
||||
/>
|
||||
);
|
||||
|
||||
export const horizontal = () => (
|
||||
<SuperChart
|
||||
chartType="v2-box-plot"
|
||||
width={400}
|
||||
height={400}
|
||||
queriesData={[{ data }]}
|
||||
formData={{
|
||||
encoding: {
|
||||
y: {
|
||||
type: 'nominal',
|
||||
field: 'label',
|
||||
scale: {
|
||||
type: 'band',
|
||||
paddingInner: 0.15,
|
||||
paddingOuter: 0.3,
|
||||
},
|
||||
axis: {
|
||||
label: 'Region',
|
||||
},
|
||||
},
|
||||
x: {
|
||||
field: 'value',
|
||||
type: 'quantitative',
|
||||
scale: {
|
||||
type: 'linear',
|
||||
},
|
||||
axis: {
|
||||
label: 'Population',
|
||||
numTicks: 5,
|
||||
},
|
||||
},
|
||||
color: {
|
||||
type: 'nominal',
|
||||
field: 'label',
|
||||
scale: {
|
||||
scheme: 'd3Category10',
|
||||
},
|
||||
},
|
||||
},
|
||||
}}
|
||||
/>
|
||||
);
|
|
@ -1,40 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { SuperChart } from '@superset-ui/core';
|
||||
import data from '../data';
|
||||
import dummyDatasource from '../../../../../shared/dummyDatasource';
|
||||
|
||||
export const legacy = () => (
|
||||
<SuperChart
|
||||
chartType="v2-box-plot/legacy"
|
||||
width={400}
|
||||
height={400}
|
||||
datasource={dummyDatasource}
|
||||
queriesData={[{ data }]}
|
||||
formData={{
|
||||
colorScheme: 'd3Category10',
|
||||
groupby: ['region'],
|
||||
metrics: ['sum__SP_POP_TOTL'],
|
||||
vizType: 'box_plot',
|
||||
whiskerOptions: 'Min/max (no outliers)',
|
||||
}}
|
||||
/>
|
||||
);
|
|
@ -1,42 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import {
|
||||
LineChartPlugin,
|
||||
LegacyLineChartPlugin,
|
||||
} from '@superset-ui/preset-chart-xy';
|
||||
import { withKnobs } from '@storybook/addon-knobs';
|
||||
import { LINE_PLUGIN_TYPE, LINE_PLUGIN_LEGACY_TYPE } from './constants';
|
||||
|
||||
new LegacyLineChartPlugin()
|
||||
.configure({ key: LINE_PLUGIN_LEGACY_TYPE })
|
||||
.register();
|
||||
new LineChartPlugin().configure({ key: LINE_PLUGIN_TYPE }).register();
|
||||
|
||||
export default {
|
||||
title: 'Chart Plugins/preset-chart-xy/Line',
|
||||
decorators: [withKnobs],
|
||||
};
|
||||
|
||||
export { default as basic } from './stories/basic';
|
||||
export { default as withLabelFlush } from './stories/flush';
|
||||
export { default as withMissingData } from './stories/missing';
|
||||
export { default as legacyShim } from './stories/legacy';
|
||||
export { default as withTimeShift } from './stories/timeShift';
|
||||
export { default as query } from './stories/query';
|
|
@ -1,21 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
export const LINE_PLUGIN_TYPE = 'v2-line';
|
||||
export const LINE_PLUGIN_LEGACY_TYPE = 'v2-line/legacy';
|
|
@ -1,242 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
/* eslint-disable sort-keys, no-magic-numbers */
|
||||
export default [
|
||||
{ x: -157766400000, y: 24703, name: 'Christopher' },
|
||||
{ x: -126230400000, y: 27861, name: 'Christopher' },
|
||||
{ x: -94694400000, y: 29436, name: 'Christopher' },
|
||||
{ x: -63158400000, y: 31463, name: 'Christopher' },
|
||||
{ x: -31536000000, y: 35718, name: 'Christopher' },
|
||||
{ x: 0, y: 41758, name: 'Christopher' },
|
||||
{ x: 31536000000, y: 48172, name: 'Christopher' },
|
||||
{ x: 63072000000, y: 52092, name: 'Christopher' },
|
||||
{ x: 94694400000, y: 48217, name: 'Christopher' },
|
||||
{ x: 126230400000, y: 48476, name: 'Christopher' },
|
||||
{ x: 157766400000, y: 46438, name: 'Christopher' },
|
||||
{ x: 189302400000, y: 45086, name: 'Christopher' },
|
||||
{ x: 220924800000, y: 46610, name: 'Christopher' },
|
||||
{ x: 252460800000, y: 47107, name: 'Christopher' },
|
||||
{ x: 283996800000, y: 50514, name: 'Christopher' },
|
||||
{ x: 315532800000, y: 48969, name: 'Christopher' },
|
||||
{ x: 347155200000, y: 50108, name: 'Christopher' },
|
||||
{ x: 378691200000, y: 59055, name: 'Christopher' },
|
||||
{ x: 410227200000, y: 59188, name: 'Christopher' },
|
||||
{ x: 441763200000, y: 59859, name: 'Christopher' },
|
||||
{ x: 473385600000, y: 59516, name: 'Christopher' },
|
||||
{ x: 504921600000, y: 56633, name: 'Christopher' },
|
||||
{ x: 536457600000, y: 54466, name: 'Christopher' },
|
||||
{ x: 567993600000, y: 52996, name: 'Christopher' },
|
||||
{ x: 599616000000, y: 53205, name: 'Christopher' },
|
||||
{ x: 631152000000, y: 52322, name: 'Christopher' },
|
||||
{ x: 662688000000, y: 47109, name: 'Christopher' },
|
||||
{ x: 694224000000, y: 42470, name: 'Christopher' },
|
||||
{ x: 725846400000, y: 38257, name: 'Christopher' },
|
||||
{ x: 757382400000, y: 34823, name: 'Christopher' },
|
||||
{ x: 788918400000, y: 32728, name: 'Christopher' },
|
||||
{ x: 820454400000, y: 30988, name: 'Christopher' },
|
||||
{ x: 852076800000, y: 29179, name: 'Christopher' },
|
||||
{ x: 883612800000, y: 27083, name: 'Christopher' },
|
||||
{ x: 915148800000, y: 25700, name: 'Christopher' },
|
||||
{ x: 946684800000, y: 24959, name: 'Christopher' },
|
||||
{ x: 978307200000, y: 23180, name: 'Christopher' },
|
||||
{ x: 1009843200000, y: 21731, name: 'Christopher' },
|
||||
{ x: 1041379200000, y: 20793, name: 'Christopher' },
|
||||
{ x: 1072915200000, y: 19739, name: 'Christopher' },
|
||||
{ x: 1104537600000, y: 19190, name: 'Christopher' },
|
||||
{ x: 1136073600000, y: 19674, name: 'Christopher' },
|
||||
{ x: 1167609600000, y: 19986, name: 'Christopher' },
|
||||
{ x: 1199145600000, y: 17771, name: 'Christopher' },
|
||||
{ x: -157766400000, y: 67646, name: 'David' },
|
||||
{ x: -126230400000, y: 66207, name: 'David' },
|
||||
{ x: -94694400000, y: 66581, name: 'David' },
|
||||
{ x: -63158400000, y: 63531, name: 'David' },
|
||||
{ x: -31536000000, y: 63502, name: 'David' },
|
||||
{ x: 0, y: 61570, name: 'David' },
|
||||
{ x: 31536000000, y: 52948, name: 'David' },
|
||||
{ x: 63072000000, y: 46218, name: 'David' },
|
||||
{ x: 94694400000, y: 40968, name: 'David' },
|
||||
{ x: 126230400000, y: 41654, name: 'David' },
|
||||
{ x: 157766400000, y: 39019, name: 'David' },
|
||||
{ x: 189302400000, y: 39165, name: 'David' },
|
||||
{ x: 220924800000, y: 40407, name: 'David' },
|
||||
{ x: 252460800000, y: 40533, name: 'David' },
|
||||
{ x: 283996800000, y: 41898, name: 'David' },
|
||||
{ x: 315532800000, y: 41743, name: 'David' },
|
||||
{ x: 347155200000, y: 40486, name: 'David' },
|
||||
{ x: 378691200000, y: 40283, name: 'David' },
|
||||
{ x: 410227200000, y: 39048, name: 'David' },
|
||||
{ x: 441763200000, y: 38346, name: 'David' },
|
||||
{ x: 473385600000, y: 38395, name: 'David' },
|
||||
{ x: 504921600000, y: 37021, name: 'David' },
|
||||
{ x: 536457600000, y: 36672, name: 'David' },
|
||||
{ x: 567993600000, y: 35214, name: 'David' },
|
||||
{ x: 599616000000, y: 35139, name: 'David' },
|
||||
{ x: 631152000000, y: 33661, name: 'David' },
|
||||
{ x: 662688000000, y: 30347, name: 'David' },
|
||||
{ x: 694224000000, y: 28344, name: 'David' },
|
||||
{ x: 725846400000, y: 26947, name: 'David' },
|
||||
{ x: 757382400000, y: 24784, name: 'David' },
|
||||
{ x: 788918400000, y: 22967, name: 'David' },
|
||||
{ x: 820454400000, y: 22941, name: 'David' },
|
||||
{ x: 852076800000, y: 21824, name: 'David' },
|
||||
{ x: 883612800000, y: 20816, name: 'David' },
|
||||
{ x: 915148800000, y: 20267, name: 'David' },
|
||||
{ x: 946684800000, y: 19695, name: 'David' },
|
||||
{ x: 978307200000, y: 19281, name: 'David' },
|
||||
{ x: 1009843200000, y: 18600, name: 'David' },
|
||||
{ x: 1041379200000, y: 18557, name: 'David' },
|
||||
{ x: 1072915200000, y: 18315, name: 'David' },
|
||||
{ x: 1104537600000, y: 18017, name: 'David' },
|
||||
{ x: 1136073600000, y: 17510, name: 'David' },
|
||||
{ x: 1167609600000, y: 17400, name: 'David' },
|
||||
{ x: 1199145600000, y: 16049, name: 'David' },
|
||||
{ x: -157766400000, y: 67506, name: 'James' },
|
||||
{ x: -126230400000, y: 65036, name: 'James' },
|
||||
{ x: -94694400000, y: 61554, name: 'James' },
|
||||
{ x: -63158400000, y: 60584, name: 'James' },
|
||||
{ x: -31536000000, y: 59824, name: 'James' },
|
||||
{ x: 0, y: 61597, name: 'James' },
|
||||
{ x: 31536000000, y: 54463, name: 'James' },
|
||||
{ x: 63072000000, y: 46960, name: 'James' },
|
||||
{ x: 94694400000, y: 42782, name: 'James' },
|
||||
{ x: 126230400000, y: 41258, name: 'James' },
|
||||
{ x: 157766400000, y: 39471, name: 'James' },
|
||||
{ x: 189302400000, y: 38203, name: 'James' },
|
||||
{ x: 220924800000, y: 39916, name: 'James' },
|
||||
{ x: 252460800000, y: 39783, name: 'James' },
|
||||
{ x: 283996800000, y: 39237, name: 'James' },
|
||||
{ x: 315532800000, y: 39185, name: 'James' },
|
||||
{ x: 347155200000, y: 38176, name: 'James' },
|
||||
{ x: 378691200000, y: 38750, name: 'James' },
|
||||
{ x: 410227200000, y: 36228, name: 'James' },
|
||||
{ x: 441763200000, y: 35728, name: 'James' },
|
||||
{ x: 473385600000, y: 35750, name: 'James' },
|
||||
{ x: 504921600000, y: 33955, name: 'James' },
|
||||
{ x: 536457600000, y: 32552, name: 'James' },
|
||||
{ x: 567993600000, y: 32418, name: 'James' },
|
||||
{ x: 599616000000, y: 32658, name: 'James' },
|
||||
{ x: 631152000000, y: 32288, name: 'James' },
|
||||
{ x: 662688000000, y: 30460, name: 'James' },
|
||||
{ x: 694224000000, y: 28450, name: 'James' },
|
||||
{ x: 725846400000, y: 26193, name: 'James' },
|
||||
{ x: 757382400000, y: 24706, name: 'James' },
|
||||
{ x: 788918400000, y: 22691, name: 'James' },
|
||||
{ x: 820454400000, y: 21122, name: 'James' },
|
||||
{ x: 852076800000, y: 20368, name: 'James' },
|
||||
{ x: 883612800000, y: 19651, name: 'James' },
|
||||
{ x: 915148800000, y: 18508, name: 'James' },
|
||||
{ x: 946684800000, y: 17939, name: 'James' },
|
||||
{ x: 978307200000, y: 17023, name: 'James' },
|
||||
{ x: 1009843200000, y: 16905, name: 'James' },
|
||||
{ x: 1041379200000, y: 16832, name: 'James' },
|
||||
{ x: 1072915200000, y: 16459, name: 'James' },
|
||||
{ x: 1104537600000, y: 16046, name: 'James' },
|
||||
{ x: 1136073600000, y: 16139, name: 'James' },
|
||||
{ x: 1167609600000, y: 15821, name: 'James' },
|
||||
{ x: 1199145600000, y: 14920, name: 'James' },
|
||||
{ x: -157766400000, y: 71390, name: 'John' },
|
||||
{ x: -126230400000, y: 64858, name: 'John' },
|
||||
{ x: -94694400000, y: 61480, name: 'John' },
|
||||
{ x: -63158400000, y: 60754, name: 'John' },
|
||||
{ x: -31536000000, y: 58644, name: 'John' },
|
||||
{ x: 0, y: 58348, name: 'John' },
|
||||
{ x: 31536000000, y: 51382, name: 'John' },
|
||||
{ x: 63072000000, y: 43028, name: 'John' },
|
||||
{ x: 94694400000, y: 39061, name: 'John' },
|
||||
{ x: 126230400000, y: 37553, name: 'John' },
|
||||
{ x: 157766400000, y: 34970, name: 'John' },
|
||||
{ x: 189302400000, y: 33876, name: 'John' },
|
||||
{ x: 220924800000, y: 34103, name: 'John' },
|
||||
{ x: 252460800000, y: 33895, name: 'John' },
|
||||
{ x: 283996800000, y: 35305, name: 'John' },
|
||||
{ x: 315532800000, y: 35131, name: 'John' },
|
||||
{ x: 347155200000, y: 34761, name: 'John' },
|
||||
{ x: 378691200000, y: 34560, name: 'John' },
|
||||
{ x: 410227200000, y: 33047, name: 'John' },
|
||||
{ x: 441763200000, y: 32484, name: 'John' },
|
||||
{ x: 473385600000, y: 31397, name: 'John' },
|
||||
{ x: 504921600000, y: 30103, name: 'John' },
|
||||
{ x: 536457600000, y: 29462, name: 'John' },
|
||||
{ x: 567993600000, y: 29301, name: 'John' },
|
||||
{ x: 599616000000, y: 29751, name: 'John' },
|
||||
{ x: 631152000000, y: 29011, name: 'John' },
|
||||
{ x: 662688000000, y: 27727, name: 'John' },
|
||||
{ x: 694224000000, y: 26156, name: 'John' },
|
||||
{ x: 725846400000, y: 24918, name: 'John' },
|
||||
{ x: 757382400000, y: 24119, name: 'John' },
|
||||
{ x: 788918400000, y: 23174, name: 'John' },
|
||||
{ x: 820454400000, y: 22104, name: 'John' },
|
||||
{ x: 852076800000, y: 21330, name: 'John' },
|
||||
{ x: 883612800000, y: 20556, name: 'John' },
|
||||
{ x: 915148800000, y: 20280, name: 'John' },
|
||||
{ x: 946684800000, y: 20032, name: 'John' },
|
||||
{ x: 978307200000, y: 18839, name: 'John' },
|
||||
{ x: 1009843200000, y: 17400, name: 'John' },
|
||||
{ x: 1041379200000, y: 17170, name: 'John' },
|
||||
{ x: 1072915200000, y: 16381, name: 'John' },
|
||||
{ x: 1104537600000, y: 15692, name: 'John' },
|
||||
{ x: 1136073600000, y: 15083, name: 'John' },
|
||||
{ x: 1167609600000, y: 14348, name: 'John' },
|
||||
{ x: 1199145600000, y: 13110, name: 'John' },
|
||||
{ x: -157766400000, y: 80812, name: 'Michael' },
|
||||
{ x: -126230400000, y: 79709, name: 'Michael' },
|
||||
{ x: -94694400000, y: 82204, name: 'Michael' },
|
||||
{ x: -63158400000, y: 81785, name: 'Michael' },
|
||||
{ x: -31536000000, y: 84893, name: 'Michael' },
|
||||
{ x: 0, y: 85015, name: 'Michael' },
|
||||
{ x: 31536000000, y: 77321, name: 'Michael' },
|
||||
{ x: 63072000000, y: 71197, name: 'Michael' },
|
||||
{ x: 94694400000, y: 67598, name: 'Michael' },
|
||||
{ x: 126230400000, y: 67304, name: 'Michael' },
|
||||
{ x: 157766400000, y: 68149, name: 'Michael' },
|
||||
{ x: 189302400000, y: 66686, name: 'Michael' },
|
||||
{ x: 220924800000, y: 67344, name: 'Michael' },
|
||||
{ x: 252460800000, y: 66875, name: 'Michael' },
|
||||
{ x: 283996800000, y: 67473, name: 'Michael' },
|
||||
{ x: 315532800000, y: 68375, name: 'Michael' },
|
||||
{ x: 347155200000, y: 68467, name: 'Michael' },
|
||||
{ x: 378691200000, y: 67904, name: 'Michael' },
|
||||
{ x: 410227200000, y: 67708, name: 'Michael' },
|
||||
{ x: 441763200000, y: 67457, name: 'Michael' },
|
||||
{ x: 473385600000, y: 64667, name: 'Michael' },
|
||||
{ x: 504921600000, y: 63959, name: 'Michael' },
|
||||
{ x: 536457600000, y: 63442, name: 'Michael' },
|
||||
{ x: 567993600000, y: 63924, name: 'Michael' },
|
||||
{ x: 599616000000, y: 65233, name: 'Michael' },
|
||||
{ x: 631152000000, y: 65138, name: 'Michael' },
|
||||
{ x: 662688000000, y: 60646, name: 'Michael' },
|
||||
{ x: 694224000000, y: 54216, name: 'Michael' },
|
||||
{ x: 725846400000, y: 49443, name: 'Michael' },
|
||||
{ x: 757382400000, y: 44361, name: 'Michael' },
|
||||
{ x: 788918400000, y: 41311, name: 'Michael' },
|
||||
{ x: 820454400000, y: 38284, name: 'Michael' },
|
||||
{ x: 852076800000, y: 37459, name: 'Michael' },
|
||||
{ x: 883612800000, y: 36525, name: 'Michael' },
|
||||
{ x: 915148800000, y: 33820, name: 'Michael' },
|
||||
{ x: 946684800000, y: 31956, name: 'Michael' },
|
||||
{ x: 978307200000, y: 29612, name: 'Michael' },
|
||||
{ x: 1009843200000, y: 28156, name: 'Michael' },
|
||||
{ x: 1041379200000, y: 27031, name: 'Michael' },
|
||||
{ x: 1072915200000, y: 25418, name: 'Michael' },
|
||||
{ x: 1104537600000, y: 23678, name: 'Michael' },
|
||||
{ x: 1136073600000, y: 22498, name: 'Michael' },
|
||||
{ x: 1167609600000, y: 21805, name: 'Michael' },
|
||||
{ x: 1199145600000, y: 20271, name: 'Michael' },
|
||||
];
|
|
@ -1,110 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
/* eslint-disable sort-keys, no-magic-numbers */
|
||||
export default [
|
||||
{ x: -157766400000, y: 24703, snapshot: 'Last year' },
|
||||
{ x: -126230400000, y: 27861, snapshot: 'Last year' },
|
||||
{ x: -94694400000, y: 29436, snapshot: 'Last year' },
|
||||
{ x: -63158400000, y: 31463, snapshot: 'Last year' },
|
||||
{ x: -31536000000, y: 35718, snapshot: 'Last year' },
|
||||
{ x: 0, y: 41758, snapshot: 'Last year' },
|
||||
{ x: 31536000000, y: 48172, snapshot: 'Last year' },
|
||||
{ x: 63072000000, y: 52092, snapshot: 'Last year' },
|
||||
{ x: 94694400000, y: 48217, snapshot: 'Last year' },
|
||||
{ x: 126230400000, y: 48476, snapshot: 'Last year' },
|
||||
{ x: 157766400000, y: 46438, snapshot: 'Last year' },
|
||||
{ x: 189302400000, y: 45086, snapshot: 'Last year' },
|
||||
{ x: 220924800000, y: 46610, snapshot: 'Last year' },
|
||||
{ x: 252460800000, y: 47107, snapshot: 'Last year' },
|
||||
{ x: 283996800000, y: 50514, snapshot: 'Last year' },
|
||||
{ x: 315532800000, y: 48969, snapshot: 'Last year' },
|
||||
{ x: 347155200000, y: 50108, snapshot: 'Last year' },
|
||||
{ x: 378691200000, y: 59055, snapshot: 'Last year' },
|
||||
{ x: 410227200000, y: 59188, snapshot: 'Last year' },
|
||||
{ x: 441763200000, y: 59859, snapshot: 'Last year' },
|
||||
{ x: 473385600000, y: 59516, snapshot: 'Last year' },
|
||||
{ x: 504921600000, y: 56633, snapshot: 'Last year' },
|
||||
{ x: 536457600000, y: 54466, snapshot: 'Last year' },
|
||||
{ x: 567993600000, y: 52996, snapshot: 'Last year' },
|
||||
{ x: 599616000000, y: 53205, snapshot: 'Last year' },
|
||||
{ x: 631152000000, y: 52322, snapshot: 'Last year' },
|
||||
{ x: 662688000000, y: 47109, snapshot: 'Last year' },
|
||||
{ x: 694224000000, y: 42470, snapshot: 'Last year' },
|
||||
{ x: 725846400000, y: 38257, snapshot: 'Last year' },
|
||||
{ x: 757382400000, y: 34823, snapshot: 'Last year' },
|
||||
{ x: 788918400000, y: 32728, snapshot: 'Last year' },
|
||||
{ x: 820454400000, y: 30988, snapshot: 'Last year' },
|
||||
{ x: 852076800000, y: 29179, snapshot: 'Last year' },
|
||||
{ x: 883612800000, y: 27083, snapshot: 'Last year' },
|
||||
{ x: 915148800000, y: 25700, snapshot: 'Last year' },
|
||||
{ x: 946684800000, y: 24959, snapshot: 'Last year' },
|
||||
{ x: 978307200000, y: 23180, snapshot: 'Last year' },
|
||||
{ x: 1009843200000, y: 21731, snapshot: 'Last year' },
|
||||
{ x: 1041379200000, y: 20793, snapshot: 'Last year' },
|
||||
{ x: 1072915200000, y: 19739, snapshot: 'Last year' },
|
||||
{ x: 1104537600000, y: 19190, snapshot: 'Last year' },
|
||||
{ x: 1136073600000, y: 19674, snapshot: 'Last year' },
|
||||
{ x: 1167609600000, y: 19986, snapshot: 'Last year' },
|
||||
{ x: 1199145600000, y: 17771, snapshot: 'Last year' },
|
||||
{ x: -157766400000, y: 80812, snapshot: 'Current' },
|
||||
{ x: -126230400000, y: 79709, snapshot: 'Current' },
|
||||
{ x: -94694400000, y: 82204, snapshot: 'Current' },
|
||||
{ x: -63158400000, y: 81785, snapshot: 'Current' },
|
||||
{ x: -31536000000, y: 84893, snapshot: 'Current' },
|
||||
{ x: 0, y: 85015, snapshot: 'Current' },
|
||||
{ x: 31536000000, y: 77321, snapshot: 'Current' },
|
||||
{ x: 63072000000, y: 71197, snapshot: 'Current' },
|
||||
{ x: 94694400000, y: 67598, snapshot: 'Current' },
|
||||
{ x: 126230400000, y: 67304, snapshot: 'Current' },
|
||||
{ x: 157766400000, y: 68149, snapshot: 'Current' },
|
||||
{ x: 189302400000, y: 66686, snapshot: 'Current' },
|
||||
{ x: 220924800000, y: 67344, snapshot: 'Current' },
|
||||
{ x: 252460800000, y: 66875, snapshot: 'Current' },
|
||||
{ x: 283996800000, y: 67473, snapshot: 'Current' },
|
||||
{ x: 315532800000, y: 68375, snapshot: 'Current' },
|
||||
{ x: 347155200000, y: 68467, snapshot: 'Current' },
|
||||
{ x: 378691200000, y: 67904, snapshot: 'Current' },
|
||||
{ x: 410227200000, y: 67708, snapshot: 'Current' },
|
||||
{ x: 441763200000, y: 67457, snapshot: 'Current' },
|
||||
{ x: 473385600000, y: 64667, snapshot: 'Current' },
|
||||
{ x: 504921600000, y: 63959, snapshot: 'Current' },
|
||||
{ x: 536457600000, y: 63442, snapshot: 'Current' },
|
||||
{ x: 567993600000, y: 63924, snapshot: 'Current' },
|
||||
{ x: 599616000000, y: 65233, snapshot: 'Current' },
|
||||
{ x: 631152000000, y: 65138, snapshot: 'Current' },
|
||||
{ x: 662688000000, y: 60646, snapshot: 'Current' },
|
||||
{ x: 694224000000, y: 54216, snapshot: 'Current' },
|
||||
{ x: 725846400000, y: 49443, snapshot: 'Current' },
|
||||
{ x: 757382400000, y: 44361, snapshot: 'Current' },
|
||||
{ x: 788918400000, y: 41311, snapshot: 'Current' },
|
||||
{ x: 820454400000, y: 38284, snapshot: 'Current' },
|
||||
{ x: 852076800000, y: 37459, snapshot: 'Current' },
|
||||
{ x: 883612800000, y: 36525, snapshot: 'Current' },
|
||||
{ x: 915148800000, y: 33820, snapshot: 'Current' },
|
||||
{ x: 946684800000, y: 31956, snapshot: 'Current' },
|
||||
{ x: 978307200000, y: 29612, snapshot: 'Current' },
|
||||
{ x: 1009843200000, y: 28156, snapshot: 'Current' },
|
||||
{ x: 1041379200000, y: 27031, snapshot: 'Current' },
|
||||
{ x: 1072915200000, y: 25418, snapshot: 'Current' },
|
||||
{ x: 1104537600000, y: 23678, snapshot: 'Current' },
|
||||
{ x: 1136073600000, y: 22498, snapshot: 'Current' },
|
||||
{ x: 1167609600000, y: 21805, snapshot: 'Current' },
|
||||
{ x: 1199145600000, y: 20271, snapshot: 'Current' },
|
||||
];
|
|
@ -1,927 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
/* eslint-disable sort-keys, no-magic-numbers */
|
||||
export default [
|
||||
{
|
||||
key: ['Christopher'],
|
||||
values: [
|
||||
{
|
||||
x: -157766400000.0,
|
||||
y: 24703,
|
||||
},
|
||||
{
|
||||
x: -126230400000.0,
|
||||
y: 27861,
|
||||
},
|
||||
{
|
||||
x: -94694400000.0,
|
||||
y: 29436,
|
||||
},
|
||||
{
|
||||
x: -63158400000.0,
|
||||
y: 31463,
|
||||
},
|
||||
{
|
||||
x: -31536000000.0,
|
||||
y: 35718,
|
||||
},
|
||||
{
|
||||
x: 0.0,
|
||||
y: 41758,
|
||||
},
|
||||
{
|
||||
x: 31536000000.0,
|
||||
y: 48172,
|
||||
},
|
||||
{
|
||||
x: 63072000000.0,
|
||||
y: 52092,
|
||||
},
|
||||
{
|
||||
x: 94694400000.0,
|
||||
y: 48217,
|
||||
},
|
||||
{
|
||||
x: 126230400000.0,
|
||||
y: 48476,
|
||||
},
|
||||
{
|
||||
x: 157766400000.0,
|
||||
y: 46438,
|
||||
},
|
||||
{
|
||||
x: 189302400000.0,
|
||||
y: 45086,
|
||||
},
|
||||
{
|
||||
x: 220924800000.0,
|
||||
y: 46610,
|
||||
},
|
||||
{
|
||||
x: 252460800000.0,
|
||||
y: 47107,
|
||||
},
|
||||
{
|
||||
x: 283996800000.0,
|
||||
y: 50514,
|
||||
},
|
||||
{
|
||||
x: 315532800000.0,
|
||||
y: 48969,
|
||||
},
|
||||
{
|
||||
x: 347155200000.0,
|
||||
y: 50108,
|
||||
},
|
||||
{
|
||||
x: 378691200000.0,
|
||||
y: 59055,
|
||||
},
|
||||
{
|
||||
x: 410227200000.0,
|
||||
y: 59188,
|
||||
},
|
||||
{
|
||||
x: 441763200000.0,
|
||||
y: 59859,
|
||||
},
|
||||
{
|
||||
x: 473385600000.0,
|
||||
y: 59516,
|
||||
},
|
||||
{
|
||||
x: 504921600000.0,
|
||||
y: 56633,
|
||||
},
|
||||
{
|
||||
x: 536457600000.0,
|
||||
y: 54466,
|
||||
},
|
||||
{
|
||||
x: 567993600000.0,
|
||||
y: 52996,
|
||||
},
|
||||
{
|
||||
x: 599616000000.0,
|
||||
y: 53205,
|
||||
},
|
||||
{
|
||||
x: 631152000000.0,
|
||||
y: 52322,
|
||||
},
|
||||
{
|
||||
x: 662688000000.0,
|
||||
y: 47109,
|
||||
},
|
||||
{
|
||||
x: 694224000000.0,
|
||||
y: 42470,
|
||||
},
|
||||
{
|
||||
x: 725846400000.0,
|
||||
y: 38257,
|
||||
},
|
||||
{
|
||||
x: 757382400000.0,
|
||||
y: 34823,
|
||||
},
|
||||
{
|
||||
x: 788918400000.0,
|
||||
y: 32728,
|
||||
},
|
||||
{
|
||||
x: 820454400000.0,
|
||||
y: 30988,
|
||||
},
|
||||
{
|
||||
x: 852076800000.0,
|
||||
y: 29179,
|
||||
},
|
||||
{
|
||||
x: 883612800000.0,
|
||||
y: 27083,
|
||||
},
|
||||
{
|
||||
x: 915148800000.0,
|
||||
y: 25700,
|
||||
},
|
||||
{
|
||||
x: 946684800000.0,
|
||||
y: 24959,
|
||||
},
|
||||
{
|
||||
x: 978307200000.0,
|
||||
y: 23180,
|
||||
},
|
||||
{
|
||||
x: 1009843200000.0,
|
||||
y: 21731,
|
||||
},
|
||||
{
|
||||
x: 1041379200000.0,
|
||||
y: 20793,
|
||||
},
|
||||
{
|
||||
x: 1072915200000.0,
|
||||
y: 19739,
|
||||
},
|
||||
{
|
||||
x: 1104537600000.0,
|
||||
y: 19190,
|
||||
},
|
||||
{
|
||||
x: 1136073600000.0,
|
||||
y: 19674,
|
||||
},
|
||||
{
|
||||
x: 1167609600000.0,
|
||||
y: 19986,
|
||||
},
|
||||
{
|
||||
x: 1199145600000.0,
|
||||
y: 17771,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
key: ['David'],
|
||||
values: [
|
||||
{
|
||||
x: -157766400000.0,
|
||||
y: 67646,
|
||||
},
|
||||
{
|
||||
x: -126230400000.0,
|
||||
y: 66207,
|
||||
},
|
||||
{
|
||||
x: -94694400000.0,
|
||||
y: 66581,
|
||||
},
|
||||
{
|
||||
x: -63158400000.0,
|
||||
y: 63531,
|
||||
},
|
||||
{
|
||||
x: -31536000000.0,
|
||||
y: 63502,
|
||||
},
|
||||
{
|
||||
x: 0.0,
|
||||
y: 61570,
|
||||
},
|
||||
{
|
||||
x: 31536000000.0,
|
||||
y: 52948,
|
||||
},
|
||||
{
|
||||
x: 63072000000.0,
|
||||
y: 46218,
|
||||
},
|
||||
{
|
||||
x: 94694400000.0,
|
||||
y: 40968,
|
||||
},
|
||||
{
|
||||
x: 126230400000.0,
|
||||
y: 41654,
|
||||
},
|
||||
{
|
||||
x: 157766400000.0,
|
||||
y: 39019,
|
||||
},
|
||||
{
|
||||
x: 189302400000.0,
|
||||
y: 39165,
|
||||
},
|
||||
{
|
||||
x: 220924800000.0,
|
||||
y: 40407,
|
||||
},
|
||||
{
|
||||
x: 252460800000.0,
|
||||
y: 40533,
|
||||
},
|
||||
{
|
||||
x: 283996800000.0,
|
||||
y: 41898,
|
||||
},
|
||||
{
|
||||
x: 315532800000.0,
|
||||
y: 41743,
|
||||
},
|
||||
{
|
||||
x: 347155200000.0,
|
||||
y: 40486,
|
||||
},
|
||||
{
|
||||
x: 378691200000.0,
|
||||
y: 40283,
|
||||
},
|
||||
{
|
||||
x: 410227200000.0,
|
||||
y: 39048,
|
||||
},
|
||||
{
|
||||
x: 441763200000.0,
|
||||
y: 38346,
|
||||
},
|
||||
{
|
||||
x: 473385600000.0,
|
||||
y: 38395,
|
||||
},
|
||||
{
|
||||
x: 504921600000.0,
|
||||
y: 37021,
|
||||
},
|
||||
{
|
||||
x: 536457600000.0,
|
||||
y: 36672,
|
||||
},
|
||||
{
|
||||
x: 567993600000.0,
|
||||
y: 35214,
|
||||
},
|
||||
{
|
||||
x: 599616000000.0,
|
||||
y: 35139,
|
||||
},
|
||||
{
|
||||
x: 631152000000.0,
|
||||
y: 33661,
|
||||
},
|
||||
{
|
||||
x: 662688000000.0,
|
||||
y: 30347,
|
||||
},
|
||||
{
|
||||
x: 694224000000.0,
|
||||
y: 28344,
|
||||
},
|
||||
{
|
||||
x: 725846400000.0,
|
||||
y: 26947,
|
||||
},
|
||||
{
|
||||
x: 757382400000.0,
|
||||
y: 24784,
|
||||
},
|
||||
{
|
||||
x: 788918400000.0,
|
||||
y: 22967,
|
||||
},
|
||||
{
|
||||
x: 820454400000.0,
|
||||
y: 22941,
|
||||
},
|
||||
{
|
||||
x: 852076800000.0,
|
||||
y: 21824,
|
||||
},
|
||||
{
|
||||
x: 883612800000.0,
|
||||
y: 20816,
|
||||
},
|
||||
{
|
||||
x: 915148800000.0,
|
||||
y: 20267,
|
||||
},
|
||||
{
|
||||
x: 946684800000.0,
|
||||
y: 19695,
|
||||
},
|
||||
{
|
||||
x: 978307200000.0,
|
||||
y: 19281,
|
||||
},
|
||||
{
|
||||
x: 1009843200000.0,
|
||||
y: 18600,
|
||||
},
|
||||
{
|
||||
x: 1041379200000.0,
|
||||
y: 18557,
|
||||
},
|
||||
{
|
||||
x: 1072915200000.0,
|
||||
y: 18315,
|
||||
},
|
||||
{
|
||||
x: 1104537600000.0,
|
||||
y: 18017,
|
||||
},
|
||||
{
|
||||
x: 1136073600000.0,
|
||||
y: 17510,
|
||||
},
|
||||
{
|
||||
x: 1167609600000.0,
|
||||
y: 17400,
|
||||
},
|
||||
{
|
||||
x: 1199145600000.0,
|
||||
y: 16049,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
key: ['James'],
|
||||
values: [
|
||||
{
|
||||
x: -157766400000.0,
|
||||
y: 67506,
|
||||
},
|
||||
{
|
||||
x: -126230400000.0,
|
||||
y: 65036,
|
||||
},
|
||||
{
|
||||
x: -94694400000.0,
|
||||
y: 61554,
|
||||
},
|
||||
{
|
||||
x: -63158400000.0,
|
||||
y: 60584,
|
||||
},
|
||||
{
|
||||
x: -31536000000.0,
|
||||
y: 59824,
|
||||
},
|
||||
{
|
||||
x: 0.0,
|
||||
y: 61597,
|
||||
},
|
||||
{
|
||||
x: 31536000000.0,
|
||||
y: 54463,
|
||||
},
|
||||
{
|
||||
x: 63072000000.0,
|
||||
y: 46960,
|
||||
},
|
||||
{
|
||||
x: 94694400000.0,
|
||||
y: 42782,
|
||||
},
|
||||
{
|
||||
x: 126230400000.0,
|
||||
y: 41258,
|
||||
},
|
||||
{
|
||||
x: 157766400000.0,
|
||||
y: 39471,
|
||||
},
|
||||
{
|
||||
x: 189302400000.0,
|
||||
y: 38203,
|
||||
},
|
||||
{
|
||||
x: 220924800000.0,
|
||||
y: 39916,
|
||||
},
|
||||
{
|
||||
x: 252460800000.0,
|
||||
y: 39783,
|
||||
},
|
||||
{
|
||||
x: 283996800000.0,
|
||||
y: 39237,
|
||||
},
|
||||
{
|
||||
x: 315532800000.0,
|
||||
y: 39185,
|
||||
},
|
||||
{
|
||||
x: 347155200000.0,
|
||||
y: 38176,
|
||||
},
|
||||
{
|
||||
x: 378691200000.0,
|
||||
y: 38750,
|
||||
},
|
||||
{
|
||||
x: 410227200000.0,
|
||||
y: 36228,
|
||||
},
|
||||
{
|
||||
x: 441763200000.0,
|
||||
y: 35728,
|
||||
},
|
||||
{
|
||||
x: 473385600000.0,
|
||||
y: 35750,
|
||||
},
|
||||
{
|
||||
x: 504921600000.0,
|
||||
y: 33955,
|
||||
},
|
||||
{
|
||||
x: 536457600000.0,
|
||||
y: 32552,
|
||||
},
|
||||
{
|
||||
x: 567993600000.0,
|
||||
y: 32418,
|
||||
},
|
||||
{
|
||||
x: 599616000000.0,
|
||||
y: 32658,
|
||||
},
|
||||
{
|
||||
x: 631152000000.0,
|
||||
y: 32288,
|
||||
},
|
||||
{
|
||||
x: 662688000000.0,
|
||||
y: 30460,
|
||||
},
|
||||
{
|
||||
x: 694224000000.0,
|
||||
y: 28450,
|
||||
},
|
||||
{
|
||||
x: 725846400000.0,
|
||||
y: 26193,
|
||||
},
|
||||
{
|
||||
x: 757382400000.0,
|
||||
y: 24706,
|
||||
},
|
||||
{
|
||||
x: 788918400000.0,
|
||||
y: 22691,
|
||||
},
|
||||
{
|
||||
x: 820454400000.0,
|
||||
y: 21122,
|
||||
},
|
||||
{
|
||||
x: 852076800000.0,
|
||||
y: 20368,
|
||||
},
|
||||
{
|
||||
x: 883612800000.0,
|
||||
y: 19651,
|
||||
},
|
||||
{
|
||||
x: 915148800000.0,
|
||||
y: 18508,
|
||||
},
|
||||
{
|
||||
x: 946684800000.0,
|
||||
y: 17939,
|
||||
},
|
||||
{
|
||||
x: 978307200000.0,
|
||||
y: 17023,
|
||||
},
|
||||
{
|
||||
x: 1009843200000.0,
|
||||
y: 16905,
|
||||
},
|
||||
{
|
||||
x: 1041379200000.0,
|
||||
y: 16832,
|
||||
},
|
||||
{
|
||||
x: 1072915200000.0,
|
||||
y: 16459,
|
||||
},
|
||||
{
|
||||
x: 1104537600000.0,
|
||||
y: 16046,
|
||||
},
|
||||
{
|
||||
x: 1136073600000.0,
|
||||
y: 16139,
|
||||
},
|
||||
{
|
||||
x: 1167609600000.0,
|
||||
y: 15821,
|
||||
},
|
||||
{
|
||||
x: 1199145600000.0,
|
||||
y: 14920,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
key: ['John'],
|
||||
values: [
|
||||
{
|
||||
x: -157766400000.0,
|
||||
y: 71390,
|
||||
},
|
||||
{
|
||||
x: -126230400000.0,
|
||||
y: 64858,
|
||||
},
|
||||
{
|
||||
x: -94694400000.0,
|
||||
y: 61480,
|
||||
},
|
||||
{
|
||||
x: -63158400000.0,
|
||||
y: 60754,
|
||||
},
|
||||
{
|
||||
x: -31536000000.0,
|
||||
y: 58644,
|
||||
},
|
||||
{
|
||||
x: 0.0,
|
||||
y: 58348,
|
||||
},
|
||||
{
|
||||
x: 31536000000.0,
|
||||
y: 51382,
|
||||
},
|
||||
{
|
||||
x: 63072000000.0,
|
||||
y: 43028,
|
||||
},
|
||||
{
|
||||
x: 94694400000.0,
|
||||
y: 39061,
|
||||
},
|
||||
{
|
||||
x: 126230400000.0,
|
||||
y: 37553,
|
||||
},
|
||||
{
|
||||
x: 157766400000.0,
|
||||
y: 34970,
|
||||
},
|
||||
{
|
||||
x: 189302400000.0,
|
||||
y: 33876,
|
||||
},
|
||||
{
|
||||
x: 220924800000.0,
|
||||
y: 34103,
|
||||
},
|
||||
{
|
||||
x: 252460800000.0,
|
||||
y: 33895,
|
||||
},
|
||||
{
|
||||
x: 283996800000.0,
|
||||
y: 35305,
|
||||
},
|
||||
{
|
||||
x: 315532800000.0,
|
||||
y: 35131,
|
||||
},
|
||||
{
|
||||
x: 347155200000.0,
|
||||
y: 34761,
|
||||
},
|
||||
{
|
||||
x: 378691200000.0,
|
||||
y: 34560,
|
||||
},
|
||||
{
|
||||
x: 410227200000.0,
|
||||
y: 33047,
|
||||
},
|
||||
{
|
||||
x: 441763200000.0,
|
||||
y: 32484,
|
||||
},
|
||||
{
|
||||
x: 473385600000.0,
|
||||
y: 31397,
|
||||
},
|
||||
{
|
||||
x: 504921600000.0,
|
||||
y: 30103,
|
||||
},
|
||||
{
|
||||
x: 536457600000.0,
|
||||
y: 29462,
|
||||
},
|
||||
{
|
||||
x: 567993600000.0,
|
||||
y: 29301,
|
||||
},
|
||||
{
|
||||
x: 599616000000.0,
|
||||
y: 29751,
|
||||
},
|
||||
{
|
||||
x: 631152000000.0,
|
||||
y: 29011,
|
||||
},
|
||||
{
|
||||
x: 662688000000.0,
|
||||
y: 27727,
|
||||
},
|
||||
{
|
||||
x: 694224000000.0,
|
||||
y: 26156,
|
||||
},
|
||||
{
|
||||
x: 725846400000.0,
|
||||
y: 24918,
|
||||
},
|
||||
{
|
||||
x: 757382400000.0,
|
||||
y: 24119,
|
||||
},
|
||||
{
|
||||
x: 788918400000.0,
|
||||
y: 23174,
|
||||
},
|
||||
{
|
||||
x: 820454400000.0,
|
||||
y: 22104,
|
||||
},
|
||||
{
|
||||
x: 852076800000.0,
|
||||
y: 21330,
|
||||
},
|
||||
{
|
||||
x: 883612800000.0,
|
||||
y: 20556,
|
||||
},
|
||||
{
|
||||
x: 915148800000.0,
|
||||
y: 20280,
|
||||
},
|
||||
{
|
||||
x: 946684800000.0,
|
||||
y: 20032,
|
||||
},
|
||||
{
|
||||
x: 978307200000.0,
|
||||
y: 18839,
|
||||
},
|
||||
{
|
||||
x: 1009843200000.0,
|
||||
y: 17400,
|
||||
},
|
||||
{
|
||||
x: 1041379200000.0,
|
||||
y: 17170,
|
||||
},
|
||||
{
|
||||
x: 1072915200000.0,
|
||||
y: 16381,
|
||||
},
|
||||
{
|
||||
x: 1104537600000.0,
|
||||
y: 15692,
|
||||
},
|
||||
{
|
||||
x: 1136073600000.0,
|
||||
y: 15083,
|
||||
},
|
||||
{
|
||||
x: 1167609600000.0,
|
||||
y: 14348,
|
||||
},
|
||||
{
|
||||
x: 1199145600000.0,
|
||||
y: 13110,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
key: ['Michael'],
|
||||
values: [
|
||||
{
|
||||
x: -157766400000.0,
|
||||
y: 80812,
|
||||
},
|
||||
{
|
||||
x: -126230400000.0,
|
||||
y: 79709,
|
||||
},
|
||||
{
|
||||
x: -94694400000.0,
|
||||
y: 82204,
|
||||
},
|
||||
{
|
||||
x: -63158400000.0,
|
||||
y: 81785,
|
||||
},
|
||||
{
|
||||
x: -31536000000.0,
|
||||
y: 84893,
|
||||
},
|
||||
{
|
||||
x: 0.0,
|
||||
y: 85015,
|
||||
},
|
||||
{
|
||||
x: 31536000000.0,
|
||||
y: 77321,
|
||||
},
|
||||
{
|
||||
x: 63072000000.0,
|
||||
y: 71197,
|
||||
},
|
||||
{
|
||||
x: 94694400000.0,
|
||||
y: 67598,
|
||||
},
|
||||
{
|
||||
x: 126230400000.0,
|
||||
y: 67304,
|
||||
},
|
||||
{
|
||||
x: 157766400000.0,
|
||||
y: 68149,
|
||||
},
|
||||
{
|
||||
x: 189302400000.0,
|
||||
y: 66686,
|
||||
},
|
||||
{
|
||||
x: 220924800000.0,
|
||||
y: 67344,
|
||||
},
|
||||
{
|
||||
x: 252460800000.0,
|
||||
y: 66875,
|
||||
},
|
||||
{
|
||||
x: 283996800000.0,
|
||||
y: 67473,
|
||||
},
|
||||
{
|
||||
x: 315532800000.0,
|
||||
y: 68375,
|
||||
},
|
||||
{
|
||||
x: 347155200000.0,
|
||||
y: 68467,
|
||||
},
|
||||
{
|
||||
x: 378691200000.0,
|
||||
y: 67904,
|
||||
},
|
||||
{
|
||||
x: 410227200000.0,
|
||||
y: 67708,
|
||||
},
|
||||
{
|
||||
x: 441763200000.0,
|
||||
y: 67457,
|
||||
},
|
||||
{
|
||||
x: 473385600000.0,
|
||||
y: 64667,
|
||||
},
|
||||
{
|
||||
x: 504921600000.0,
|
||||
y: 63959,
|
||||
},
|
||||
{
|
||||
x: 536457600000.0,
|
||||
y: 63442,
|
||||
},
|
||||
{
|
||||
x: 567993600000.0,
|
||||
y: 63924,
|
||||
},
|
||||
{
|
||||
x: 599616000000.0,
|
||||
y: 65233,
|
||||
},
|
||||
{
|
||||
x: 631152000000.0,
|
||||
y: 65138,
|
||||
},
|
||||
{
|
||||
x: 662688000000.0,
|
||||
y: 60646,
|
||||
},
|
||||
{
|
||||
x: 694224000000.0,
|
||||
y: 54216,
|
||||
},
|
||||
{
|
||||
x: 725846400000.0,
|
||||
y: 49443,
|
||||
},
|
||||
{
|
||||
x: 757382400000.0,
|
||||
y: 44361,
|
||||
},
|
||||
{
|
||||
x: 788918400000.0,
|
||||
y: 41311,
|
||||
},
|
||||
{
|
||||
x: 820454400000.0,
|
||||
y: 38284,
|
||||
},
|
||||
{
|
||||
x: 852076800000.0,
|
||||
y: 37459,
|
||||
},
|
||||
{
|
||||
x: 883612800000.0,
|
||||
y: 36525,
|
||||
},
|
||||
{
|
||||
x: 915148800000.0,
|
||||
y: 33820,
|
||||
},
|
||||
{
|
||||
x: 946684800000.0,
|
||||
y: 31956,
|
||||
},
|
||||
{
|
||||
x: 978307200000.0,
|
||||
y: 29612,
|
||||
},
|
||||
{
|
||||
x: 1009843200000.0,
|
||||
y: 28156,
|
||||
},
|
||||
{
|
||||
x: 1041379200000.0,
|
||||
y: 27031,
|
||||
},
|
||||
{
|
||||
x: 1072915200000.0,
|
||||
y: 25418,
|
||||
},
|
||||
{
|
||||
x: 1104537600000.0,
|
||||
y: 23678,
|
||||
},
|
||||
{
|
||||
x: 1136073600000.0,
|
||||
y: 22498,
|
||||
},
|
||||
{
|
||||
x: 1167609600000.0,
|
||||
y: 21805,
|
||||
},
|
||||
{
|
||||
x: 1199145600000.0,
|
||||
y: 20271,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
|
@ -1,84 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { SuperChart } from '@superset-ui/core';
|
||||
import { radios } from '@storybook/addon-knobs';
|
||||
import data from '../data/data';
|
||||
import { LINE_PLUGIN_TYPE } from '../constants';
|
||||
import dummyDatasource from '../../../../../shared/dummyDatasource';
|
||||
|
||||
export default () => (
|
||||
<SuperChart
|
||||
key="line1"
|
||||
chartType={LINE_PLUGIN_TYPE}
|
||||
datasource={dummyDatasource}
|
||||
formData={{
|
||||
encoding: {
|
||||
x: {
|
||||
field: 'x',
|
||||
type: 'temporal',
|
||||
format: '%Y-%m',
|
||||
scale: {
|
||||
type: 'time',
|
||||
},
|
||||
axis: {
|
||||
orient: radios(
|
||||
'x.axis.orient',
|
||||
{ top: 'top', bottom: 'bottom' },
|
||||
'bottom',
|
||||
),
|
||||
title: radios(
|
||||
'x.axis.title',
|
||||
{ enable: 'Time', disable: '', '': undefined },
|
||||
'Time',
|
||||
),
|
||||
},
|
||||
},
|
||||
y: {
|
||||
field: 'y',
|
||||
type: 'quantitative',
|
||||
scale: {
|
||||
type: 'linear',
|
||||
},
|
||||
axis: {
|
||||
orient: radios(
|
||||
'y.axis.orient',
|
||||
{ left: 'left', right: 'right', '': undefined },
|
||||
'left',
|
||||
),
|
||||
title: radios(
|
||||
'y.axis.title',
|
||||
{ enable: 'Score', disable: '', '': undefined },
|
||||
'Score',
|
||||
),
|
||||
},
|
||||
},
|
||||
stroke: {
|
||||
field: 'name',
|
||||
type: 'nominal',
|
||||
legend: true,
|
||||
},
|
||||
},
|
||||
}}
|
||||
height={400}
|
||||
queriesData={[{ data }]}
|
||||
width={400}
|
||||
/>
|
||||
);
|
|
@ -1,152 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { SuperChart } from '@superset-ui/core';
|
||||
import { radios } from '@storybook/addon-knobs';
|
||||
import rawData from '../data/data';
|
||||
import { LINE_PLUGIN_TYPE } from '../constants';
|
||||
import dummyDatasource from '../../../../../shared/dummyDatasource';
|
||||
|
||||
const MIN_TIME = new Date(Date.UTC(1980, 0, 1)).getTime();
|
||||
const MAX_TIME = new Date(Date.UTC(2000, 1, 1)).getTime();
|
||||
const data = rawData.filter(({ x }) => x >= MIN_TIME && x <= MAX_TIME);
|
||||
|
||||
export default () => (
|
||||
<>
|
||||
<SuperChart
|
||||
key="line1"
|
||||
chartType={LINE_PLUGIN_TYPE}
|
||||
width={400}
|
||||
height={200}
|
||||
datasource={dummyDatasource}
|
||||
queriesData={[{ data }]}
|
||||
formData={{
|
||||
encoding: {
|
||||
x: {
|
||||
field: 'x',
|
||||
type: 'temporal',
|
||||
format: '%Y',
|
||||
scale: {
|
||||
type: 'utc',
|
||||
},
|
||||
axis: {
|
||||
tickCount: 6,
|
||||
orient: radios(
|
||||
'x.axis.orient',
|
||||
{ top: 'top', bottom: 'bottom' },
|
||||
'bottom',
|
||||
),
|
||||
title: radios(
|
||||
'x.axis.title',
|
||||
{ enable: 'Time', disable: '', '': undefined },
|
||||
'Time',
|
||||
),
|
||||
},
|
||||
},
|
||||
y: {
|
||||
field: 'y',
|
||||
type: 'quantitative',
|
||||
scale: {
|
||||
type: 'linear',
|
||||
},
|
||||
axis: {
|
||||
tickCount: 3,
|
||||
orient: radios(
|
||||
'y.axis.orient',
|
||||
{ left: 'left', right: 'right', '': undefined },
|
||||
'left',
|
||||
),
|
||||
title: radios(
|
||||
'y.axis.title',
|
||||
{ enable: 'Score', disable: '', '': undefined },
|
||||
'Score',
|
||||
),
|
||||
},
|
||||
},
|
||||
stroke: {
|
||||
field: 'name',
|
||||
type: 'nominal',
|
||||
legend: true,
|
||||
},
|
||||
},
|
||||
}}
|
||||
/>
|
||||
,
|
||||
<SuperChart
|
||||
key="line2"
|
||||
chartType={LINE_PLUGIN_TYPE}
|
||||
width={400}
|
||||
height={200}
|
||||
datasource={dummyDatasource}
|
||||
queriesData={[{ data }]}
|
||||
formData={{
|
||||
encoding: {
|
||||
x: {
|
||||
field: 'x',
|
||||
type: 'temporal',
|
||||
format: '%Y',
|
||||
scale: {
|
||||
type: 'utc',
|
||||
},
|
||||
axis: {
|
||||
labelFlush: 5,
|
||||
tickCount: 6,
|
||||
orient: radios(
|
||||
'x.axis.orient',
|
||||
{ top: 'top', bottom: 'bottom' },
|
||||
'bottom',
|
||||
),
|
||||
title: radios(
|
||||
'x.axis.title',
|
||||
{ enable: 'Time', disable: '', '': undefined },
|
||||
'Time',
|
||||
),
|
||||
},
|
||||
},
|
||||
y: {
|
||||
field: 'y',
|
||||
type: 'quantitative',
|
||||
scale: {
|
||||
type: 'linear',
|
||||
},
|
||||
axis: {
|
||||
tickCount: 3,
|
||||
orient: radios(
|
||||
'y.axis.orient',
|
||||
{ left: 'left', right: 'right', '': undefined },
|
||||
'left',
|
||||
),
|
||||
title: radios(
|
||||
'y.axis.title',
|
||||
{ enable: 'Score', disable: '', '': undefined },
|
||||
'Score',
|
||||
),
|
||||
},
|
||||
},
|
||||
stroke: {
|
||||
field: 'name',
|
||||
type: 'nominal',
|
||||
legend: true,
|
||||
},
|
||||
},
|
||||
}}
|
||||
/>
|
||||
</>
|
||||
);
|
|
@ -1,86 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { SuperChart } from '@superset-ui/core';
|
||||
import data from '../data/legacyData';
|
||||
import { LINE_PLUGIN_LEGACY_TYPE } from '../constants';
|
||||
import dummyDatasource from '../../../../../shared/dummyDatasource';
|
||||
|
||||
export default () => (
|
||||
<>
|
||||
<SuperChart
|
||||
key="line1"
|
||||
chartType={LINE_PLUGIN_LEGACY_TYPE}
|
||||
width={400}
|
||||
height={400}
|
||||
datasource={dummyDatasource}
|
||||
queriesData={[{ data }]}
|
||||
formData={{
|
||||
bottomMargin: 'auto',
|
||||
colorScheme: 'd3Category10',
|
||||
leftMargin: 'auto',
|
||||
lineInterpolation: 'linear',
|
||||
richTooltip: true,
|
||||
showBrush: 'auto',
|
||||
showLegend: true,
|
||||
showMarkers: false,
|
||||
vizType: 'line',
|
||||
xAxisFormat: '%Y',
|
||||
xAxisLabel: '',
|
||||
xAxisShowminmax: false,
|
||||
xTicksLayout: 'auto',
|
||||
yAxisBounds: [null, null],
|
||||
yAxisFormat: '',
|
||||
yAxisLabel: '',
|
||||
yAxisShowminmax: false,
|
||||
yLogScale: false,
|
||||
}}
|
||||
/>
|
||||
,
|
||||
<SuperChart
|
||||
key="line2"
|
||||
chartType={LINE_PLUGIN_LEGACY_TYPE}
|
||||
width={400}
|
||||
height={400}
|
||||
datasource={dummyDatasource}
|
||||
queriesData={[{ data }]}
|
||||
formData={{
|
||||
bottomMargin: 'auto',
|
||||
colorScheme: 'd3Category10',
|
||||
leftMargin: 'auto',
|
||||
lineInterpolation: 'linear',
|
||||
richTooltip: true,
|
||||
showBrush: 'auto',
|
||||
showLegend: true,
|
||||
showMarkers: false,
|
||||
vizType: 'line',
|
||||
xAxisFormat: '%Y-%m',
|
||||
xAxisLabel: '',
|
||||
xAxisShowminmax: false,
|
||||
xTicksLayout: 'auto',
|
||||
yAxisBounds: [null, null],
|
||||
yAxisFormat: '',
|
||||
yAxisLabel: '',
|
||||
yAxisShowminmax: false,
|
||||
yLogScale: false,
|
||||
}}
|
||||
/>
|
||||
</>
|
||||
);
|
|
@ -1,75 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { SuperChart, seedRandom } from '@superset-ui/core';
|
||||
import data from '../data/data';
|
||||
import { LINE_PLUGIN_TYPE } from '../constants';
|
||||
import dummyDatasource from '../../../../../shared/dummyDatasource';
|
||||
|
||||
const missingData = data.map(({ y, ...rest }) => ({
|
||||
...rest,
|
||||
y: seedRandom() < 0.25 ? null : y,
|
||||
}));
|
||||
|
||||
const missing = () => (
|
||||
<SuperChart
|
||||
key="line1"
|
||||
chartType={LINE_PLUGIN_TYPE}
|
||||
width={400}
|
||||
height={400}
|
||||
datasource={dummyDatasource}
|
||||
queriesData={[{ data: missingData }]}
|
||||
formData={{
|
||||
encoding: {
|
||||
x: {
|
||||
field: 'x',
|
||||
type: 'temporal',
|
||||
format: '%Y',
|
||||
scale: {
|
||||
type: 'time',
|
||||
},
|
||||
axis: {
|
||||
orient: 'bottom',
|
||||
title: 'Time',
|
||||
},
|
||||
},
|
||||
y: {
|
||||
field: 'y',
|
||||
type: 'quantitative',
|
||||
scale: {
|
||||
type: 'linear',
|
||||
},
|
||||
axis: {
|
||||
orient: 'left',
|
||||
title: 'Score',
|
||||
},
|
||||
},
|
||||
stroke: {
|
||||
field: 'name',
|
||||
type: 'nominal',
|
||||
scale: {},
|
||||
legend: true,
|
||||
},
|
||||
},
|
||||
}}
|
||||
/>
|
||||
);
|
||||
|
||||
export default missing;
|
|
@ -1,83 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { LINE_PLUGIN_TYPE, LINE_PLUGIN_LEGACY_TYPE } from '../constants';
|
||||
import createQueryStory from '../../../../../shared/components/createQueryStory';
|
||||
|
||||
export default createQueryStory({
|
||||
choices: {
|
||||
'Line Chart - Legacy API': {
|
||||
chartType: LINE_PLUGIN_LEGACY_TYPE,
|
||||
formData: {
|
||||
datasource: '3__table',
|
||||
viz_type: 'line',
|
||||
url_params: {},
|
||||
granularity_sqla: 'ds',
|
||||
time_grain_sqla: 'P1D',
|
||||
time_range: '100 years ago : now',
|
||||
metrics: ['sum__num'],
|
||||
adhoc_filters: [],
|
||||
groupby: [],
|
||||
limit: 25,
|
||||
row_limit: 50000,
|
||||
},
|
||||
},
|
||||
'Line Chart - /api/v1/query': {
|
||||
chartType: LINE_PLUGIN_TYPE,
|
||||
formData: {
|
||||
viz_type: LINE_PLUGIN_TYPE,
|
||||
datasource: '3__table',
|
||||
granularity_sqla: 'ds',
|
||||
time_grain_sqla: 'P1D',
|
||||
time_range: '100 years ago : now',
|
||||
metrics: ['sum__num'],
|
||||
limit: 25,
|
||||
row_limit: 50000,
|
||||
encoding: {
|
||||
x: {
|
||||
field: '__timestamp',
|
||||
type: 'temporal',
|
||||
format: '%Y',
|
||||
scale: {
|
||||
type: 'time',
|
||||
},
|
||||
axis: {
|
||||
title: 'Time',
|
||||
},
|
||||
},
|
||||
y: {
|
||||
field: 'sum__num',
|
||||
type: 'quantitative',
|
||||
scale: {
|
||||
type: 'linear',
|
||||
},
|
||||
axis: {
|
||||
title: 'Number of Babies',
|
||||
},
|
||||
},
|
||||
stroke: {
|
||||
field: 'gender',
|
||||
type: 'nominal',
|
||||
legend: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
|
@ -1,100 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { SuperChart, useTheme } from '@superset-ui/core';
|
||||
import data from '../data/data2';
|
||||
import { LINE_PLUGIN_TYPE } from '../constants';
|
||||
import dummyDatasource from '../../../../../shared/dummyDatasource';
|
||||
|
||||
export default () => {
|
||||
const theme = useTheme();
|
||||
return (
|
||||
<SuperChart
|
||||
key="line1"
|
||||
chartType={LINE_PLUGIN_TYPE}
|
||||
width={400}
|
||||
height={400}
|
||||
datasource={dummyDatasource}
|
||||
queriesData={[{ data }]}
|
||||
formData={{
|
||||
encoding: {
|
||||
x: {
|
||||
field: 'x',
|
||||
type: 'temporal',
|
||||
format: '%Y',
|
||||
scale: {
|
||||
type: 'time',
|
||||
},
|
||||
axis: {
|
||||
orient: 'bottom',
|
||||
title: 'Time',
|
||||
},
|
||||
},
|
||||
y: {
|
||||
field: 'y',
|
||||
type: 'quantitative',
|
||||
scale: {
|
||||
type: 'linear',
|
||||
},
|
||||
axis: {
|
||||
orient: 'left',
|
||||
title: 'Score',
|
||||
},
|
||||
},
|
||||
stroke: {
|
||||
value: theme.colors.success.base,
|
||||
type: 'nominal',
|
||||
scale: false,
|
||||
},
|
||||
fill: {
|
||||
field: 'snapshot',
|
||||
type: 'nominal',
|
||||
scale: {
|
||||
type: 'ordinal',
|
||||
domain: ['Current', 'Last year'],
|
||||
range: [true, false],
|
||||
},
|
||||
legend: false,
|
||||
},
|
||||
strokeDasharray: {
|
||||
field: 'snapshot',
|
||||
type: 'nominal',
|
||||
scale: {
|
||||
type: 'ordinal',
|
||||
domain: ['Current', 'Last year'],
|
||||
range: [null, '4 4'],
|
||||
},
|
||||
legend: false,
|
||||
},
|
||||
strokeWidth: {
|
||||
field: 'snapshot',
|
||||
type: 'nominal',
|
||||
scale: {
|
||||
type: 'ordinal',
|
||||
domain: ['Current', 'Last year'],
|
||||
range: [3, 1.5],
|
||||
},
|
||||
legend: false,
|
||||
},
|
||||
},
|
||||
}}
|
||||
/>
|
||||
);
|
||||
};
|
|
@ -1,44 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import {
|
||||
ScatterPlotChartPlugin,
|
||||
LegacyScatterPlotChartPlugin,
|
||||
} from '@superset-ui/preset-chart-xy';
|
||||
import { withKnobs } from '@storybook/addon-knobs';
|
||||
import {
|
||||
SCATTER_PLOT_PLUGIN_TYPE,
|
||||
SCATTER_PLOT_PLUGIN_LEGACY_TYPE,
|
||||
} from './constants';
|
||||
|
||||
new LegacyScatterPlotChartPlugin()
|
||||
.configure({ key: SCATTER_PLOT_PLUGIN_LEGACY_TYPE })
|
||||
.register();
|
||||
new ScatterPlotChartPlugin()
|
||||
.configure({ key: SCATTER_PLOT_PLUGIN_TYPE })
|
||||
.register();
|
||||
|
||||
export default {
|
||||
title: 'Chart Plugins/preset-chart-xy/ScatterPlot',
|
||||
decorators: [withKnobs],
|
||||
};
|
||||
|
||||
export { default as basic } from './stories/basic';
|
||||
export { default as bubble } from './stories/bubble';
|
||||
export { default as legacy } from './stories/legacy';
|
|
@ -1,21 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
export const SCATTER_PLOT_PLUGIN_TYPE = 'v2-scatter-plot';
|
||||
export const SCATTER_PLOT_PLUGIN_LEGACY_TYPE = 'v2-scatter-plot/legacy';
|
|
@ -1,197 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
/* eslint-disable sort-keys, no-magic-numbers */
|
||||
export default [
|
||||
{
|
||||
country_name: 'China',
|
||||
region: 'East Asia & Pacific',
|
||||
sum__SP_POP_TOTL: 1344130000,
|
||||
sum__SP_RUR_TOTL_ZS: 49.427,
|
||||
sum__SP_DYN_LE00_IN: 75.042,
|
||||
},
|
||||
{
|
||||
country_name: 'Indonesia',
|
||||
region: 'East Asia & Pacific',
|
||||
sum__SP_POP_TOTL: 244808254,
|
||||
sum__SP_RUR_TOTL_ZS: 49.288,
|
||||
sum__SP_DYN_LE00_IN: 70.3915609756,
|
||||
},
|
||||
{
|
||||
country_name: 'Japan',
|
||||
region: 'East Asia & Pacific',
|
||||
sum__SP_POP_TOTL: 127817277,
|
||||
sum__SP_RUR_TOTL_ZS: 8.752,
|
||||
sum__SP_DYN_LE00_IN: 82.5912195122,
|
||||
},
|
||||
{
|
||||
country_name: 'Philippines',
|
||||
region: 'East Asia & Pacific',
|
||||
sum__SP_POP_TOTL: 94501233,
|
||||
sum__SP_RUR_TOTL_ZS: 54.983,
|
||||
sum__SP_DYN_LE00_IN: 68.3914878049,
|
||||
},
|
||||
{
|
||||
country_name: 'Vietnam',
|
||||
region: 'East Asia & Pacific',
|
||||
sum__SP_POP_TOTL: 87840000,
|
||||
sum__SP_RUR_TOTL_ZS: 68.971,
|
||||
sum__SP_DYN_LE00_IN: 75.457902439,
|
||||
},
|
||||
{
|
||||
country_name: 'Thailand',
|
||||
region: 'East Asia & Pacific',
|
||||
sum__SP_POP_TOTL: 66902958,
|
||||
sum__SP_RUR_TOTL_ZS: 54.606,
|
||||
sum__SP_DYN_LE00_IN: 74.008902439,
|
||||
},
|
||||
{
|
||||
country_name: 'Myanmar',
|
||||
region: 'East Asia & Pacific',
|
||||
sum__SP_POP_TOTL: 52125411,
|
||||
sum__SP_RUR_TOTL_ZS: 68.065,
|
||||
sum__SP_DYN_LE00_IN: 64.7612439024,
|
||||
},
|
||||
{
|
||||
country_name: 'India',
|
||||
region: 'South Asia',
|
||||
sum__SP_POP_TOTL: 1247446011,
|
||||
sum__SP_RUR_TOTL_ZS: 68.724,
|
||||
sum__SP_DYN_LE00_IN: 65.9584878049,
|
||||
},
|
||||
{
|
||||
country_name: 'Pakistan',
|
||||
region: 'South Asia',
|
||||
sum__SP_POP_TOTL: 173669648,
|
||||
sum__SP_RUR_TOTL_ZS: 62.993,
|
||||
sum__SP_DYN_LE00_IN: 66.2838780488,
|
||||
},
|
||||
{
|
||||
country_name: 'Bangladesh',
|
||||
region: 'South Asia',
|
||||
sum__SP_POP_TOTL: 153405612,
|
||||
sum__SP_RUR_TOTL_ZS: 68.775,
|
||||
sum__SP_DYN_LE00_IN: 69.891804878,
|
||||
},
|
||||
{
|
||||
country_name: 'United States',
|
||||
region: 'North America',
|
||||
sum__SP_POP_TOTL: 311721632,
|
||||
sum__SP_RUR_TOTL_ZS: 19.06,
|
||||
sum__SP_DYN_LE00_IN: 78.6414634146,
|
||||
},
|
||||
{
|
||||
country_name: 'Brazil',
|
||||
region: 'Latin America & Caribbean',
|
||||
sum__SP_POP_TOTL: 200517584,
|
||||
sum__SP_RUR_TOTL_ZS: 15.377,
|
||||
sum__SP_DYN_LE00_IN: 73.3473658537,
|
||||
},
|
||||
{
|
||||
country_name: 'Mexico',
|
||||
region: 'Latin America & Caribbean',
|
||||
sum__SP_POP_TOTL: 120365271,
|
||||
sum__SP_RUR_TOTL_ZS: 21.882,
|
||||
sum__SP_DYN_LE00_IN: 76.9141707317,
|
||||
},
|
||||
{
|
||||
country_name: 'Nigeria',
|
||||
region: 'Sub-Saharan Africa',
|
||||
sum__SP_POP_TOTL: 163770669,
|
||||
sum__SP_RUR_TOTL_ZS: 55.638,
|
||||
sum__SP_DYN_LE00_IN: 51.7102439024,
|
||||
},
|
||||
{
|
||||
country_name: 'Ethiopia',
|
||||
region: 'Sub-Saharan Africa',
|
||||
sum__SP_POP_TOTL: 89858696,
|
||||
sum__SP_RUR_TOTL_ZS: 82.265,
|
||||
sum__SP_DYN_LE00_IN: 62.2528536585,
|
||||
},
|
||||
{
|
||||
country_name: 'Congo, Dem. Rep.',
|
||||
region: 'Sub-Saharan Africa',
|
||||
sum__SP_POP_TOTL: 68087376,
|
||||
sum__SP_RUR_TOTL_ZS: 59.558,
|
||||
sum__SP_DYN_LE00_IN: 49.3007073171,
|
||||
},
|
||||
{
|
||||
country_name: 'South Africa',
|
||||
region: 'Sub-Saharan Africa',
|
||||
sum__SP_POP_TOTL: 51553479,
|
||||
sum__SP_RUR_TOTL_ZS: 37.254,
|
||||
sum__SP_DYN_LE00_IN: 55.2956585366,
|
||||
},
|
||||
{
|
||||
country_name: 'Russian Federation',
|
||||
region: 'Europe & Central Asia',
|
||||
sum__SP_POP_TOTL: 142960868,
|
||||
sum__SP_RUR_TOTL_ZS: 26.268,
|
||||
sum__SP_DYN_LE00_IN: 69.6585365854,
|
||||
},
|
||||
{
|
||||
country_name: 'Germany',
|
||||
region: 'Europe & Central Asia',
|
||||
sum__SP_POP_TOTL: 81797673,
|
||||
sum__SP_RUR_TOTL_ZS: 25.512,
|
||||
sum__SP_DYN_LE00_IN: 80.7414634146,
|
||||
},
|
||||
{
|
||||
country_name: 'Turkey',
|
||||
region: 'Europe & Central Asia',
|
||||
sum__SP_POP_TOTL: 73199372,
|
||||
sum__SP_RUR_TOTL_ZS: 28.718,
|
||||
sum__SP_DYN_LE00_IN: 74.5404878049,
|
||||
},
|
||||
{
|
||||
country_name: 'France',
|
||||
region: 'Europe & Central Asia',
|
||||
sum__SP_POP_TOTL: 65342776,
|
||||
sum__SP_RUR_TOTL_ZS: 21.416,
|
||||
sum__SP_DYN_LE00_IN: 82.1146341463,
|
||||
},
|
||||
{
|
||||
country_name: 'United Kingdom',
|
||||
region: 'Europe & Central Asia',
|
||||
sum__SP_POP_TOTL: 63258918,
|
||||
sum__SP_RUR_TOTL_ZS: 18.43,
|
||||
sum__SP_DYN_LE00_IN: 80.9512195122,
|
||||
},
|
||||
{
|
||||
country_name: 'Italy',
|
||||
region: 'Europe & Central Asia',
|
||||
sum__SP_POP_TOTL: 59379449,
|
||||
sum__SP_RUR_TOTL_ZS: 31.556,
|
||||
sum__SP_DYN_LE00_IN: 82.187804878,
|
||||
},
|
||||
{
|
||||
country_name: 'Egypt, Arab Rep.',
|
||||
region: 'Middle East & North Africa',
|
||||
sum__SP_POP_TOTL: 83787634,
|
||||
sum__SP_RUR_TOTL_ZS: 57,
|
||||
sum__SP_DYN_LE00_IN: 70.6785609756,
|
||||
},
|
||||
{
|
||||
country_name: 'Iran, Islamic Rep.',
|
||||
region: 'Middle East & North Africa',
|
||||
sum__SP_POP_TOTL: 75184322,
|
||||
sum__SP_RUR_TOTL_ZS: 28.8,
|
||||
sum__SP_DYN_LE00_IN: 73.4493170732,
|
||||
},
|
||||
];
|
|
@ -1,357 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
/* eslint-disable sort-keys, no-magic-numbers */
|
||||
export default [
|
||||
{
|
||||
key: 'East Asia & Pacific',
|
||||
values: [
|
||||
{
|
||||
country_name: 'China',
|
||||
region: 'East Asia & Pacific',
|
||||
sum__SP_POP_TOTL: 1344130000.0,
|
||||
sum__SP_RUR_TOTL_ZS: 49.427,
|
||||
sum__SP_DYN_LE00_IN: 75.042,
|
||||
x: 49.427,
|
||||
y: 75.042,
|
||||
size: 1344130000.0,
|
||||
shape: 'circle',
|
||||
group: 'East Asia & Pacific',
|
||||
},
|
||||
{
|
||||
country_name: 'Indonesia',
|
||||
region: 'East Asia & Pacific',
|
||||
sum__SP_POP_TOTL: 244808254.0,
|
||||
sum__SP_RUR_TOTL_ZS: 49.288,
|
||||
sum__SP_DYN_LE00_IN: 70.3915609756,
|
||||
x: 49.288,
|
||||
y: 70.3915609756,
|
||||
size: 244808254.0,
|
||||
shape: 'circle',
|
||||
group: 'East Asia & Pacific',
|
||||
},
|
||||
{
|
||||
country_name: 'Japan',
|
||||
region: 'East Asia & Pacific',
|
||||
sum__SP_POP_TOTL: 127817277.0,
|
||||
sum__SP_RUR_TOTL_ZS: 8.752,
|
||||
sum__SP_DYN_LE00_IN: 82.5912195122,
|
||||
x: 8.752,
|
||||
y: 82.5912195122,
|
||||
size: 127817277.0,
|
||||
shape: 'circle',
|
||||
group: 'East Asia & Pacific',
|
||||
},
|
||||
{
|
||||
country_name: 'Philippines',
|
||||
region: 'East Asia & Pacific',
|
||||
sum__SP_POP_TOTL: 94501233.0,
|
||||
sum__SP_RUR_TOTL_ZS: 54.983,
|
||||
sum__SP_DYN_LE00_IN: 68.3914878049,
|
||||
x: 54.983,
|
||||
y: 68.3914878049,
|
||||
size: 94501233.0,
|
||||
shape: 'circle',
|
||||
group: 'East Asia & Pacific',
|
||||
},
|
||||
{
|
||||
country_name: 'Vietnam',
|
||||
region: 'East Asia & Pacific',
|
||||
sum__SP_POP_TOTL: 87840000.0,
|
||||
sum__SP_RUR_TOTL_ZS: 68.971,
|
||||
sum__SP_DYN_LE00_IN: 75.457902439,
|
||||
x: 68.971,
|
||||
y: 75.457902439,
|
||||
size: 87840000.0,
|
||||
shape: 'circle',
|
||||
group: 'East Asia & Pacific',
|
||||
},
|
||||
{
|
||||
country_name: 'Thailand',
|
||||
region: 'East Asia & Pacific',
|
||||
sum__SP_POP_TOTL: 66902958.0,
|
||||
sum__SP_RUR_TOTL_ZS: 54.606,
|
||||
sum__SP_DYN_LE00_IN: 74.008902439,
|
||||
x: 54.606,
|
||||
y: 74.008902439,
|
||||
size: 66902958.0,
|
||||
shape: 'circle',
|
||||
group: 'East Asia & Pacific',
|
||||
},
|
||||
{
|
||||
country_name: 'Myanmar',
|
||||
region: 'East Asia & Pacific',
|
||||
sum__SP_POP_TOTL: 52125411.0,
|
||||
sum__SP_RUR_TOTL_ZS: 68.065,
|
||||
sum__SP_DYN_LE00_IN: 64.7612439024,
|
||||
x: 68.065,
|
||||
y: 64.7612439024,
|
||||
size: 52125411.0,
|
||||
shape: 'circle',
|
||||
group: 'East Asia & Pacific',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'South Asia',
|
||||
values: [
|
||||
{
|
||||
country_name: 'India',
|
||||
region: 'South Asia',
|
||||
sum__SP_POP_TOTL: 1247446011.0,
|
||||
sum__SP_RUR_TOTL_ZS: 68.724,
|
||||
sum__SP_DYN_LE00_IN: 65.9584878049,
|
||||
x: 68.724,
|
||||
y: 65.9584878049,
|
||||
size: 1247446011.0,
|
||||
shape: 'circle',
|
||||
group: 'South Asia',
|
||||
},
|
||||
{
|
||||
country_name: 'Pakistan',
|
||||
region: 'South Asia',
|
||||
sum__SP_POP_TOTL: 173669648.0,
|
||||
sum__SP_RUR_TOTL_ZS: 62.993,
|
||||
sum__SP_DYN_LE00_IN: 66.2838780488,
|
||||
x: 62.993,
|
||||
y: 66.2838780488,
|
||||
size: 173669648.0,
|
||||
shape: 'circle',
|
||||
group: 'South Asia',
|
||||
},
|
||||
{
|
||||
country_name: 'Bangladesh',
|
||||
region: 'South Asia',
|
||||
sum__SP_POP_TOTL: 153405612.0,
|
||||
sum__SP_RUR_TOTL_ZS: 68.775,
|
||||
sum__SP_DYN_LE00_IN: 69.891804878,
|
||||
x: 68.775,
|
||||
y: 69.891804878,
|
||||
size: 153405612.0,
|
||||
shape: 'circle',
|
||||
group: 'South Asia',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'North America',
|
||||
values: [
|
||||
{
|
||||
country_name: 'United States',
|
||||
region: 'North America',
|
||||
sum__SP_POP_TOTL: 311721632.0,
|
||||
sum__SP_RUR_TOTL_ZS: 19.06,
|
||||
sum__SP_DYN_LE00_IN: 78.6414634146,
|
||||
x: 19.06,
|
||||
y: 78.6414634146,
|
||||
size: 311721632.0,
|
||||
shape: 'circle',
|
||||
group: 'North America',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'Latin America & Caribbean',
|
||||
values: [
|
||||
{
|
||||
country_name: 'Brazil',
|
||||
region: 'Latin America & Caribbean',
|
||||
sum__SP_POP_TOTL: 200517584.0,
|
||||
sum__SP_RUR_TOTL_ZS: 15.377,
|
||||
sum__SP_DYN_LE00_IN: 73.3473658537,
|
||||
x: 15.377,
|
||||
y: 73.3473658537,
|
||||
size: 200517584.0,
|
||||
shape: 'circle',
|
||||
group: 'Latin America & Caribbean',
|
||||
},
|
||||
{
|
||||
country_name: 'Mexico',
|
||||
region: 'Latin America & Caribbean',
|
||||
sum__SP_POP_TOTL: 120365271.0,
|
||||
sum__SP_RUR_TOTL_ZS: 21.882,
|
||||
sum__SP_DYN_LE00_IN: 76.9141707317,
|
||||
x: 21.882,
|
||||
y: 76.9141707317,
|
||||
size: 120365271.0,
|
||||
shape: 'circle',
|
||||
group: 'Latin America & Caribbean',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'Sub-Saharan Africa',
|
||||
values: [
|
||||
{
|
||||
country_name: 'Nigeria',
|
||||
region: 'Sub-Saharan Africa',
|
||||
sum__SP_POP_TOTL: 163770669.0,
|
||||
sum__SP_RUR_TOTL_ZS: 55.638,
|
||||
sum__SP_DYN_LE00_IN: 51.7102439024,
|
||||
x: 55.638,
|
||||
y: 51.7102439024,
|
||||
size: 163770669.0,
|
||||
shape: 'circle',
|
||||
group: 'Sub-Saharan Africa',
|
||||
},
|
||||
{
|
||||
country_name: 'Ethiopia',
|
||||
region: 'Sub-Saharan Africa',
|
||||
sum__SP_POP_TOTL: 89858696.0,
|
||||
sum__SP_RUR_TOTL_ZS: 82.265,
|
||||
sum__SP_DYN_LE00_IN: 62.2528536585,
|
||||
x: 82.265,
|
||||
y: 62.2528536585,
|
||||
size: 89858696.0,
|
||||
shape: 'circle',
|
||||
group: 'Sub-Saharan Africa',
|
||||
},
|
||||
{
|
||||
country_name: 'Congo, Dem. Rep.',
|
||||
region: 'Sub-Saharan Africa',
|
||||
sum__SP_POP_TOTL: 68087376.0,
|
||||
sum__SP_RUR_TOTL_ZS: 59.558,
|
||||
sum__SP_DYN_LE00_IN: 49.3007073171,
|
||||
x: 59.558,
|
||||
y: 49.3007073171,
|
||||
size: 68087376.0,
|
||||
shape: 'circle',
|
||||
group: 'Sub-Saharan Africa',
|
||||
},
|
||||
{
|
||||
country_name: 'South Africa',
|
||||
region: 'Sub-Saharan Africa',
|
||||
sum__SP_POP_TOTL: 51553479.0,
|
||||
sum__SP_RUR_TOTL_ZS: 37.254,
|
||||
sum__SP_DYN_LE00_IN: 55.2956585366,
|
||||
x: 37.254,
|
||||
y: 55.2956585366,
|
||||
size: 51553479.0,
|
||||
shape: 'circle',
|
||||
group: 'Sub-Saharan Africa',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'Europe & Central Asia',
|
||||
values: [
|
||||
{
|
||||
country_name: 'Russian Federation',
|
||||
region: 'Europe & Central Asia',
|
||||
sum__SP_POP_TOTL: 142960868.0,
|
||||
sum__SP_RUR_TOTL_ZS: 26.268,
|
||||
sum__SP_DYN_LE00_IN: 69.6585365854,
|
||||
x: 26.268,
|
||||
y: 69.6585365854,
|
||||
size: 142960868.0,
|
||||
shape: 'circle',
|
||||
group: 'Europe & Central Asia',
|
||||
},
|
||||
{
|
||||
country_name: 'Germany',
|
||||
region: 'Europe & Central Asia',
|
||||
sum__SP_POP_TOTL: 81797673.0,
|
||||
sum__SP_RUR_TOTL_ZS: 25.512,
|
||||
sum__SP_DYN_LE00_IN: 80.7414634146,
|
||||
x: 25.512,
|
||||
y: 80.7414634146,
|
||||
size: 81797673.0,
|
||||
shape: 'circle',
|
||||
group: 'Europe & Central Asia',
|
||||
},
|
||||
{
|
||||
country_name: 'Turkey',
|
||||
region: 'Europe & Central Asia',
|
||||
sum__SP_POP_TOTL: 73199372.0,
|
||||
sum__SP_RUR_TOTL_ZS: 28.718,
|
||||
sum__SP_DYN_LE00_IN: 74.5404878049,
|
||||
x: 28.718,
|
||||
y: 74.5404878049,
|
||||
size: 73199372.0,
|
||||
shape: 'circle',
|
||||
group: 'Europe & Central Asia',
|
||||
},
|
||||
{
|
||||
country_name: 'France',
|
||||
region: 'Europe & Central Asia',
|
||||
sum__SP_POP_TOTL: 65342776.0,
|
||||
sum__SP_RUR_TOTL_ZS: 21.416,
|
||||
sum__SP_DYN_LE00_IN: 82.1146341463,
|
||||
x: 21.416,
|
||||
y: 82.1146341463,
|
||||
size: 65342776.0,
|
||||
shape: 'circle',
|
||||
group: 'Europe & Central Asia',
|
||||
},
|
||||
{
|
||||
country_name: 'United Kingdom',
|
||||
region: 'Europe & Central Asia',
|
||||
sum__SP_POP_TOTL: 63258918.0,
|
||||
sum__SP_RUR_TOTL_ZS: 18.43,
|
||||
sum__SP_DYN_LE00_IN: 80.9512195122,
|
||||
x: 18.43,
|
||||
y: 80.9512195122,
|
||||
size: 63258918.0,
|
||||
shape: 'circle',
|
||||
group: 'Europe & Central Asia',
|
||||
},
|
||||
{
|
||||
country_name: 'Italy',
|
||||
region: 'Europe & Central Asia',
|
||||
sum__SP_POP_TOTL: 59379449.0,
|
||||
sum__SP_RUR_TOTL_ZS: 31.556,
|
||||
sum__SP_DYN_LE00_IN: 82.187804878,
|
||||
x: 31.556,
|
||||
y: 82.187804878,
|
||||
size: 59379449.0,
|
||||
shape: 'circle',
|
||||
group: 'Europe & Central Asia',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'Middle East & North Africa',
|
||||
values: [
|
||||
{
|
||||
country_name: 'Egypt, Arab Rep.',
|
||||
region: 'Middle East & North Africa',
|
||||
sum__SP_POP_TOTL: 83787634.0,
|
||||
sum__SP_RUR_TOTL_ZS: 57.0,
|
||||
sum__SP_DYN_LE00_IN: 70.6785609756,
|
||||
x: 57.0,
|
||||
y: 70.6785609756,
|
||||
size: 83787634.0,
|
||||
shape: 'circle',
|
||||
group: 'Middle East & North Africa',
|
||||
},
|
||||
{
|
||||
country_name: 'Iran, Islamic Rep.',
|
||||
region: 'Middle East & North Africa',
|
||||
sum__SP_POP_TOTL: 75184322.0,
|
||||
sum__SP_RUR_TOTL_ZS: 28.8,
|
||||
sum__SP_DYN_LE00_IN: 73.4493170732,
|
||||
x: 28.8,
|
||||
y: 73.4493170732,
|
||||
size: 75184322.0,
|
||||
shape: 'circle',
|
||||
group: 'Middle East & North Africa',
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
|
@ -1,75 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
/* eslint-disable no-magic-numbers, sort-keys */
|
||||
import * as React from 'react';
|
||||
import { SuperChart } from '@superset-ui/core';
|
||||
import { radios } from '@storybook/addon-knobs';
|
||||
import data from '../data/data';
|
||||
import { SCATTER_PLOT_PLUGIN_TYPE } from '../constants';
|
||||
import dummyDatasource from '../../../../../shared/dummyDatasource';
|
||||
|
||||
export default () => (
|
||||
<SuperChart
|
||||
key="scatter-plot1"
|
||||
chartType={SCATTER_PLOT_PLUGIN_TYPE}
|
||||
width={400}
|
||||
height={400}
|
||||
datasource={dummyDatasource}
|
||||
queriesData={[{ data }]}
|
||||
formData={{
|
||||
encoding: {
|
||||
x: {
|
||||
field: 'sum__SP_RUR_TOTL_ZS',
|
||||
type: 'quantitative',
|
||||
scale: {
|
||||
type: 'linear',
|
||||
},
|
||||
axis: {
|
||||
orient: radios(
|
||||
'x.axis.orient',
|
||||
{ top: 'top', bottom: 'bottom' },
|
||||
'bottom',
|
||||
),
|
||||
},
|
||||
},
|
||||
y: {
|
||||
field: 'sum__SP_DYN_LE00_IN',
|
||||
type: 'quantitative',
|
||||
scale: {
|
||||
type: 'linear',
|
||||
},
|
||||
axis: {
|
||||
orient: radios(
|
||||
'y.axis.orient',
|
||||
{ left: 'left', right: 'right' },
|
||||
'left',
|
||||
),
|
||||
},
|
||||
},
|
||||
fill: {
|
||||
field: 'region',
|
||||
type: 'nominal',
|
||||
legend: true,
|
||||
},
|
||||
group: [{ field: 'country_name', title: 'Country' }],
|
||||
},
|
||||
}}
|
||||
/>
|
||||
);
|
|
@ -1,83 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
/* eslint-disable no-magic-numbers, sort-keys */
|
||||
import * as React from 'react';
|
||||
import { SuperChart } from '@superset-ui/core';
|
||||
import { radios } from '@storybook/addon-knobs';
|
||||
import dummyDatasource from '../../../../../shared/dummyDatasource';
|
||||
import data from '../data/data';
|
||||
import { SCATTER_PLOT_PLUGIN_TYPE } from '../constants';
|
||||
|
||||
export default () => (
|
||||
<SuperChart
|
||||
key="scatter-plot1"
|
||||
chartType={SCATTER_PLOT_PLUGIN_TYPE}
|
||||
width={400}
|
||||
height={400}
|
||||
datasource={dummyDatasource}
|
||||
queriesData={[{ data }]}
|
||||
formData={{
|
||||
encoding: {
|
||||
x: {
|
||||
field: 'sum__SP_RUR_TOTL_ZS',
|
||||
type: 'quantitative',
|
||||
scale: {
|
||||
type: 'linear',
|
||||
},
|
||||
axis: {
|
||||
orient: radios(
|
||||
'x.axis.orient',
|
||||
{ top: 'top', bottom: 'bottom' },
|
||||
'bottom',
|
||||
),
|
||||
},
|
||||
},
|
||||
y: {
|
||||
field: 'sum__SP_DYN_LE00_IN',
|
||||
type: 'quantitative',
|
||||
scale: {
|
||||
type: 'linear',
|
||||
},
|
||||
axis: {
|
||||
orient: radios(
|
||||
'y.axis.orient',
|
||||
{ left: 'left', right: 'right' },
|
||||
'left',
|
||||
),
|
||||
},
|
||||
},
|
||||
size: {
|
||||
field: 'sum__SP_POP_TOTL',
|
||||
type: 'quantitative',
|
||||
scale: {
|
||||
type: 'linear',
|
||||
range: [0, 30],
|
||||
},
|
||||
},
|
||||
fill: {
|
||||
field: 'region',
|
||||
type: 'nominal',
|
||||
legend: true,
|
||||
},
|
||||
group: [{ field: 'country_name', title: 'Country' }],
|
||||
},
|
||||
}}
|
||||
/>
|
||||
);
|
|
@ -1,58 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import * as React from 'react';
|
||||
import { SuperChart } from '@superset-ui/core';
|
||||
import data from '../data/legacyData';
|
||||
import { SCATTER_PLOT_PLUGIN_LEGACY_TYPE } from '../constants';
|
||||
import dummyDatasource from '../../../../../shared/dummyDatasource';
|
||||
|
||||
export default () => (
|
||||
<SuperChart
|
||||
key="scatter-plot1"
|
||||
chartType={SCATTER_PLOT_PLUGIN_LEGACY_TYPE}
|
||||
width={400}
|
||||
height={400}
|
||||
datasource={dummyDatasource}
|
||||
queriesData={[{ data }]}
|
||||
formData={{
|
||||
annotationData: {},
|
||||
bottomMargin: 'auto',
|
||||
colorScheme: 'd3Category10',
|
||||
entity: 'country_name',
|
||||
leftMargin: 'auto',
|
||||
maxBubbleSize: '50',
|
||||
series: 'region',
|
||||
showLegend: true,
|
||||
size: 'sum__SP_POP_TOTL',
|
||||
vizType: 'bubble',
|
||||
x: 'sum__SP_RUR_TOTL_ZS',
|
||||
xAxisFormat: '.3s',
|
||||
xAxisLabel: 'x-axis label test',
|
||||
xAxisShowminmax: false,
|
||||
xLogScale: false,
|
||||
xTicksLayout: 'auto',
|
||||
y: 'sum__SP_DYN_LE00_IN',
|
||||
yAxisFormat: '.3s',
|
||||
yAxisLabel: '',
|
||||
yAxisShowminmax: false,
|
||||
yLogScale: false,
|
||||
}}
|
||||
/>
|
||||
);
|
|
@ -1,27 +0,0 @@
|
|||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
# [0.18.0](https://github.com/apache-superset/superset-ui/compare/v0.17.87...v0.18.0) (2021-08-30)
|
||||
|
||||
**Note:** Version bump only for package @superset-ui/preset-chart-xy
|
|
@ -1,54 +0,0 @@
|
|||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
|
||||
## @superset-ui/preset-chart-xy
|
||||
|
||||
[![Version](https://img.shields.io/npm/v/@superset-ui/preset-chart-xy.svg?style=flat-square)](https://www.npmjs.com/package/@superset-ui/preset-chart-xy)
|
||||
[![David (path)](https://img.shields.io/david/apache-superset/superset-ui-plugins.svg?path=packages%2Fsuperset-ui-preset-chart-xy&style=flat-square)](https://david-dm.org/apache-superset/superset-ui-plugins?path=packages/superset-ui-preset-chart-xy)
|
||||
|
||||
This plugin provides basic charts on cartesian coordinates (Line, Box Plot) for Superset.
|
||||
|
||||
> DISCLAIMER: It is still under heavy development and the APIs are subject to changes.
|
||||
|
||||
### Usage
|
||||
|
||||
Configure `key`, which can be any `string`, and register the plugin. This `key` will be used to
|
||||
lookup this chart throughout the app.
|
||||
|
||||
```js
|
||||
import { BoxPlotChartPlugin } from '@superset-ui/preset-chart-xy';
|
||||
|
||||
new BoxPlotChartPlugin().configure({ key: 'box-plot' }).register();
|
||||
```
|
||||
|
||||
Then use it via `SuperChart`. See
|
||||
[storybook](https://apache-superset.github.io/superset-ui-plugins/?selectedKind=plugin-chart-box-plot)
|
||||
for more details.
|
||||
|
||||
```js
|
||||
<SuperChart
|
||||
chartType="box-plot"
|
||||
width={600}
|
||||
height={600}
|
||||
formData={...}
|
||||
queriesData={[{
|
||||
data: {...},
|
||||
}]}
|
||||
/>
|
||||
```
|
|
@ -1,48 +0,0 @@
|
|||
{
|
||||
"name": "@superset-ui/preset-chart-xy",
|
||||
"version": "0.18.25",
|
||||
"description": "Superset Chart - XY",
|
||||
"sideEffects": [
|
||||
"*.css"
|
||||
],
|
||||
"main": "lib/index.js",
|
||||
"module": "esm/index.js",
|
||||
"files": [
|
||||
"esm",
|
||||
"lib",
|
||||
"types"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/apache/superset.git",
|
||||
"directory": "superset-frontend/packages/preset-chart-xy"
|
||||
},
|
||||
"keywords": [
|
||||
"superset"
|
||||
],
|
||||
"author": "Superset",
|
||||
"license": "Apache-2.0",
|
||||
"bugs": {
|
||||
"url": "https://github.com/apache/superset/issues"
|
||||
},
|
||||
"homepage": "https://github.com/apache/superset/tree/master/superset-frontend/plugins/preset-chart-xy#readme",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"dependencies": {
|
||||
"@data-ui/theme": "^0.0.84",
|
||||
"@data-ui/xy-chart": "^0.0.84",
|
||||
"@vx/axis": "^0.0.198",
|
||||
"@vx/legend": "^0.0.198",
|
||||
"@vx/scale": "^0.0.197",
|
||||
"csstype": "^2.6.3",
|
||||
"encodable": "^0.7.6",
|
||||
"lodash": "^4.17.11",
|
||||
"reselect": "^4.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@superset-ui/chart-controls": "*",
|
||||
"@superset-ui/core": "*",
|
||||
"react": "^16.2"
|
||||
}
|
||||
}
|
|
@ -1,77 +0,0 @@
|
|||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
import { t } from '@superset-ui/core';
|
||||
import { ControlPanelConfig, sections } from '@superset-ui/chart-controls';
|
||||
|
||||
const config: ControlPanelConfig = {
|
||||
controlPanelSections: [
|
||||
sections.legacyRegularTime,
|
||||
{
|
||||
label: t('Query'),
|
||||
expanded: true,
|
||||
controlSetRows: [['metrics'], ['adhoc_filters'], ['groupby'], ['limit']],
|
||||
},
|
||||
{
|
||||
label: t('Chart Options'),
|
||||
expanded: true,
|
||||
controlSetRows: [
|
||||
['color_scheme'],
|
||||
[
|
||||
{
|
||||
name: 'whisker_options',
|
||||
config: {
|
||||
type: 'SelectControl',
|
||||
freeForm: true,
|
||||
label: t('Whisker/outlier options'),
|
||||
default: 'Tukey',
|
||||
description: t(
|
||||
'Determines how whiskers and outliers are calculated.',
|
||||
),
|
||||
choices: [
|
||||
['Tukey', t('Tukey')],
|
||||
['Min/max (no outliers)', t('Min/max (no outliers)')],
|
||||
['2/98 percentiles', t('2/98 percentiles')],
|
||||
['9/91 percentiles', t('9/91 percentiles')],
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'x_ticks_layout',
|
||||
config: {
|
||||
type: 'SelectControl',
|
||||
label: t('X Tick Layout'),
|
||||
choices: [
|
||||
['auto', t('auto')],
|
||||
['flat', t('flat')],
|
||||
['45°', '45°'],
|
||||
['staggered', t('staggered')],
|
||||
],
|
||||
default: 'auto',
|
||||
clearable: false,
|
||||
renderTrigger: true,
|
||||
description: t('The way the ticks are laid out on the X-axis'),
|
||||
},
|
||||
},
|
||||
],
|
||||
],
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export default config;
|
|
@ -1,31 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { t, ChartMetadata } from '@superset-ui/core';
|
||||
import thumbnail from './images/thumbnail.png';
|
||||
|
||||
export default function createMetadata(useLegacyApi = false) {
|
||||
return new ChartMetadata({
|
||||
category: t('Distribution'),
|
||||
description: '',
|
||||
name: t('Box Plot'),
|
||||
thumbnail,
|
||||
useLegacyApi,
|
||||
});
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 10 KiB |
|
@ -1,36 +0,0 @@
|
|||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
import { ChartPlugin } from '@superset-ui/core';
|
||||
import createMetadata from './createMetadata';
|
||||
import transformProps from './transformProps';
|
||||
import controlPanel from './controlPanel';
|
||||
import configureEncodable from '../configureEncodable';
|
||||
|
||||
configureEncodable();
|
||||
|
||||
export default class BoxPlotChartPlugin extends ChartPlugin {
|
||||
constructor() {
|
||||
super({
|
||||
loadChart: () => import('../components/BoxPlot/BoxPlot'),
|
||||
metadata: createMetadata(),
|
||||
transformProps,
|
||||
controlPanel,
|
||||
});
|
||||
}
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
import { ChartPlugin, QueryFormData } from '@superset-ui/core';
|
||||
import createMetadata from '../createMetadata';
|
||||
import transformProps, { LegacyBoxPlotChartProps } from './transformProps';
|
||||
import controlPanel from '../controlPanel';
|
||||
|
||||
export default class BoxPlotChartPlugin extends ChartPlugin<
|
||||
QueryFormData,
|
||||
LegacyBoxPlotChartProps
|
||||
> {
|
||||
constructor() {
|
||||
super({
|
||||
loadChart: () => import('../../components/BoxPlot/BoxPlot'),
|
||||
metadata: createMetadata(true),
|
||||
transformProps,
|
||||
controlPanel,
|
||||
});
|
||||
}
|
||||
}
|
|
@ -1,122 +0,0 @@
|
|||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
import {
|
||||
ChartProps,
|
||||
LegacyQueryData,
|
||||
QueryFormData,
|
||||
QueryFormMetric,
|
||||
} from '@superset-ui/core';
|
||||
import {
|
||||
RawBoxPlotDataRow,
|
||||
BoxPlotDataRow,
|
||||
} from '../../components/BoxPlot/types';
|
||||
|
||||
export type LegacyBoxPlotFormData = {
|
||||
groupby?: QueryFormData['groupby'];
|
||||
metrics?: QueryFormData['metrics'];
|
||||
colorScheme?: string;
|
||||
};
|
||||
|
||||
export type LegacyBoxPlotChartProps = ChartProps & {
|
||||
formData: LegacyBoxPlotFormData;
|
||||
queriesData: (LegacyQueryData & {
|
||||
data?: RawBoxPlotDataRow[];
|
||||
})[];
|
||||
};
|
||||
|
||||
export default function transformProps(chartProps: LegacyBoxPlotChartProps) {
|
||||
const { width, height, datasource, formData, queriesData } = chartProps;
|
||||
const { verboseMap = {} } = datasource;
|
||||
const { colorScheme, groupby = [], metrics = [] } = formData;
|
||||
|
||||
const data = (queriesData[0].data || []).map(({ label, values }) => ({
|
||||
label,
|
||||
min: values.whisker_low,
|
||||
max: values.whisker_high,
|
||||
firstQuartile: values.Q1,
|
||||
median: values.Q2,
|
||||
thirdQuartile: values.Q3,
|
||||
outliers: values.outliers,
|
||||
}));
|
||||
|
||||
const xAxisLabel = groupby.join('/');
|
||||
|
||||
let metric: QueryFormMetric = '';
|
||||
if (Array.isArray(metrics)) {
|
||||
metric = metrics.length > 0 ? metrics[0] : '';
|
||||
} else {
|
||||
metric = metrics;
|
||||
}
|
||||
const yAxisLabel =
|
||||
typeof metric === 'string' ? verboseMap[metric] || metric : metric.label;
|
||||
|
||||
const boxPlotValues = data.reduce((r: number[], e: BoxPlotDataRow) => {
|
||||
r.push(e.min, e.max, ...e.outliers);
|
||||
|
||||
return r;
|
||||
}, []);
|
||||
|
||||
const minBoxPlotValue = Math.min(...boxPlotValues);
|
||||
const maxBoxPlotValue = Math.max(...boxPlotValues);
|
||||
const valueDomain = [
|
||||
minBoxPlotValue - 0.1 * Math.abs(minBoxPlotValue),
|
||||
maxBoxPlotValue + 0.1 * Math.abs(maxBoxPlotValue),
|
||||
];
|
||||
|
||||
return {
|
||||
data,
|
||||
width,
|
||||
height,
|
||||
encoding: {
|
||||
x: {
|
||||
field: 'label',
|
||||
type: 'nominal',
|
||||
scale: {
|
||||
type: 'band',
|
||||
paddingInner: 0.15,
|
||||
paddingOuter: 0.3,
|
||||
},
|
||||
axis: {
|
||||
title: xAxisLabel,
|
||||
},
|
||||
},
|
||||
y: {
|
||||
field: 'value',
|
||||
type: 'quantitative',
|
||||
scale: {
|
||||
type: 'linear',
|
||||
domain: valueDomain,
|
||||
},
|
||||
axis: {
|
||||
title: yAxisLabel,
|
||||
numTicks: 5,
|
||||
format: 'SMART_NUMBER',
|
||||
},
|
||||
},
|
||||
color: {
|
||||
field: 'label',
|
||||
type: 'nominal',
|
||||
scale: {
|
||||
scheme: colorScheme,
|
||||
},
|
||||
legend: false,
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
|
@ -1,90 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { pick } from 'lodash';
|
||||
import { ChartProps } from '@superset-ui/core';
|
||||
import { BoxPlotDataRow, RawBoxPlotDataRow } from '../components/BoxPlot/types';
|
||||
import { HookProps } from '../components/BoxPlot/BoxPlot';
|
||||
import { BoxPlotEncoding } from '../components/BoxPlot/Encoder';
|
||||
|
||||
export default function transformProps(chartProps: ChartProps) {
|
||||
const { width, height, formData, queriesData } = chartProps;
|
||||
const { margin, theme } = formData;
|
||||
const encoding = formData.encoding as BoxPlotEncoding;
|
||||
|
||||
const data = (queriesData[0].data as RawBoxPlotDataRow[]).map(
|
||||
({ label, values }) => ({
|
||||
label,
|
||||
min: values.whisker_low,
|
||||
max: values.whisker_high,
|
||||
firstQuartile: values.Q1,
|
||||
median: values.Q2,
|
||||
thirdQuartile: values.Q3,
|
||||
outliers: values.outliers,
|
||||
}),
|
||||
);
|
||||
|
||||
const isHorizontal = encoding.y.type === 'nominal';
|
||||
|
||||
const boxPlotValues = data.reduce((r: number[], e: BoxPlotDataRow) => {
|
||||
r.push(e.min, e.max, ...e.outliers);
|
||||
|
||||
return r;
|
||||
}, []);
|
||||
|
||||
const minBoxPlotValue = Math.min(...boxPlotValues);
|
||||
const maxBoxPlotValue = Math.max(...boxPlotValues);
|
||||
const valueDomain = [
|
||||
minBoxPlotValue - 0.1 * Math.abs(minBoxPlotValue),
|
||||
maxBoxPlotValue + 0.1 * Math.abs(maxBoxPlotValue),
|
||||
];
|
||||
|
||||
if (isHorizontal) {
|
||||
if (encoding.x.scale) {
|
||||
encoding.x.scale.domain = valueDomain;
|
||||
} else {
|
||||
encoding.x.scale = { domain: valueDomain };
|
||||
}
|
||||
} else if (encoding.y.scale) {
|
||||
encoding.y.scale.domain = valueDomain;
|
||||
} else {
|
||||
encoding.y.scale = { domain: valueDomain };
|
||||
}
|
||||
|
||||
const hooks = chartProps.hooks as HookProps;
|
||||
|
||||
const fieldsFromHooks: (keyof HookProps)[] = [
|
||||
'TooltipRenderer',
|
||||
'LegendRenderer',
|
||||
'LegendGroupRenderer',
|
||||
'LegendItemRenderer',
|
||||
'LegendItemMarkRenderer',
|
||||
'LegendItemLabelRenderer',
|
||||
];
|
||||
|
||||
return {
|
||||
data,
|
||||
width,
|
||||
height,
|
||||
margin,
|
||||
theme,
|
||||
encoding,
|
||||
...pick(hooks, fieldsFromHooks),
|
||||
};
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { QueryFormData } from '@superset-ui/core';
|
||||
import { FormDataProps } from '../components/Line/Line';
|
||||
|
||||
type CombinedFormData = QueryFormData & FormDataProps;
|
||||
|
||||
// eslint-disable-next-line no-undef
|
||||
export default CombinedFormData;
|
|
@ -1,37 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { buildQueryContext } from '@superset-ui/core';
|
||||
import ChartFormData from './ChartFormData';
|
||||
import { lineEncoderFactory } from '../components/Line/Encoder';
|
||||
|
||||
export default function buildQuery(formData: ChartFormData) {
|
||||
const queryContext = buildQueryContext(formData);
|
||||
const { encoding } = formData;
|
||||
const encoder = lineEncoderFactory.create(encoding);
|
||||
|
||||
queryContext.queries.forEach(query => {
|
||||
const q = query;
|
||||
q.groupby = encoder.getGroupBys();
|
||||
// Enforce time-series mode
|
||||
q.is_timeseries = true;
|
||||
});
|
||||
|
||||
return queryContext;
|
||||
}
|
|
@ -1,30 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { t, ChartMetadata } from '@superset-ui/core';
|
||||
import thumbnail from './images/thumbnail.png';
|
||||
|
||||
export default function createMetadata(useLegacyApi = false) {
|
||||
return new ChartMetadata({
|
||||
description: '',
|
||||
name: t('Line Chart'),
|
||||
thumbnail,
|
||||
useLegacyApi,
|
||||
});
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 9.3 KiB |
Binary file not shown.
Before Width: | Height: | Size: 9.3 KiB |
|
@ -1,35 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { ChartPlugin } from '@superset-ui/core';
|
||||
import transformProps from './transformProps';
|
||||
import createMetadata from './createMetadata';
|
||||
import buildQuery from './buildQuery';
|
||||
import ChartFormData from './ChartFormData';
|
||||
|
||||
export default class LineChartPlugin extends ChartPlugin<ChartFormData> {
|
||||
constructor() {
|
||||
super({
|
||||
buildQuery,
|
||||
loadChart: () => import('../components/Line/Line'),
|
||||
metadata: createMetadata(),
|
||||
transformProps,
|
||||
});
|
||||
}
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { ChartPlugin } from '@superset-ui/core';
|
||||
import transformProps from './transformProps';
|
||||
import createMetadata from '../createMetadata';
|
||||
|
||||
export default class LineChartPlugin extends ChartPlugin {
|
||||
constructor() {
|
||||
super({
|
||||
loadChart: () => import('../../components/Line/Line'),
|
||||
metadata: createMetadata(true),
|
||||
transformProps,
|
||||
});
|
||||
}
|
||||
}
|
|
@ -1,83 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { ChartProps } from '@superset-ui/core';
|
||||
import { flatMap } from 'lodash';
|
||||
|
||||
interface DataRow {
|
||||
key: string[];
|
||||
values: {
|
||||
x: number;
|
||||
y: number;
|
||||
}[];
|
||||
}
|
||||
|
||||
export default function transformProps(chartProps: ChartProps) {
|
||||
const { width, height, formData, queriesData } = chartProps;
|
||||
const { colorScheme, xAxisLabel, xAxisFormat, yAxisLabel, yAxisFormat } =
|
||||
formData;
|
||||
const data = queriesData[0].data as DataRow[];
|
||||
|
||||
return {
|
||||
data: flatMap(
|
||||
data.map((row: DataRow) =>
|
||||
row.values.map(v => ({
|
||||
...v,
|
||||
name: row.key[0],
|
||||
})),
|
||||
),
|
||||
),
|
||||
width,
|
||||
height,
|
||||
encoding: {
|
||||
x: {
|
||||
field: 'x',
|
||||
type: 'temporal',
|
||||
format: xAxisFormat,
|
||||
scale: {
|
||||
type: 'time',
|
||||
},
|
||||
axis: {
|
||||
orient: 'bottom',
|
||||
title: xAxisLabel,
|
||||
},
|
||||
},
|
||||
y: {
|
||||
field: 'y',
|
||||
type: 'quantitative',
|
||||
format: yAxisFormat,
|
||||
scale: {
|
||||
type: 'linear',
|
||||
},
|
||||
axis: {
|
||||
orient: 'left',
|
||||
title: yAxisLabel,
|
||||
},
|
||||
},
|
||||
stroke: {
|
||||
field: 'name',
|
||||
type: 'nominal',
|
||||
scale: {
|
||||
scheme: colorScheme,
|
||||
},
|
||||
legend: true,
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
|
@ -1,56 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { pick } from 'lodash';
|
||||
import { ChartProps } from '@superset-ui/core';
|
||||
import { HookProps, FormDataProps } from '../components/Line/Line';
|
||||
|
||||
export default function transformProps(chartProps: ChartProps) {
|
||||
const { width, height, queriesData } = chartProps;
|
||||
const { data } = queriesData[0];
|
||||
const formData = chartProps.formData as FormDataProps;
|
||||
const hooks = chartProps.hooks as HookProps;
|
||||
|
||||
/**
|
||||
* Use type-check to make sure the field names are expected ones
|
||||
* and only pick these fields to pass to the chart.
|
||||
*/
|
||||
const fieldsFromFormData: (keyof FormDataProps)[] = [
|
||||
'encoding',
|
||||
'margin',
|
||||
'theme',
|
||||
];
|
||||
|
||||
const fieldsFromHooks: (keyof HookProps)[] = [
|
||||
'TooltipRenderer',
|
||||
'LegendRenderer',
|
||||
'LegendGroupRenderer',
|
||||
'LegendItemRenderer',
|
||||
'LegendItemMarkRenderer',
|
||||
'LegendItemLabelRenderer',
|
||||
];
|
||||
|
||||
return {
|
||||
data,
|
||||
width,
|
||||
height,
|
||||
...pick(formData, fieldsFromFormData),
|
||||
...pick(hooks, fieldsFromHooks),
|
||||
};
|
||||
}
|
|
@ -1,30 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { t, ChartMetadata } from '@superset-ui/core';
|
||||
import thumbnail from './images/thumbnail.png';
|
||||
|
||||
export default function createMetadata(useLegacyApi = false) {
|
||||
return new ChartMetadata({
|
||||
description: '',
|
||||
name: t('Scatter Plot'),
|
||||
thumbnail,
|
||||
useLegacyApi,
|
||||
});
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 7.2 KiB |
|
@ -1,32 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { ChartPlugin } from '@superset-ui/core';
|
||||
import createMetadata from './createMetadata';
|
||||
import transformProps from './transformProps';
|
||||
|
||||
export default class LineChartPlugin extends ChartPlugin {
|
||||
constructor() {
|
||||
super({
|
||||
loadChart: () => import('../components/ScatterPlot/ScatterPlot'),
|
||||
metadata: createMetadata(),
|
||||
transformProps,
|
||||
});
|
||||
}
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { ChartPlugin } from '@superset-ui/core';
|
||||
import createMetadata from '../createMetadata';
|
||||
import transformProps from './transformProps';
|
||||
|
||||
export default class LineChartPlugin extends ChartPlugin {
|
||||
constructor() {
|
||||
super({
|
||||
loadChart: () => import('../../components/ScatterPlot/ScatterPlot'),
|
||||
metadata: createMetadata(true),
|
||||
transformProps,
|
||||
});
|
||||
}
|
||||
}
|
|
@ -1,116 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { ChartProps } from '@superset-ui/core';
|
||||
import { flatMap } from 'lodash';
|
||||
|
||||
interface Value {
|
||||
[key: string]: unknown;
|
||||
}
|
||||
|
||||
type Key = keyof Value;
|
||||
|
||||
interface DataRow {
|
||||
key: string[];
|
||||
values: Value[];
|
||||
}
|
||||
|
||||
export default function transformProps(chartProps: ChartProps) {
|
||||
const { width, height, formData, queriesData } = chartProps;
|
||||
const {
|
||||
colorScheme,
|
||||
maxBubbleSize,
|
||||
showLegend,
|
||||
xAxisFormat,
|
||||
xAxisLabel,
|
||||
// TODO: These fields are not supported yet
|
||||
// xAxisShowminmax,
|
||||
// xLogScale,
|
||||
yAxisLabel,
|
||||
yAxisFormat,
|
||||
// TODO: These fields are not supported yet
|
||||
// yAxisShowminmax,
|
||||
// yLogScale,
|
||||
} = formData;
|
||||
const x = formData.x as Key;
|
||||
const y = formData.y as Key;
|
||||
const series = formData.series as Key;
|
||||
const size = formData.size as Key;
|
||||
const entity = formData.entity as Key;
|
||||
const data = queriesData[0].data as DataRow[];
|
||||
|
||||
return {
|
||||
data: flatMap(
|
||||
data.map((row: DataRow) =>
|
||||
row.values.map(v => ({
|
||||
[x]: v[x],
|
||||
[y]: v[y],
|
||||
[series]: v[series],
|
||||
[size]: v[size],
|
||||
[entity]: v[entity],
|
||||
})),
|
||||
),
|
||||
),
|
||||
width,
|
||||
height,
|
||||
encoding: {
|
||||
x: {
|
||||
field: x,
|
||||
type: 'quantitive',
|
||||
format: xAxisFormat,
|
||||
scale: {
|
||||
type: 'linear',
|
||||
},
|
||||
axis: {
|
||||
orient: 'bottom',
|
||||
title: xAxisLabel,
|
||||
},
|
||||
},
|
||||
y: {
|
||||
field: y,
|
||||
type: 'quantitative',
|
||||
format: yAxisFormat,
|
||||
scale: {
|
||||
type: 'linear',
|
||||
},
|
||||
axis: {
|
||||
orient: 'left',
|
||||
title: yAxisLabel,
|
||||
},
|
||||
},
|
||||
size: {
|
||||
field: size,
|
||||
type: 'quantitative',
|
||||
scale: {
|
||||
type: 'linear',
|
||||
range: [0, maxBubbleSize],
|
||||
},
|
||||
},
|
||||
fill: {
|
||||
field: series,
|
||||
type: 'nominal',
|
||||
scale: {
|
||||
scheme: colorScheme,
|
||||
},
|
||||
legend: showLegend,
|
||||
},
|
||||
group: [{ field: entity }],
|
||||
},
|
||||
};
|
||||
}
|
|
@ -1,48 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { pick } from 'lodash';
|
||||
import { ChartProps } from '@superset-ui/core';
|
||||
import { HookProps } from '../components/ScatterPlot/ScatterPlot';
|
||||
|
||||
export default function transformProps(chartProps: ChartProps) {
|
||||
const { width, height, formData, queriesData } = chartProps;
|
||||
const { encoding, margin, theme } = formData;
|
||||
const { data } = queriesData[0];
|
||||
const hooks = chartProps.hooks as HookProps;
|
||||
|
||||
const fieldsFromHooks: (keyof HookProps)[] = [
|
||||
'TooltipRenderer',
|
||||
'LegendRenderer',
|
||||
'LegendGroupRenderer',
|
||||
'LegendItemRenderer',
|
||||
'LegendItemMarkRenderer',
|
||||
'LegendItemLabelRenderer',
|
||||
];
|
||||
|
||||
return {
|
||||
data,
|
||||
width,
|
||||
height,
|
||||
encoding,
|
||||
margin,
|
||||
theme,
|
||||
...pick(hooks, fieldsFromHooks),
|
||||
};
|
||||
}
|
|
@ -1,169 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { BoxPlotSeries, XYChart } from '@data-ui/xy-chart';
|
||||
import { chartTheme, ChartTheme } from '@data-ui/theme';
|
||||
import { WithLegend, Margin, Dimension } from '@superset-ui/core';
|
||||
import { Dataset, PlainObject, isFieldDef } from 'encodable';
|
||||
import DefaultTooltipRenderer from './DefaultTooltipRenderer';
|
||||
import {
|
||||
BoxPlotEncodingConfig,
|
||||
BoxPlotEncoding,
|
||||
BoxPlotEncoder,
|
||||
boxPlotEncoderFactory,
|
||||
} from './Encoder';
|
||||
import createMarginSelector, {
|
||||
DEFAULT_MARGIN,
|
||||
} from '../../utils/createMarginSelector';
|
||||
import { BoxPlotDataRow } from './types';
|
||||
import convertScaleToDataUIScale from '../../utils/convertScaleToDataUIScaleShape';
|
||||
import createXYChartLayoutWithTheme from '../../utils/createXYChartLayoutWithTheme';
|
||||
import createRenderLegend from '../legend/createRenderLegend';
|
||||
import { LegendHooks } from '../legend/types';
|
||||
|
||||
export interface TooltipProps {
|
||||
datum: BoxPlotDataRow;
|
||||
color: string;
|
||||
encoder: BoxPlotEncoder;
|
||||
}
|
||||
|
||||
const defaultProps = {
|
||||
className: '',
|
||||
margin: DEFAULT_MARGIN,
|
||||
encoding: {},
|
||||
theme: chartTheme,
|
||||
TooltipRenderer: DefaultTooltipRenderer,
|
||||
} as const;
|
||||
|
||||
export type HookProps = {
|
||||
TooltipRenderer?: React.ComponentType<TooltipProps>;
|
||||
} & LegendHooks<BoxPlotEncodingConfig>;
|
||||
|
||||
type Props = {
|
||||
className?: string;
|
||||
width: string | number;
|
||||
height: string | number;
|
||||
margin?: Margin;
|
||||
encoding?: Partial<BoxPlotEncoding>;
|
||||
data: Dataset;
|
||||
theme?: ChartTheme;
|
||||
} & HookProps &
|
||||
Readonly<typeof defaultProps>;
|
||||
|
||||
export default class BoxPlot extends React.PureComponent<Props> {
|
||||
private createEncoder = boxPlotEncoderFactory(
|
||||
this.props.theme?.colors.darkGray,
|
||||
).createSelector();
|
||||
|
||||
private createMargin = createMarginSelector();
|
||||
|
||||
static defaultProps = defaultProps;
|
||||
|
||||
renderChart = (dim: Dimension) => {
|
||||
const { width, height } = dim;
|
||||
const { data, margin, theme, TooltipRenderer, encoding } = this.props;
|
||||
const encoder = this.createEncoder(encoding);
|
||||
const { channels } = encoder;
|
||||
|
||||
const isHorizontal =
|
||||
isFieldDef(channels.y.definition) &&
|
||||
channels.y.definition.type === 'nominal';
|
||||
|
||||
encoder.setDomainFromDataset(data);
|
||||
|
||||
const layout = createXYChartLayoutWithTheme({
|
||||
width,
|
||||
height,
|
||||
margin: this.createMargin(margin),
|
||||
theme,
|
||||
xEncoder: channels.x,
|
||||
yEncoder: channels.y,
|
||||
});
|
||||
|
||||
return layout.renderChartWithFrame((chartDim: Dimension) => (
|
||||
<XYChart
|
||||
showYGrid
|
||||
width={chartDim.width}
|
||||
height={chartDim.height}
|
||||
ariaLabel="BoxPlot"
|
||||
margin={layout.margin}
|
||||
renderTooltip={({
|
||||
datum,
|
||||
color,
|
||||
}: {
|
||||
datum: BoxPlotDataRow;
|
||||
color: string;
|
||||
}) => <TooltipRenderer datum={datum} color={color} encoder={encoder} />}
|
||||
theme={theme}
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
xScale={convertScaleToDataUIScale(channels.x.definition.scale as any)}
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
yScale={convertScaleToDataUIScale(channels.y.definition.scale as any)}
|
||||
>
|
||||
{layout.renderXAxis()}
|
||||
{layout.renderYAxis()}
|
||||
<BoxPlotSeries
|
||||
key={
|
||||
isFieldDef(channels.x.definition) ? channels.x.definition.field : ''
|
||||
}
|
||||
animated
|
||||
data={
|
||||
isHorizontal
|
||||
? data.map(row => ({
|
||||
...row,
|
||||
y: channels.y.getValueFromDatum(row),
|
||||
}))
|
||||
: data.map(row => ({
|
||||
...row,
|
||||
x: channels.x.getValueFromDatum(row),
|
||||
}))
|
||||
}
|
||||
fill={(datum: PlainObject) =>
|
||||
channels.color.encodeDatum(datum, '#55acee')
|
||||
}
|
||||
fillOpacity={0.4}
|
||||
stroke={(datum: PlainObject) => channels.color.encodeDatum(datum)}
|
||||
strokeWidth={1}
|
||||
widthRatio={0.6}
|
||||
horizontal={isHorizontal}
|
||||
/>
|
||||
</XYChart>
|
||||
));
|
||||
};
|
||||
|
||||
render() {
|
||||
const { className, data, encoding, width, height } = this.props;
|
||||
|
||||
return (
|
||||
<WithLegend
|
||||
className={`superset-chart-box-plot ${className}`}
|
||||
width={width}
|
||||
height={height}
|
||||
position="top"
|
||||
renderLegend={createRenderLegend(
|
||||
this.createEncoder(encoding),
|
||||
data,
|
||||
this.props,
|
||||
)}
|
||||
renderChart={this.renderChart}
|
||||
/>
|
||||
);
|
||||
}
|
||||
}
|
|
@ -1,69 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { isDefined, TooltipFrame, TooltipTable } from '@superset-ui/core';
|
||||
import { BoxPlotEncoder } from './Encoder';
|
||||
import { BoxPlotDataRow } from './types';
|
||||
|
||||
export default function DefaultTooltipRenderer({
|
||||
datum,
|
||||
color,
|
||||
encoder,
|
||||
}: {
|
||||
datum: BoxPlotDataRow;
|
||||
color: string;
|
||||
encoder: BoxPlotEncoder;
|
||||
}) {
|
||||
const { label, min, max, median, firstQuartile, thirdQuartile, outliers } =
|
||||
datum;
|
||||
const { channels } = encoder;
|
||||
|
||||
const { formatValue } = channels.y;
|
||||
|
||||
const data: { key: string; valueColumn: number | string }[] = [];
|
||||
if (isDefined(min)) {
|
||||
data.push({ key: 'Min', valueColumn: formatValue(min) });
|
||||
}
|
||||
if (isDefined(max)) {
|
||||
data.push({ key: 'Max', valueColumn: formatValue(max) });
|
||||
}
|
||||
if (isDefined(median)) {
|
||||
data.push({ key: 'Median', valueColumn: formatValue(median) });
|
||||
}
|
||||
if (isDefined(firstQuartile)) {
|
||||
data.push({ key: '1st Quartile', valueColumn: formatValue(firstQuartile) });
|
||||
}
|
||||
if (isDefined(thirdQuartile)) {
|
||||
data.push({ key: '3rd Quartile', valueColumn: formatValue(thirdQuartile) });
|
||||
}
|
||||
if (isDefined(outliers) && outliers.length > 0) {
|
||||
data.push({ key: '# Outliers', valueColumn: outliers.length });
|
||||
}
|
||||
|
||||
return (
|
||||
<TooltipFrame>
|
||||
<div>
|
||||
<strong style={{ color }}>{label}</strong>
|
||||
</div>
|
||||
{data.length > 0 && <br />}
|
||||
<TooltipTable data={data} />
|
||||
</TooltipFrame>
|
||||
);
|
||||
}
|
|
@ -1,44 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { createEncoderFactory, Encoder, DeriveEncoding } from 'encodable';
|
||||
|
||||
export type BoxPlotEncodingConfig = {
|
||||
x: ['XBand', number];
|
||||
y: ['YBand', number];
|
||||
color: ['Color', string];
|
||||
};
|
||||
|
||||
export const boxPlotEncoderFactory = (darkGray: string) =>
|
||||
createEncoderFactory<BoxPlotEncodingConfig>({
|
||||
channelTypes: {
|
||||
x: 'XBand',
|
||||
y: 'YBand',
|
||||
color: 'Color',
|
||||
},
|
||||
defaultEncoding: {
|
||||
x: { field: 'x', type: 'nominal' },
|
||||
y: { field: 'y', type: 'quantitative' },
|
||||
color: { value: darkGray },
|
||||
},
|
||||
});
|
||||
|
||||
export type BoxPlotEncoding = DeriveEncoding<BoxPlotEncodingConfig>;
|
||||
|
||||
export type BoxPlotEncoder = Encoder<BoxPlotEncodingConfig>;
|
|
@ -1,42 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
export interface RawBoxPlotDataRow {
|
||||
label: string;
|
||||
values: {
|
||||
Q1: number;
|
||||
Q2: number;
|
||||
Q3: number;
|
||||
outliers: number[];
|
||||
// eslint-disable-next-line camelcase
|
||||
whisker_high: number;
|
||||
// eslint-disable-next-line camelcase
|
||||
whisker_low: number;
|
||||
};
|
||||
}
|
||||
|
||||
export interface BoxPlotDataRow {
|
||||
label: string;
|
||||
min: number;
|
||||
max: number;
|
||||
firstQuartile: number;
|
||||
median: number;
|
||||
thirdQuartile: number;
|
||||
outliers: number[];
|
||||
}
|
|
@ -1,45 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import React, { CSSProperties } from 'react';
|
||||
import { LegendItemMarkRendererProps } from '../legend/types';
|
||||
import { LineEncodingConfig } from './Encoder';
|
||||
|
||||
const MARK_WIDTH = 12;
|
||||
const MARK_HEIGHT = 8;
|
||||
|
||||
const MARK_STYLE: CSSProperties = { display: 'inline-block' };
|
||||
|
||||
export default function DefaultLegendItemMarkRenderer({
|
||||
item,
|
||||
}: LegendItemMarkRendererProps<LineEncodingConfig>) {
|
||||
return (
|
||||
<svg width={MARK_WIDTH} height={MARK_HEIGHT} style={MARK_STYLE}>
|
||||
<line
|
||||
stroke={item.output.stroke ?? 'none'}
|
||||
strokeWidth={item.output.strokeWidth ?? 2}
|
||||
strokeDasharray={item.output.strokeDasharray ?? 'none'}
|
||||
x1={0}
|
||||
x2={MARK_WIDTH}
|
||||
y1={MARK_HEIGHT / 2}
|
||||
y2={MARK_HEIGHT / 2}
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
}
|
|
@ -1,71 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { TooltipFrame, TooltipTable } from '@superset-ui/core';
|
||||
import { chartTheme } from '@data-ui/theme';
|
||||
import { TooltipProps } from './Line';
|
||||
|
||||
const MARK_STYLE = { marginRight: 4 };
|
||||
|
||||
export default function DefaultTooltipRenderer({
|
||||
allSeries,
|
||||
datum,
|
||||
encoder,
|
||||
series = {},
|
||||
theme = chartTheme,
|
||||
}: TooltipProps) {
|
||||
return (
|
||||
<TooltipFrame>
|
||||
<>
|
||||
<div style={{ fontFamily: theme.labelStyles.fontFamily }}>
|
||||
<strong>{encoder.channels.x.formatValue(datum.x)}</strong>
|
||||
</div>
|
||||
<br />
|
||||
{series && (
|
||||
<TooltipTable
|
||||
data={allSeries
|
||||
.filter(({ key }) => series[key])
|
||||
.concat()
|
||||
.sort((a, b) => series[b.key].y - series[a.key].y)
|
||||
.map(({ key, stroke, strokeDasharray, strokeWidth }) => ({
|
||||
key,
|
||||
keyColumn: (
|
||||
<>
|
||||
<svg width="12" height="8" style={MARK_STYLE}>
|
||||
<line
|
||||
x2="12"
|
||||
y1="3"
|
||||
y2="3"
|
||||
stroke={stroke}
|
||||
strokeWidth={strokeWidth}
|
||||
strokeDasharray={strokeDasharray}
|
||||
/>
|
||||
</svg>
|
||||
{series[key] === datum ? <b>{key}</b> : key}
|
||||
</>
|
||||
),
|
||||
valueColumn: encoder.channels.y.formatValue(series[key].y),
|
||||
}))}
|
||||
/>
|
||||
)}
|
||||
</>
|
||||
</TooltipFrame>
|
||||
);
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import Encoder from 'encodable/lib/encoders/Encoder';
|
||||
import createEncoderFactory from 'encodable/lib/encoders/createEncoderFactory';
|
||||
import {
|
||||
DeriveEncoding,
|
||||
DeriveChannelOutputs,
|
||||
} from 'encodable/lib/types/Encoding';
|
||||
|
||||
export type LineEncodingConfig = {
|
||||
x: ['X', number];
|
||||
y: ['Y', number];
|
||||
fill: ['Category', boolean];
|
||||
stroke: ['Color', string];
|
||||
strokeDasharray: ['Category', string];
|
||||
strokeWidth: ['Numeric', number];
|
||||
};
|
||||
|
||||
export const lineEncoderFactory = createEncoderFactory<LineEncodingConfig>({
|
||||
channelTypes: {
|
||||
x: 'X',
|
||||
y: 'Y',
|
||||
fill: 'Category',
|
||||
stroke: 'Color',
|
||||
strokeDasharray: 'Category',
|
||||
strokeWidth: 'Numeric',
|
||||
},
|
||||
defaultEncoding: {
|
||||
x: { field: 'x', type: 'quantitative' },
|
||||
y: { field: 'y', type: 'quantitative' },
|
||||
fill: { value: false, legend: false },
|
||||
stroke: { value: '#222' }, // eslint-disable-line theme-colors/no-literal-colors
|
||||
strokeDasharray: { value: '' },
|
||||
strokeWidth: { value: 1 },
|
||||
},
|
||||
});
|
||||
|
||||
export type LineEncoding = DeriveEncoding<LineEncodingConfig>;
|
||||
|
||||
export type LineEncoder = Encoder<LineEncodingConfig>;
|
||||
|
||||
export type LineChannelOutputs = DeriveChannelOutputs<LineEncodingConfig>;
|
|
@ -1,325 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import React, { PureComponent } from 'react';
|
||||
import { kebabCase, groupBy, flatMap, uniqueId, values } from 'lodash';
|
||||
import {
|
||||
AreaSeries,
|
||||
LinearGradient,
|
||||
LineSeries,
|
||||
XYChart,
|
||||
CrossHair,
|
||||
WithTooltip,
|
||||
} from '@data-ui/xy-chart';
|
||||
import { chartTheme } from '@data-ui/theme';
|
||||
import { WithLegend, Margin, Dimension } from '@superset-ui/core';
|
||||
import { createSelector } from 'reselect';
|
||||
import { Dataset, PlainObject } from 'encodable';
|
||||
import DefaultTooltipRenderer from './DefaultTooltipRenderer';
|
||||
import createMarginSelector, {
|
||||
DEFAULT_MARGIN,
|
||||
} from '../../utils/createMarginSelector';
|
||||
import convertScaleToDataUIScale from '../../utils/convertScaleToDataUIScaleShape';
|
||||
import createXYChartLayoutWithTheme from '../../utils/createXYChartLayoutWithTheme';
|
||||
import createRenderLegend from '../legend/createRenderLegend';
|
||||
import { LegendHooks } from '../legend/types';
|
||||
import {
|
||||
lineEncoderFactory,
|
||||
LineEncoder,
|
||||
LineEncoding,
|
||||
LineEncodingConfig,
|
||||
LineChannelOutputs,
|
||||
} from './Encoder';
|
||||
import DefaultLegendItemMarkRenderer from './DefaultLegendItemMarkRenderer';
|
||||
|
||||
export interface TooltipProps {
|
||||
encoder: LineEncoder;
|
||||
allSeries: Series[];
|
||||
datum: SeriesValue;
|
||||
series: {
|
||||
[key: string]: SeriesValue;
|
||||
};
|
||||
theme: typeof chartTheme;
|
||||
}
|
||||
|
||||
const defaultProps = {
|
||||
className: '',
|
||||
encoding: {},
|
||||
LegendItemMarkRenderer: DefaultLegendItemMarkRenderer,
|
||||
margin: DEFAULT_MARGIN,
|
||||
theme: chartTheme,
|
||||
TooltipRenderer: DefaultTooltipRenderer,
|
||||
};
|
||||
|
||||
/** Part of formData that is needed for rendering logic in this file */
|
||||
export type FormDataProps = {
|
||||
margin?: Margin;
|
||||
theme?: typeof chartTheme;
|
||||
encoding?: Partial<LineEncoding>;
|
||||
};
|
||||
|
||||
export type HookProps = {
|
||||
TooltipRenderer?: React.ComponentType<TooltipProps>;
|
||||
} & LegendHooks<LineEncodingConfig>;
|
||||
|
||||
type Props = {
|
||||
className?: string;
|
||||
width: string | number;
|
||||
height: string | number;
|
||||
data: Dataset;
|
||||
} & HookProps &
|
||||
FormDataProps &
|
||||
Readonly<typeof defaultProps>;
|
||||
|
||||
export interface Series {
|
||||
key: string;
|
||||
fill: LineChannelOutputs['fill'];
|
||||
stroke: LineChannelOutputs['stroke'];
|
||||
strokeDasharray: LineChannelOutputs['strokeDasharray'];
|
||||
strokeWidth: LineChannelOutputs['strokeWidth'];
|
||||
values: SeriesValue[];
|
||||
}
|
||||
|
||||
export interface SeriesValue {
|
||||
x: number | Date;
|
||||
y: number;
|
||||
data: PlainObject;
|
||||
parent: Series;
|
||||
}
|
||||
|
||||
const CIRCLE_STYLE = { strokeWidth: 1.5 };
|
||||
|
||||
export default class LineChart extends PureComponent<Props> {
|
||||
private createEncoder = lineEncoderFactory.createSelector() as (
|
||||
encoding: Partial<LineEncoding>,
|
||||
) => LineEncoder;
|
||||
|
||||
private createAllSeries = createSelector(
|
||||
[
|
||||
(input: { encoder: LineEncoder; data: Dataset }) => input.encoder,
|
||||
input => input.data,
|
||||
],
|
||||
(encoder, data) => {
|
||||
const { channels } = encoder;
|
||||
const fieldNames = encoder.getGroupBys();
|
||||
|
||||
const groups = groupBy(data, row =>
|
||||
fieldNames.map(f => `${f}=${row[f]}`).join(','),
|
||||
);
|
||||
|
||||
const allSeries = values(groups).map(seriesData => {
|
||||
const firstDatum = seriesData[0];
|
||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
||||
const key = fieldNames.map(f => firstDatum[f]).join(',');
|
||||
const series: Series = {
|
||||
key: key.length === 0 ? channels.y.getTitle() : key,
|
||||
fill: channels.fill.encodeDatum(firstDatum, false),
|
||||
stroke: channels.stroke.encodeDatum(firstDatum, '#222'),
|
||||
strokeDasharray: channels.strokeDasharray.encodeDatum(firstDatum, ''),
|
||||
strokeWidth: channels.strokeWidth.encodeDatum(firstDatum, 1),
|
||||
values: [],
|
||||
};
|
||||
|
||||
series.values = seriesData
|
||||
.map(v => ({
|
||||
x: channels.x.getValueFromDatum<Date | number>(v),
|
||||
y: channels.y.getValueFromDatum<number>(v),
|
||||
data: v,
|
||||
parent: series,
|
||||
}))
|
||||
.sort((a: SeriesValue, b: SeriesValue) => {
|
||||
const aTime = a.x instanceof Date ? a.x.getTime() : a.x;
|
||||
const bTime = b.x instanceof Date ? b.x.getTime() : b.x;
|
||||
|
||||
return aTime - bTime;
|
||||
});
|
||||
|
||||
return series;
|
||||
});
|
||||
|
||||
return allSeries;
|
||||
},
|
||||
);
|
||||
|
||||
private createMargin = createMarginSelector();
|
||||
|
||||
static defaultProps = defaultProps;
|
||||
|
||||
// eslint-disable-next-line class-methods-use-this
|
||||
renderSeries(allSeries: Series[]) {
|
||||
const filledSeries = flatMap(
|
||||
allSeries
|
||||
.filter(({ fill }) => fill)
|
||||
.map(series => {
|
||||
const gradientId = uniqueId(kebabCase(`gradient-${series.key}`));
|
||||
|
||||
return [
|
||||
<LinearGradient
|
||||
key={`${series.key}-gradient`}
|
||||
id={gradientId}
|
||||
from={series.stroke}
|
||||
to="#fff"
|
||||
/>,
|
||||
<AreaSeries
|
||||
key={`${series.key}-fill`}
|
||||
seriesKey={series.key}
|
||||
data={series.values}
|
||||
interpolation="linear"
|
||||
fill={`url(#${gradientId})`}
|
||||
stroke={series.stroke}
|
||||
strokeWidth={series.strokeWidth}
|
||||
/>,
|
||||
];
|
||||
}),
|
||||
);
|
||||
|
||||
const unfilledSeries = allSeries
|
||||
.filter(({ fill }) => !fill)
|
||||
.map(series => (
|
||||
<LineSeries
|
||||
key={series.key}
|
||||
seriesKey={series.key}
|
||||
interpolation="linear"
|
||||
data={series.values}
|
||||
stroke={series.stroke}
|
||||
strokeDasharray={series.strokeDasharray}
|
||||
strokeWidth={series.strokeWidth}
|
||||
/>
|
||||
));
|
||||
|
||||
return filledSeries.concat(unfilledSeries);
|
||||
}
|
||||
|
||||
renderChart = (dim: Dimension) => {
|
||||
const { width, height } = dim;
|
||||
const { data, margin, theme, TooltipRenderer, encoding } = this.props;
|
||||
|
||||
const encoder = this.createEncoder(encoding);
|
||||
const { channels } = encoder;
|
||||
|
||||
encoder.setDomainFromDataset(data);
|
||||
|
||||
const allSeries = this.createAllSeries({ encoder, data });
|
||||
|
||||
const layout = createXYChartLayoutWithTheme({
|
||||
width,
|
||||
height,
|
||||
margin: this.createMargin(margin),
|
||||
theme,
|
||||
xEncoder: channels.x,
|
||||
yEncoder: channels.y,
|
||||
});
|
||||
|
||||
return layout.renderChartWithFrame((chartDim: Dimension) => (
|
||||
<WithTooltip
|
||||
renderTooltip={({
|
||||
datum,
|
||||
series,
|
||||
}: {
|
||||
datum: SeriesValue;
|
||||
series: {
|
||||
[key: string]: SeriesValue;
|
||||
};
|
||||
}) => (
|
||||
<TooltipRenderer
|
||||
encoder={encoder}
|
||||
allSeries={allSeries}
|
||||
datum={datum}
|
||||
series={series}
|
||||
theme={theme}
|
||||
/>
|
||||
)}
|
||||
>
|
||||
{({
|
||||
onMouseLeave,
|
||||
onMouseMove,
|
||||
tooltipData,
|
||||
}: {
|
||||
onMouseLeave: (...args: unknown[]) => void;
|
||||
onMouseMove: (...args: unknown[]) => void;
|
||||
tooltipData: { datum: { y?: number } };
|
||||
}) => (
|
||||
<XYChart
|
||||
showYGrid
|
||||
snapTooltipToDataX
|
||||
width={chartDim.width}
|
||||
height={chartDim.height}
|
||||
ariaLabel="LineChart"
|
||||
eventTrigger="container"
|
||||
margin={layout.margin}
|
||||
renderTooltip={null}
|
||||
theme={theme}
|
||||
tooltipData={tooltipData}
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
xScale={convertScaleToDataUIScale(
|
||||
channels.x.definition.scale as any,
|
||||
)}
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
yScale={convertScaleToDataUIScale(
|
||||
channels.y.definition.scale as any,
|
||||
)}
|
||||
onMouseMove={onMouseMove}
|
||||
onMouseLeave={onMouseLeave}
|
||||
>
|
||||
{layout.renderXAxis()}
|
||||
{layout.renderYAxis()}
|
||||
{this.renderSeries(allSeries)}
|
||||
<CrossHair
|
||||
fullHeight
|
||||
showCircle
|
||||
showMultipleCircles
|
||||
strokeDasharray=""
|
||||
showHorizontalLine={false}
|
||||
circleFill={(d: SeriesValue) =>
|
||||
d.y === tooltipData.datum.y ? d.parent.stroke : '#fff'
|
||||
}
|
||||
circleSize={(d: SeriesValue) =>
|
||||
d.y === tooltipData.datum.y ? 6 : 4
|
||||
}
|
||||
circleStroke={(d: SeriesValue) =>
|
||||
d.y === tooltipData.datum.y ? '#fff' : d.parent.stroke
|
||||
}
|
||||
circleStyles={CIRCLE_STYLE}
|
||||
stroke="#ccc"
|
||||
/>
|
||||
</XYChart>
|
||||
)}
|
||||
</WithTooltip>
|
||||
));
|
||||
};
|
||||
|
||||
render() {
|
||||
const { className, data, width, height, encoding } = this.props;
|
||||
|
||||
return (
|
||||
<WithLegend
|
||||
className={`superset-chart-line ${className}`}
|
||||
width={width}
|
||||
height={height}
|
||||
position="top"
|
||||
renderLegend={createRenderLegend(
|
||||
this.createEncoder(encoding),
|
||||
data,
|
||||
this.props,
|
||||
)}
|
||||
renderChart={this.renderChart}
|
||||
/>
|
||||
);
|
||||
}
|
||||
}
|
|
@ -1,78 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { TooltipFrame, TooltipTable } from '@superset-ui/core';
|
||||
import { isFieldDef } from 'encodable';
|
||||
import { TooltipProps } from './ScatterPlot';
|
||||
|
||||
export default function DefaultTooltipRenderer({
|
||||
datum,
|
||||
encoder,
|
||||
}: TooltipProps) {
|
||||
const { channels } = encoder;
|
||||
const { x, y, size, fill, stroke } = channels;
|
||||
|
||||
const tooltipRows = [
|
||||
{ key: 'x', keyColumn: x.getTitle(), valueColumn: x.formatDatum(datum) },
|
||||
{ key: 'y', keyColumn: y.getTitle(), valueColumn: y.formatDatum(datum) },
|
||||
];
|
||||
|
||||
if (isFieldDef(fill.definition)) {
|
||||
tooltipRows.push({
|
||||
key: 'fill',
|
||||
keyColumn: fill.getTitle(),
|
||||
valueColumn: fill.formatDatum(datum),
|
||||
});
|
||||
}
|
||||
if (isFieldDef(stroke.definition)) {
|
||||
tooltipRows.push({
|
||||
key: 'stroke',
|
||||
keyColumn: stroke.getTitle(),
|
||||
valueColumn: stroke.formatDatum(datum),
|
||||
});
|
||||
}
|
||||
if (isFieldDef(size.definition)) {
|
||||
tooltipRows.push({
|
||||
key: 'size',
|
||||
keyColumn: size.getTitle(),
|
||||
valueColumn: size.formatDatum(datum),
|
||||
});
|
||||
}
|
||||
channels.group.forEach(g => {
|
||||
tooltipRows.push({
|
||||
key: `${g.name}`,
|
||||
keyColumn: g.getTitle(),
|
||||
valueColumn: g.formatDatum(datum),
|
||||
});
|
||||
});
|
||||
channels.tooltip.forEach(g => {
|
||||
tooltipRows.push({
|
||||
key: `${g.name}`,
|
||||
keyColumn: g.getTitle(),
|
||||
valueColumn: g.formatDatum(datum),
|
||||
});
|
||||
});
|
||||
|
||||
return (
|
||||
<TooltipFrame>
|
||||
<TooltipTable data={tooltipRows} />
|
||||
</TooltipFrame>
|
||||
);
|
||||
}
|
|
@ -1,64 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import {
|
||||
createEncoderFactory,
|
||||
Encoder,
|
||||
DeriveEncoding,
|
||||
DeriveChannelOutputs,
|
||||
} from 'encodable';
|
||||
|
||||
export type ScatterPlotEncodingConfig = {
|
||||
x: ['X', number];
|
||||
y: ['Y', number];
|
||||
fill: ['Color', string];
|
||||
group: ['Category', string, 'multiple'];
|
||||
size: ['Numeric', number];
|
||||
stroke: ['Color', string];
|
||||
tooltip: ['Text', string, 'multiple'];
|
||||
};
|
||||
|
||||
export const scatterPlotEncoderFactory = (darkGray: string) =>
|
||||
createEncoderFactory<ScatterPlotEncodingConfig>({
|
||||
channelTypes: {
|
||||
x: 'X',
|
||||
y: 'Y',
|
||||
fill: 'Color',
|
||||
group: 'Category',
|
||||
size: 'Numeric',
|
||||
stroke: 'Color',
|
||||
tooltip: 'Text',
|
||||
},
|
||||
defaultEncoding: {
|
||||
x: { field: 'x', type: 'quantitative' },
|
||||
y: { field: 'y', type: 'quantitative' },
|
||||
fill: { value: darkGray },
|
||||
group: [],
|
||||
size: { value: 5 },
|
||||
stroke: { value: 'none' },
|
||||
tooltip: [],
|
||||
},
|
||||
});
|
||||
|
||||
export type ScatterPlotEncoding = DeriveEncoding<ScatterPlotEncodingConfig>;
|
||||
|
||||
export type ScatterPlotEncoder = Encoder<ScatterPlotEncodingConfig>;
|
||||
|
||||
export type ScatterPlotChannelOutputs =
|
||||
DeriveChannelOutputs<ScatterPlotEncodingConfig>;
|
|
@ -1,151 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import React, { PureComponent } from 'react';
|
||||
import { XYChart, PointSeries } from '@data-ui/xy-chart';
|
||||
import { chartTheme, ChartTheme } from '@data-ui/theme';
|
||||
import { WithLegend, Margin, Dimension } from '@superset-ui/core';
|
||||
import { isFieldDef, Dataset, PlainObject } from 'encodable';
|
||||
|
||||
import {
|
||||
scatterPlotEncoderFactory,
|
||||
ScatterPlotEncoder,
|
||||
ScatterPlotEncodingConfig,
|
||||
ScatterPlotEncoding,
|
||||
} from './Encoder';
|
||||
import createMarginSelector, {
|
||||
DEFAULT_MARGIN,
|
||||
} from '../../utils/createMarginSelector';
|
||||
import DefaultTooltipRenderer from './DefaultTooltipRenderer';
|
||||
import convertScaleToDataUIScale from '../../utils/convertScaleToDataUIScaleShape';
|
||||
import createXYChartLayoutWithTheme from '../../utils/createXYChartLayoutWithTheme';
|
||||
import createRenderLegend from '../legend/createRenderLegend';
|
||||
import { LegendHooks } from '../legend/types';
|
||||
|
||||
export interface TooltipProps {
|
||||
datum: PlainObject;
|
||||
encoder: ScatterPlotEncoder;
|
||||
}
|
||||
|
||||
const defaultProps = {
|
||||
className: '',
|
||||
margin: DEFAULT_MARGIN,
|
||||
encoding: {},
|
||||
theme: chartTheme,
|
||||
TooltipRenderer: DefaultTooltipRenderer,
|
||||
} as const;
|
||||
|
||||
export type HookProps = {
|
||||
TooltipRenderer?: React.ComponentType<TooltipProps>;
|
||||
} & LegendHooks<ScatterPlotEncodingConfig>;
|
||||
|
||||
type Props = {
|
||||
className?: string;
|
||||
width: string | number;
|
||||
height: string | number;
|
||||
margin?: Margin;
|
||||
data: Dataset;
|
||||
encoding?: Partial<ScatterPlotEncoding>;
|
||||
theme?: ChartTheme;
|
||||
} & HookProps &
|
||||
Readonly<typeof defaultProps>;
|
||||
|
||||
export default class ScatterPlot extends PureComponent<Props> {
|
||||
private createEncoder = scatterPlotEncoderFactory(
|
||||
this.props.theme?.colors.darkGray,
|
||||
).createSelector();
|
||||
|
||||
private createMargin = createMarginSelector();
|
||||
|
||||
static defaultProps = defaultProps;
|
||||
|
||||
renderChart = (dim: Dimension) => {
|
||||
const { width, height } = dim;
|
||||
const { data, margin, theme, TooltipRenderer, encoding } = this.props;
|
||||
const encoder = this.createEncoder(encoding);
|
||||
const { channels } = encoder;
|
||||
|
||||
encoder.setDomainFromDataset(data);
|
||||
|
||||
const encodedData = data.map(d => ({
|
||||
x: channels.x.getValueFromDatum(d),
|
||||
y: channels.y.getValueFromDatum(d),
|
||||
...d,
|
||||
}));
|
||||
|
||||
const layout = createXYChartLayoutWithTheme({
|
||||
width,
|
||||
height,
|
||||
margin: this.createMargin(margin),
|
||||
theme,
|
||||
xEncoder: channels.x,
|
||||
yEncoder: channels.y,
|
||||
});
|
||||
|
||||
return layout.renderChartWithFrame((chartDim: Dimension) => (
|
||||
<XYChart
|
||||
showYGrid
|
||||
width={chartDim.width}
|
||||
height={chartDim.height}
|
||||
ariaLabel="ScatterPlot"
|
||||
margin={layout.margin}
|
||||
renderTooltip={({ datum }: { datum: PlainObject }) => (
|
||||
<TooltipRenderer datum={datum} encoder={encoder} />
|
||||
)}
|
||||
theme={theme}
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
xScale={convertScaleToDataUIScale(channels.x.definition.scale as any)}
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
yScale={convertScaleToDataUIScale(channels.y.definition.scale as any)}
|
||||
>
|
||||
{layout.renderXAxis()}
|
||||
{layout.renderYAxis()}
|
||||
<PointSeries
|
||||
key={
|
||||
isFieldDef(channels.x.definition) ? channels.x.definition.field : ''
|
||||
}
|
||||
data={encodedData}
|
||||
fill={(d: PlainObject) => channels.fill.encodeDatum(d)}
|
||||
fillOpacity={0.5}
|
||||
stroke={(d: PlainObject) => channels.stroke.encodeDatum(d)}
|
||||
size={(d: PlainObject) => channels.size.encodeDatum(d)}
|
||||
/>
|
||||
</XYChart>
|
||||
));
|
||||
};
|
||||
|
||||
render() {
|
||||
const { className, data, width, height, encoding } = this.props;
|
||||
|
||||
return (
|
||||
<WithLegend
|
||||
className={`superset-chart-scatter-plot ${className}`}
|
||||
width={width}
|
||||
height={height}
|
||||
position="top"
|
||||
renderLegend={createRenderLegend(
|
||||
this.createEncoder(encoding),
|
||||
data,
|
||||
this.props,
|
||||
)}
|
||||
renderChart={this.renderChart}
|
||||
/>
|
||||
);
|
||||
}
|
||||
}
|
|
@ -1,71 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import React, { CSSProperties, PureComponent } from 'react';
|
||||
import { EncodingConfig } from 'encodable';
|
||||
import { LegendRendererProps } from './types';
|
||||
import DefaultLegendGroup from './DefaultLegendGroup';
|
||||
|
||||
const LEGEND_CONTAINER_STYLE: CSSProperties = {
|
||||
display: 'flex',
|
||||
flexBasis: 'auto',
|
||||
flexGrow: 1,
|
||||
flexShrink: 1,
|
||||
maxHeight: 100,
|
||||
overflowY: 'auto',
|
||||
position: 'relative',
|
||||
};
|
||||
|
||||
export type Props<Config extends EncodingConfig> = LegendRendererProps<Config>;
|
||||
|
||||
export default class DefaultLegend<
|
||||
Config extends EncodingConfig,
|
||||
> extends PureComponent<Props<Config>> {
|
||||
render() {
|
||||
const {
|
||||
groups,
|
||||
LegendGroupRenderer = DefaultLegendGroup,
|
||||
LegendItemRenderer,
|
||||
LegendItemMarkRenderer,
|
||||
LegendItemLabelRenderer,
|
||||
style,
|
||||
} = this.props;
|
||||
|
||||
const combinedStyle =
|
||||
typeof style === 'undefined'
|
||||
? LEGEND_CONTAINER_STYLE
|
||||
: { ...LEGEND_CONTAINER_STYLE, ...style };
|
||||
|
||||
return (
|
||||
<div style={combinedStyle}>
|
||||
{groups
|
||||
.filter(group => 'items' in group && group.items.length > 0)
|
||||
.map(group => (
|
||||
<LegendGroupRenderer
|
||||
key={group.field}
|
||||
group={group}
|
||||
ItemRenderer={LegendItemRenderer}
|
||||
ItemMarkRenderer={LegendItemMarkRenderer}
|
||||
ItemLabelRenderer={LegendItemLabelRenderer}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
|
@ -1,65 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import React, { CSSProperties } from 'react';
|
||||
import { EncodingConfig } from 'encodable';
|
||||
import { LegendGroupRendererProps } from './types';
|
||||
import DefaultLegendItem from './DefaultLegendItem';
|
||||
|
||||
const LEGEND_GROUP_STYLE: CSSProperties = {
|
||||
display: 'flex',
|
||||
flexBasis: 'auto',
|
||||
flexDirection: 'row',
|
||||
flexGrow: 1,
|
||||
flexShrink: 1,
|
||||
flexWrap: 'wrap',
|
||||
fontSize: '0.8em',
|
||||
justifyContent: 'flex-end',
|
||||
padding: 8,
|
||||
};
|
||||
|
||||
export default function DefaultLegendGroupRenderer<
|
||||
Config extends EncodingConfig,
|
||||
>({
|
||||
group,
|
||||
ItemRenderer = DefaultLegendItem,
|
||||
ItemMarkRenderer,
|
||||
ItemLabelRenderer,
|
||||
style,
|
||||
}: LegendGroupRendererProps<Config>) {
|
||||
const combinedStyle =
|
||||
typeof style === 'undefined'
|
||||
? LEGEND_GROUP_STYLE
|
||||
: { ...LEGEND_GROUP_STYLE, ...style };
|
||||
|
||||
return (
|
||||
<div style={combinedStyle}>
|
||||
{'items' in group &&
|
||||
group.items.map(item => (
|
||||
<ItemRenderer
|
||||
key={`legend-item-${group.field}-${item.input}`}
|
||||
group={group}
|
||||
item={item}
|
||||
MarkRenderer={ItemMarkRenderer}
|
||||
LabelRenderer={ItemLabelRenderer}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
);
|
||||
}
|
|
@ -1,70 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import React, { CSSProperties } from 'react';
|
||||
import { LegendItem, LegendLabel } from '@vx/legend';
|
||||
import { EncodingConfig } from 'encodable';
|
||||
import { LegendItemRendererProps } from './types';
|
||||
|
||||
const MARK_SIZE = 8;
|
||||
|
||||
const MARK_STYLE: CSSProperties = { display: 'inline-block' };
|
||||
|
||||
export default function DefaultLegendItem<Config extends EncodingConfig>({
|
||||
group,
|
||||
item,
|
||||
MarkRenderer,
|
||||
LabelRenderer,
|
||||
}: LegendItemRendererProps<Config>) {
|
||||
return (
|
||||
<LegendItem key={`legend-item-${group.field}-${item.input}`} margin="0 5px">
|
||||
{typeof MarkRenderer === 'undefined' ? (
|
||||
<svg width={MARK_SIZE} height={MARK_SIZE} style={MARK_STYLE}>
|
||||
<circle
|
||||
fill={
|
||||
// @ts-ignore
|
||||
(item.output.color ??
|
||||
// @ts-ignore
|
||||
item.output.fill ??
|
||||
// @ts-ignore
|
||||
item.output.stroke ??
|
||||
'#ccc') as string
|
||||
}
|
||||
stroke={
|
||||
// @ts-ignore
|
||||
(item.output.stroke ?? 'none') as string
|
||||
}
|
||||
r={MARK_SIZE / 2}
|
||||
cx={MARK_SIZE / 2}
|
||||
cy={MARK_SIZE / 2}
|
||||
/>
|
||||
</svg>
|
||||
) : (
|
||||
<MarkRenderer group={group} item={item} />
|
||||
)}
|
||||
{typeof LabelRenderer === 'undefined' ? (
|
||||
<LegendLabel align="left" margin="0 0 0 4px">
|
||||
{item.input}
|
||||
</LegendLabel>
|
||||
) : (
|
||||
<LabelRenderer group={group} item={item} />
|
||||
)}
|
||||
</LegendItem>
|
||||
);
|
||||
}
|
|
@ -1,51 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { Encoder, EncodingConfig, Dataset } from 'encodable';
|
||||
import { LegendHooks } from './types';
|
||||
import DefaultLegend from './DefaultLegend';
|
||||
|
||||
export default function createRenderLegend<Config extends EncodingConfig>(
|
||||
encoder: Encoder<Config>,
|
||||
data: Dataset,
|
||||
props: LegendHooks<Config>,
|
||||
) {
|
||||
if (encoder.hasLegend()) {
|
||||
const {
|
||||
LegendRenderer = DefaultLegend,
|
||||
LegendGroupRenderer,
|
||||
LegendItemRenderer,
|
||||
LegendItemLabelRenderer,
|
||||
LegendItemMarkRenderer,
|
||||
} = props;
|
||||
|
||||
return () => (
|
||||
<LegendRenderer
|
||||
groups={encoder.getLegendInformation(data)}
|
||||
LegendGroupRenderer={LegendGroupRenderer}
|
||||
LegendItemRenderer={LegendItemRenderer}
|
||||
LegendItemMarkRenderer={LegendItemMarkRenderer}
|
||||
LegendItemLabelRenderer={LegendItemLabelRenderer}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
|
@ -1,80 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { CSSProperties } from 'react';
|
||||
import {
|
||||
EncodingConfig,
|
||||
LegendGroupInformation,
|
||||
LegendItemInformation,
|
||||
} from 'encodable';
|
||||
|
||||
export type LegendItemMarkRendererProps<Config extends EncodingConfig> = {
|
||||
group: LegendGroupInformation<Config>;
|
||||
item: LegendItemInformation<Config>;
|
||||
};
|
||||
|
||||
export type LegendItemMarkRendererType<Config extends EncodingConfig> =
|
||||
React.ComponentType<LegendItemMarkRendererProps<Config>>;
|
||||
|
||||
export type LegendItemLabelRendererProps<Config extends EncodingConfig> =
|
||||
LegendItemMarkRendererProps<Config>;
|
||||
|
||||
export type LegendItemLabelRendererType<Config extends EncodingConfig> =
|
||||
React.ComponentType<LegendItemLabelRendererProps<Config>>;
|
||||
|
||||
export type LegendItemRendererProps<Config extends EncodingConfig> = {
|
||||
group: LegendGroupInformation<Config>;
|
||||
item: LegendItemInformation<Config>;
|
||||
MarkRenderer?: LegendItemMarkRendererType<Config>;
|
||||
LabelRenderer?: LegendItemLabelRendererType<Config>;
|
||||
};
|
||||
|
||||
export type LegendItemRendererType<Config extends EncodingConfig> =
|
||||
React.ComponentType<LegendItemRendererProps<Config>>;
|
||||
|
||||
export type LegendGroupRendererProps<Config extends EncodingConfig> = {
|
||||
group: LegendGroupInformation<Config>;
|
||||
ItemRenderer?: LegendItemRendererType<Config>;
|
||||
ItemMarkRenderer?: LegendItemMarkRendererType<Config>;
|
||||
ItemLabelRenderer?: LegendItemLabelRendererType<Config>;
|
||||
style?: CSSProperties;
|
||||
};
|
||||
|
||||
export type LegendGroupRendererType<Config extends EncodingConfig> =
|
||||
React.ComponentType<LegendGroupRendererProps<Config>>;
|
||||
|
||||
export type LegendRendererProps<Config extends EncodingConfig> = {
|
||||
groups: LegendGroupInformation<Config>[];
|
||||
LegendGroupRenderer?: LegendGroupRendererType<Config>;
|
||||
LegendItemRenderer?: LegendItemRendererType<Config>;
|
||||
LegendItemMarkRenderer?: LegendItemMarkRendererType<Config>;
|
||||
LegendItemLabelRenderer?: LegendItemLabelRendererType<Config>;
|
||||
style?: CSSProperties;
|
||||
};
|
||||
|
||||
export type LegendRendererType<Config extends EncodingConfig> =
|
||||
React.ComponentType<LegendRendererProps<Config>>;
|
||||
|
||||
export type LegendHooks<Config extends EncodingConfig> = {
|
||||
LegendRenderer?: LegendRendererType<Config>;
|
||||
LegendGroupRenderer?: LegendGroupRendererType<Config>;
|
||||
LegendItemRenderer?: LegendItemRendererType<Config>;
|
||||
LegendItemMarkRenderer?: LegendItemMarkRendererType<Config>;
|
||||
LegendItemLabelRenderer?: LegendItemLabelRendererType<Config>;
|
||||
};
|
|
@ -1,83 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import {
|
||||
Encodable,
|
||||
ColorSchemeResolver,
|
||||
TimeFormatResolver,
|
||||
CategoricalColorScaleResolver,
|
||||
defaultColorSchemeResolver,
|
||||
addPrefix,
|
||||
} from 'encodable';
|
||||
import {
|
||||
CategoricalColorNamespace,
|
||||
getCategoricalSchemeRegistry,
|
||||
getSequentialSchemeRegistry,
|
||||
getNumberFormatter,
|
||||
getTimeFormatter,
|
||||
LOCAL_PREFIX,
|
||||
getTimeFormatterRegistry,
|
||||
} from '@superset-ui/core';
|
||||
|
||||
const timeFormat: TimeFormatResolver = ({
|
||||
format,
|
||||
formatInLocalTime = false,
|
||||
} = {}) => {
|
||||
const formatString = formatInLocalTime
|
||||
? addPrefix(
|
||||
LOCAL_PREFIX,
|
||||
format ?? getTimeFormatterRegistry().getDefaultKey()!,
|
||||
)
|
||||
: format;
|
||||
|
||||
return getTimeFormatter(formatString);
|
||||
};
|
||||
|
||||
const colorSchemeResolver: ColorSchemeResolver = ({
|
||||
name,
|
||||
type = 'categorical',
|
||||
} = {}) => {
|
||||
if (type === 'sequential') {
|
||||
const scheme = getSequentialSchemeRegistry().get(name);
|
||||
|
||||
return typeof scheme === 'undefined'
|
||||
? scheme
|
||||
: { type: 'sequential', ...scheme };
|
||||
}
|
||||
if (type === 'categorical') {
|
||||
const scheme = getCategoricalSchemeRegistry().get(name);
|
||||
|
||||
return typeof scheme === 'undefined'
|
||||
? scheme
|
||||
: { type: 'categorical', ...scheme };
|
||||
}
|
||||
return defaultColorSchemeResolver({ name, type });
|
||||
};
|
||||
|
||||
const colorScaleResolver: CategoricalColorScaleResolver = ({
|
||||
name,
|
||||
namespace,
|
||||
} = {}) => CategoricalColorNamespace.getScale(name, namespace);
|
||||
|
||||
export default function configureEncodable() {
|
||||
Encodable.setNumberFormatResolver(getNumberFormatter)
|
||||
.setTimeFormatResolver(timeFormat)
|
||||
.setColorSchemeResolver(colorSchemeResolver)
|
||||
.setCategoricalColorScaleResolver(colorScaleResolver);
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
export { default as BoxPlotChartPlugin } from './BoxPlot';
|
||||
export { default as LegacyBoxPlotChartPlugin } from './BoxPlot/legacy';
|
||||
export { default as ScatterPlotChartPlugin } from './ScatterPlot';
|
||||
export { default as LegacyScatterPlotChartPlugin } from './ScatterPlot/legacy';
|
||||
export { default as LineChartPlugin } from './Line';
|
||||
export { default as LegacyLineChartPlugin } from './Line/legacy';
|
||||
export { default as configureEncodable } from './configureEncodable';
|
|
@ -1,200 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import React, { ReactNode, CSSProperties } from 'react';
|
||||
import { XAxis, YAxis } from '@data-ui/xy-chart';
|
||||
import { ChartFrame, Margin, mergeMargin, Dimension } from '@superset-ui/core';
|
||||
import {
|
||||
ChannelEncoder,
|
||||
PlainObject,
|
||||
Value,
|
||||
XFieldDef,
|
||||
YFieldDef,
|
||||
} from 'encodable';
|
||||
import createTickComponent from './createTickComponent';
|
||||
import computeAxisLayout, { AxisLayout } from './computeAxisLayout';
|
||||
|
||||
export const DEFAULT_LABEL_ANGLE = 40;
|
||||
|
||||
// Additional margin to avoid content hidden behind scroll bar
|
||||
const OVERFLOW_MARGIN = 8;
|
||||
|
||||
export interface XYChartLayoutConfig<
|
||||
XOutput extends Value,
|
||||
YOutput extends Value,
|
||||
> {
|
||||
width: number;
|
||||
height: number;
|
||||
minContentWidth?: number;
|
||||
minContentHeight?: number;
|
||||
margin: Margin;
|
||||
xEncoder: ChannelEncoder<XFieldDef<XOutput>, XOutput>;
|
||||
xTickSize?: number;
|
||||
xTickTextStyle?: CSSProperties;
|
||||
autoAdjustXMargin?: boolean;
|
||||
yEncoder: ChannelEncoder<YFieldDef<YOutput>, YOutput>;
|
||||
yTickSize?: number;
|
||||
yTickTextStyle?: CSSProperties;
|
||||
autoAdjustYMargin?: boolean;
|
||||
}
|
||||
|
||||
export default class XYChartLayout<
|
||||
XOutput extends Value,
|
||||
YOutput extends Value,
|
||||
> {
|
||||
chartWidth: number;
|
||||
|
||||
chartHeight: number;
|
||||
|
||||
containerWidth: number;
|
||||
|
||||
containerHeight: number;
|
||||
|
||||
margin: Margin;
|
||||
|
||||
xEncoder: ChannelEncoder<XFieldDef<XOutput>, XOutput>;
|
||||
|
||||
xLayout?: AxisLayout;
|
||||
|
||||
yEncoder: ChannelEncoder<YFieldDef<YOutput>, YOutput>;
|
||||
|
||||
yLayout?: AxisLayout;
|
||||
|
||||
constructor(config: XYChartLayoutConfig<XOutput, YOutput>) {
|
||||
const {
|
||||
width,
|
||||
height,
|
||||
minContentWidth = 0,
|
||||
minContentHeight = 0,
|
||||
margin,
|
||||
xEncoder,
|
||||
xTickSize,
|
||||
xTickTextStyle,
|
||||
autoAdjustXMargin = true,
|
||||
yEncoder,
|
||||
yTickSize,
|
||||
yTickTextStyle,
|
||||
autoAdjustYMargin = true,
|
||||
} = config;
|
||||
|
||||
this.xEncoder = xEncoder;
|
||||
this.yEncoder = yEncoder;
|
||||
|
||||
if (typeof yEncoder.axis !== 'undefined') {
|
||||
this.yLayout = computeAxisLayout(yEncoder.axis, {
|
||||
axisWidth: Math.max(height - margin.top - margin.bottom),
|
||||
defaultTickSize: yTickSize,
|
||||
tickTextStyle: yTickTextStyle,
|
||||
});
|
||||
}
|
||||
|
||||
const secondMargin =
|
||||
this.yLayout && autoAdjustYMargin
|
||||
? mergeMargin(margin, this.yLayout.minMargin)
|
||||
: margin;
|
||||
const innerWidth = Math.max(
|
||||
width - secondMargin.left - secondMargin.right,
|
||||
minContentWidth,
|
||||
);
|
||||
|
||||
if (typeof xEncoder.axis !== 'undefined') {
|
||||
this.xLayout = computeAxisLayout(xEncoder.axis, {
|
||||
axisWidth: innerWidth,
|
||||
defaultTickSize: xTickSize,
|
||||
tickTextStyle: xTickTextStyle,
|
||||
});
|
||||
}
|
||||
|
||||
const finalMargin =
|
||||
this.xLayout && autoAdjustXMargin
|
||||
? mergeMargin(secondMargin, this.xLayout.minMargin)
|
||||
: secondMargin;
|
||||
|
||||
const innerHeight = Math.max(
|
||||
height - finalMargin.top - finalMargin.bottom,
|
||||
minContentHeight,
|
||||
);
|
||||
|
||||
const chartWidth = Math.round(
|
||||
innerWidth + finalMargin.left + finalMargin.right,
|
||||
);
|
||||
const chartHeight = Math.round(
|
||||
innerHeight + finalMargin.top + finalMargin.bottom,
|
||||
);
|
||||
|
||||
const isOverFlowX = chartWidth > width;
|
||||
const isOverFlowY = chartHeight > height;
|
||||
if (isOverFlowX) {
|
||||
finalMargin.bottom += OVERFLOW_MARGIN;
|
||||
}
|
||||
if (isOverFlowY) {
|
||||
finalMargin.right += OVERFLOW_MARGIN;
|
||||
}
|
||||
this.chartWidth = isOverFlowX ? chartWidth + OVERFLOW_MARGIN : chartWidth;
|
||||
this.chartHeight = isOverFlowY
|
||||
? chartHeight + OVERFLOW_MARGIN
|
||||
: chartHeight;
|
||||
this.containerWidth = width;
|
||||
this.containerHeight = height;
|
||||
this.margin = finalMargin;
|
||||
}
|
||||
|
||||
renderChartWithFrame(renderChart: (input: Dimension) => ReactNode) {
|
||||
return (
|
||||
<ChartFrame
|
||||
width={this.containerWidth}
|
||||
height={this.containerHeight}
|
||||
contentWidth={this.chartWidth}
|
||||
contentHeight={this.chartHeight}
|
||||
renderContent={renderChart}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
renderXAxis(props?: PlainObject) {
|
||||
const { axis } = this.xEncoder;
|
||||
|
||||
return axis && this.xLayout ? (
|
||||
<XAxis
|
||||
label={axis.getTitle()}
|
||||
labelOffset={this.xLayout.labelOffset}
|
||||
numTicks={axis.config.tickCount}
|
||||
orientation={axis.config.orient}
|
||||
tickComponent={createTickComponent(this.xLayout)}
|
||||
tickFormat={axis.formatValue}
|
||||
{...props}
|
||||
/>
|
||||
) : null;
|
||||
}
|
||||
|
||||
renderYAxis(props?: PlainObject) {
|
||||
const { axis } = this.yEncoder;
|
||||
|
||||
return axis && this.yLayout ? (
|
||||
<YAxis
|
||||
label={axis.getTitle()}
|
||||
labelOffset={this.yLayout.labelOffset}
|
||||
numTicks={axis.config.tickCount}
|
||||
orientation={axis.config.orient}
|
||||
tickFormat={axis.formatValue}
|
||||
{...props}
|
||||
/>
|
||||
) : null;
|
||||
}
|
||||
}
|
|
@ -1,137 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { CSSProperties } from 'react';
|
||||
import { getTextDimension, Margin, Dimension } from '@superset-ui/core';
|
||||
import { AxisOrient, ChannelDef, Value } from 'encodable';
|
||||
|
||||
import ChannelEncoderAxis from 'encodable/lib/encoders/ChannelEncoderAxis';
|
||||
|
||||
export interface AxisLayout {
|
||||
axisWidth: number;
|
||||
labelAngle: number;
|
||||
labelFlush: number | boolean;
|
||||
labelOffset: number;
|
||||
labelOverlap: 'flat' | 'rotate';
|
||||
minMargin: Partial<Margin>;
|
||||
orient: AxisOrient;
|
||||
tickLabelDimensions: Dimension[];
|
||||
tickLabels: string[];
|
||||
tickTextAnchor?: string;
|
||||
}
|
||||
|
||||
export default function computeAxisLayout<
|
||||
Def extends ChannelDef<Output>,
|
||||
Output extends Value,
|
||||
>(
|
||||
axis: ChannelEncoderAxis<Def, Output>,
|
||||
{
|
||||
axisTitleHeight = 20,
|
||||
axisWidth,
|
||||
gapBetweenAxisLabelAndBorder = 4,
|
||||
gapBetweenTickAndTickLabel = 4,
|
||||
defaultTickSize = 8,
|
||||
tickTextStyle = {},
|
||||
}: {
|
||||
axisTitleHeight?: number;
|
||||
axisWidth: number;
|
||||
gapBetweenAxisLabelAndBorder?: number;
|
||||
gapBetweenTickAndTickLabel?: number;
|
||||
defaultTickSize?: number;
|
||||
tickTextStyle?: CSSProperties;
|
||||
},
|
||||
): AxisLayout {
|
||||
const tickLabels = axis.getTickLabels();
|
||||
const tickLabelDimensions = tickLabels.map((text: string) =>
|
||||
getTextDimension({
|
||||
style: tickTextStyle,
|
||||
text,
|
||||
}),
|
||||
);
|
||||
|
||||
const {
|
||||
labelAngle,
|
||||
labelFlush,
|
||||
labelOverlap,
|
||||
labelPadding,
|
||||
orient,
|
||||
tickSize = defaultTickSize,
|
||||
} = axis.config;
|
||||
|
||||
const maxWidth = Math.max(...tickLabelDimensions.map(d => d.width), 0);
|
||||
|
||||
// cheap heuristic, can improve
|
||||
const widthPerTick = axisWidth / tickLabels.length;
|
||||
const isLabelOverlap = maxWidth > widthPerTick;
|
||||
const labelAngleIfOverlap =
|
||||
labelOverlap.strategy === 'rotate' ? labelOverlap.labelAngle : 0;
|
||||
const labelAngleAfterOverlapCheck = isLabelOverlap ? labelAngleIfOverlap : 0;
|
||||
const finalLabelAngle =
|
||||
labelAngle === 0 ? labelAngleAfterOverlapCheck : labelAngle;
|
||||
|
||||
const spaceForAxisTitle = axis.hasTitle()
|
||||
? labelPadding + axisTitleHeight
|
||||
: 0;
|
||||
let tickTextAnchor = 'middle';
|
||||
let labelOffset = 0;
|
||||
let requiredMargin =
|
||||
tickSize +
|
||||
gapBetweenTickAndTickLabel +
|
||||
spaceForAxisTitle +
|
||||
gapBetweenAxisLabelAndBorder;
|
||||
|
||||
if (axis.channelEncoder.isX()) {
|
||||
if (finalLabelAngle === 0) {
|
||||
const labelHeight =
|
||||
tickLabelDimensions.length > 0 ? tickLabelDimensions[0].height : 0;
|
||||
labelOffset = labelHeight + labelPadding;
|
||||
requiredMargin += labelHeight;
|
||||
} else {
|
||||
const labelHeight = Math.ceil(
|
||||
Math.abs(maxWidth * Math.sin((finalLabelAngle * Math.PI) / 180)),
|
||||
);
|
||||
labelOffset = labelHeight + labelPadding;
|
||||
requiredMargin += labelHeight;
|
||||
tickTextAnchor =
|
||||
(orient === 'top' && finalLabelAngle > 0) ||
|
||||
(orient === 'bottom' && finalLabelAngle < 0)
|
||||
? 'end'
|
||||
: 'start';
|
||||
}
|
||||
requiredMargin += 8;
|
||||
} else {
|
||||
labelOffset = maxWidth + spaceForAxisTitle;
|
||||
requiredMargin += maxWidth;
|
||||
}
|
||||
|
||||
return {
|
||||
axisWidth,
|
||||
labelAngle: finalLabelAngle,
|
||||
labelFlush,
|
||||
labelOffset,
|
||||
labelOverlap: isLabelOverlap ? labelOverlap.strategy : 'flat',
|
||||
minMargin: {
|
||||
[orient]: Math.ceil(requiredMargin),
|
||||
},
|
||||
orient,
|
||||
tickLabelDimensions,
|
||||
tickLabels,
|
||||
tickTextAnchor,
|
||||
};
|
||||
}
|
|
@ -1,82 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { Value, ScaleConfig } from 'encodable';
|
||||
|
||||
type DataUIScaleType = 'time' | 'timeUtc' | 'linear' | 'band';
|
||||
|
||||
interface DataUIScale {
|
||||
type: DataUIScaleType;
|
||||
domain?: number[] | string[];
|
||||
includeZero?: boolean;
|
||||
nice?: boolean;
|
||||
paddingInner?: number;
|
||||
paddingOuter?: number;
|
||||
range?: number[] | string[];
|
||||
rangeRound?: number[] | string[];
|
||||
}
|
||||
|
||||
function isCompatibleDomainOrRange(
|
||||
array: ScaleConfig['domain'] | ScaleConfig['range'],
|
||||
): array is number[] | string[] {
|
||||
return (
|
||||
typeof array !== 'undefined' &&
|
||||
array.length > 0 &&
|
||||
(typeof array[0] === 'string' || typeof array[0] === 'number')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert encodable scale object into @data-ui's scale config
|
||||
* @param scale
|
||||
*/
|
||||
export default function convertScaleToDataUIScale<Output extends Value>(
|
||||
scale: ScaleConfig<Output>,
|
||||
) {
|
||||
const { type, domain, range } = scale;
|
||||
|
||||
let outputType: DataUIScaleType;
|
||||
|
||||
if (type === 'linear' || type === 'time' || type === 'band') {
|
||||
outputType = type;
|
||||
} else if (type === 'utc') {
|
||||
outputType = 'timeUtc';
|
||||
} else {
|
||||
throw new Error(`Unsupported scale type: ${type}`);
|
||||
}
|
||||
|
||||
const output: DataUIScale = { type: outputType };
|
||||
if (isCompatibleDomainOrRange(domain)) {
|
||||
output.domain = domain;
|
||||
}
|
||||
if (isCompatibleDomainOrRange(range)) {
|
||||
output.range = range;
|
||||
}
|
||||
if ('nice' in scale && typeof scale.nice === 'boolean') {
|
||||
output.nice = scale.nice;
|
||||
}
|
||||
if ('paddingInner' in scale && typeof scale.paddingInner !== 'undefined') {
|
||||
output.paddingInner = scale.paddingInner;
|
||||
}
|
||||
if ('paddingOuter' in scale && typeof scale.paddingOuter !== 'undefined') {
|
||||
output.paddingOuter = scale.paddingOuter;
|
||||
}
|
||||
|
||||
return output;
|
||||
}
|
|
@ -1,47 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { createSelector } from 'reselect';
|
||||
import { Margin } from '@superset-ui/core';
|
||||
|
||||
export const DEFAULT_MARGIN = { bottom: 16, left: 16, right: 16, top: 16 };
|
||||
|
||||
export default function createMarginSelector(
|
||||
defaultMargin: Margin = DEFAULT_MARGIN,
|
||||
) {
|
||||
return createSelector(
|
||||
[
|
||||
(margin: Partial<Margin>) => margin.bottom,
|
||||
margin => margin.left,
|
||||
margin => margin.right,
|
||||
margin => margin.top,
|
||||
],
|
||||
(
|
||||
bottom = defaultMargin.bottom,
|
||||
left = defaultMargin.left,
|
||||
right = defaultMargin.right,
|
||||
top = defaultMargin.top,
|
||||
) => ({
|
||||
bottom,
|
||||
left,
|
||||
right,
|
||||
top,
|
||||
}),
|
||||
);
|
||||
}
|
|
@ -1,110 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import React, { CSSProperties } from 'react';
|
||||
import { Dimension } from '@superset-ui/core';
|
||||
import { AxisLayout } from './computeAxisLayout';
|
||||
|
||||
export default function createTickComponent({
|
||||
axisWidth,
|
||||
labelAngle,
|
||||
labelFlush,
|
||||
labelOverlap,
|
||||
orient,
|
||||
tickLabels,
|
||||
tickLabelDimensions,
|
||||
tickTextAnchor = 'middle',
|
||||
}: AxisLayout) {
|
||||
if (labelOverlap === 'rotate' && labelAngle !== 0) {
|
||||
let xOffset = labelAngle > 0 ? -6 : 6;
|
||||
if (orient === 'top') {
|
||||
xOffset = 0;
|
||||
}
|
||||
const yOffset = orient === 'top' ? -3 : 0;
|
||||
|
||||
return ({
|
||||
x,
|
||||
y,
|
||||
formattedValue = '',
|
||||
...textStyle
|
||||
}: {
|
||||
x: number;
|
||||
y: number;
|
||||
dy?: number;
|
||||
formattedValue: string;
|
||||
textStyle: CSSProperties;
|
||||
}) => (
|
||||
<g transform={`translate(${x + xOffset}, ${y + yOffset})`}>
|
||||
<text
|
||||
transform={`rotate(${labelAngle})`}
|
||||
{...textStyle}
|
||||
textAnchor={tickTextAnchor}
|
||||
>
|
||||
{formattedValue}
|
||||
</text>
|
||||
</g>
|
||||
);
|
||||
}
|
||||
|
||||
if (labelFlush === true || typeof labelFlush === 'number') {
|
||||
const labelToDimensionMap = new Map<string, Dimension>();
|
||||
tickLabels.forEach((label, i) => {
|
||||
labelToDimensionMap.set(label, tickLabelDimensions[i]);
|
||||
});
|
||||
|
||||
return ({
|
||||
x,
|
||||
y,
|
||||
formattedValue = '',
|
||||
...textStyle
|
||||
}: {
|
||||
x: number;
|
||||
y: number;
|
||||
dy?: number;
|
||||
formattedValue: string;
|
||||
textStyle: CSSProperties;
|
||||
}) => {
|
||||
const dimension = labelToDimensionMap.get(formattedValue);
|
||||
const labelWidth = typeof dimension === 'undefined' ? 0 : dimension.width;
|
||||
let textAnchor = tickTextAnchor;
|
||||
let xOffset = 0;
|
||||
|
||||
if (x - labelWidth / 2 < 0) {
|
||||
textAnchor = 'start';
|
||||
if (typeof labelFlush === 'number') {
|
||||
xOffset -= labelFlush;
|
||||
}
|
||||
} else if (x + labelWidth / 2 > axisWidth) {
|
||||
textAnchor = 'end';
|
||||
if (typeof labelFlush === 'number') {
|
||||
xOffset += labelFlush;
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<text x={x + xOffset} y={y} {...textStyle} textAnchor={textAnchor}>
|
||||
{formattedValue}
|
||||
</text>
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
// This will render the tick as horizontal string.
|
||||
return null;
|
||||
}
|
|
@ -1,47 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
// export default function createTickLabelProps({
|
||||
// labelAngle,
|
||||
// labelOverlap,
|
||||
// orient,
|
||||
// tickTextAnchor = 'start',
|
||||
// }: {
|
||||
// labelAngle: number;
|
||||
// labelOverlap: string;
|
||||
// orient: string;
|
||||
// tickTextAnchor?: string;
|
||||
// }) {
|
||||
// let dx = 0;
|
||||
// let dy = 0;
|
||||
// if (labelOverlap === 'rotate' && labelAngle !== 0) {
|
||||
// dx = labelAngle > 0 ? -6 : 6;
|
||||
// if (orient === 'top') {
|
||||
// dx = 0;
|
||||
// }
|
||||
// dy = orient === 'top' ? -3 : 0;
|
||||
// }
|
||||
|
||||
// return {
|
||||
// angle: labelAngle,
|
||||
// dx,
|
||||
// dy,
|
||||
// textAnchor: tickTextAnchor,
|
||||
// };
|
||||
// }
|
|
@ -1,45 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { ChartTheme } from '@data-ui/theme';
|
||||
import { Value } from 'encodable';
|
||||
import XYChartLayout, { XYChartLayoutConfig } from './XYChartLayout';
|
||||
|
||||
export default function createXYChartLayoutWithTheme<
|
||||
XOutput extends Value,
|
||||
YOutput extends Value,
|
||||
>(
|
||||
config: XYChartLayoutConfig<XOutput, YOutput> & {
|
||||
theme: ChartTheme;
|
||||
},
|
||||
) {
|
||||
const { theme, ...rest } = config;
|
||||
|
||||
return new XYChartLayout<XOutput, YOutput>({
|
||||
...rest,
|
||||
// @ts-ignore
|
||||
xTickSize: theme.xTickStyles.length || theme.xTickStyles.tickLength,
|
||||
xTickTextStyle:
|
||||
theme.xTickStyles.label.bottom || theme.xTickStyles.label.top,
|
||||
// @ts-ignore
|
||||
yTickSize: theme.yTickStyles.length || theme.yTickStyles.tickLength,
|
||||
yTickTextStyle:
|
||||
theme.yTickStyles.label.left || theme.yTickStyles.label.right,
|
||||
});
|
||||
}
|
|
@ -1,48 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import {
|
||||
LegacyScatterPlotChartPlugin,
|
||||
ScatterPlotChartPlugin,
|
||||
LegacyLineChartPlugin,
|
||||
LineChartPlugin,
|
||||
LegacyBoxPlotChartPlugin,
|
||||
BoxPlotChartPlugin,
|
||||
} from '../src';
|
||||
|
||||
describe('index', () => {
|
||||
it('exports ScatterPlot', () => {
|
||||
expect(ScatterPlotChartPlugin).toBeDefined();
|
||||
});
|
||||
it('exports Line', () => {
|
||||
expect(LineChartPlugin).toBeDefined();
|
||||
});
|
||||
it('exports BoxPlot', () => {
|
||||
expect(BoxPlotChartPlugin).toBeDefined();
|
||||
});
|
||||
it('exports legacy ScatterPlot', () => {
|
||||
expect(LegacyScatterPlotChartPlugin).toBeDefined();
|
||||
});
|
||||
it('exports legacy Line', () => {
|
||||
expect(LegacyLineChartPlugin).toBeDefined();
|
||||
});
|
||||
it('exports legacy BoxPlot', () => {
|
||||
expect(LegacyBoxPlotChartPlugin).toBeDefined();
|
||||
});
|
||||
});
|
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"composite": false,
|
||||
"emitDeclarationOnly": false,
|
||||
"noEmit": true,
|
||||
"rootDir": "."
|
||||
},
|
||||
"extends": "../../../tsconfig.json",
|
||||
"include": [
|
||||
"**/*",
|
||||
"../types/**/*",
|
||||
"../../../types/**/*"
|
||||
],
|
||||
"references": [
|
||||
{
|
||||
"path": ".."
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"declarationDir": "lib",
|
||||
"outDir": "lib",
|
||||
"rootDir": "src"
|
||||
},
|
||||
"exclude": [
|
||||
"lib",
|
||||
"test"
|
||||
],
|
||||
"extends": "../../tsconfig.json",
|
||||
"include": [
|
||||
"src/**/*",
|
||||
"types/**/*",
|
||||
"../../types/**/*"
|
||||
],
|
||||
"references": [
|
||||
{
|
||||
"path": "../../packages/superset-ui-chart-controls"
|
||||
},
|
||||
{
|
||||
"path": "../../packages/superset-ui-core"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,128 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
declare module '@data-ui/theme' {
|
||||
type SvgLabelTextStyle = {
|
||||
fontFamily: string;
|
||||
fontSize: number;
|
||||
fontWeight: number;
|
||||
letterSpacing: number;
|
||||
fill: string;
|
||||
stroke: string;
|
||||
textAnchor?:
|
||||
| '-moz-initial'
|
||||
| 'inherit'
|
||||
| 'initial'
|
||||
| 'revert'
|
||||
| 'unset'
|
||||
| 'end'
|
||||
| 'start'
|
||||
| 'middle';
|
||||
pointerEvents?:
|
||||
| '-moz-initial'
|
||||
| 'inherit'
|
||||
| 'initial'
|
||||
| 'revert'
|
||||
| 'unset'
|
||||
| 'auto'
|
||||
| 'none'
|
||||
| 'visible'
|
||||
| 'all'
|
||||
| 'fill'
|
||||
| 'stroke'
|
||||
| 'painted'
|
||||
| 'visibleFill'
|
||||
| 'visiblePainted'
|
||||
| 'visibleStroke';
|
||||
};
|
||||
|
||||
export interface ChartTheme {
|
||||
colors: {
|
||||
default: string;
|
||||
dark: string;
|
||||
light: string;
|
||||
disabled: string;
|
||||
lightDisabled: string;
|
||||
text: string;
|
||||
black: string;
|
||||
darkGray: string;
|
||||
lightGray: string;
|
||||
grid: string;
|
||||
gridDark: string;
|
||||
label: string;
|
||||
tickLabel: string;
|
||||
grays: string[];
|
||||
categories: string[];
|
||||
};
|
||||
labelStyles: SvgLabelTextStyle & {
|
||||
color: string;
|
||||
lineHeight: string;
|
||||
paddingBottom: number;
|
||||
paddingTop: number;
|
||||
};
|
||||
gridStyles: {
|
||||
stroke: string;
|
||||
strokeWidth: number;
|
||||
};
|
||||
xAxisStyles: {
|
||||
stroke: string;
|
||||
strokeWidth: number;
|
||||
label: {
|
||||
bottom: SvgLabelTextStyle;
|
||||
top: SvgLabelTextStyle;
|
||||
};
|
||||
};
|
||||
xTickStyles: {
|
||||
stroke: string;
|
||||
length: number;
|
||||
label: {
|
||||
bottom: SvgLabelTextStyle & {
|
||||
dy: string;
|
||||
};
|
||||
top: SvgLabelTextStyle & {
|
||||
dy: string;
|
||||
};
|
||||
};
|
||||
};
|
||||
yAxisStyles: {
|
||||
stroke: string;
|
||||
strokeWidth: number;
|
||||
label: {
|
||||
left: SvgLabelTextStyle;
|
||||
right: SvgLabelTextStyle;
|
||||
};
|
||||
};
|
||||
yTickStyles: {
|
||||
stroke: string;
|
||||
length: number;
|
||||
label: {
|
||||
left: SvgLabelTextStyle & {
|
||||
dx: string;
|
||||
dy: string;
|
||||
};
|
||||
right: SvgLabelTextStyle & {
|
||||
dx: string;
|
||||
dy: string;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
export const chartTheme: ChartTheme;
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
declare module '@data-ui/xy-chart' {
|
||||
import React from 'react';
|
||||
|
||||
type Props = {
|
||||
[key: string]: any;
|
||||
};
|
||||
|
||||
interface XYChartProps {
|
||||
width: number;
|
||||
height: number;
|
||||
ariaLabel: string;
|
||||
eventTrigger?: any;
|
||||
margin?: {
|
||||
top?: number;
|
||||
right?: number;
|
||||
bottom?: number;
|
||||
left?: number;
|
||||
};
|
||||
onMouseMove?: (...args: any[]) => void;
|
||||
onMouseLeave?: (...args: any[]) => void;
|
||||
renderTooltip: any;
|
||||
showYGrid?: boolean;
|
||||
snapTooltipToDataX?: boolean;
|
||||
theme?: any;
|
||||
tooltipData?: any;
|
||||
xScale: any;
|
||||
yScale: any;
|
||||
}
|
||||
|
||||
export class AreaSeries extends React.PureComponent<Props, {}> {}
|
||||
export class BoxPlotSeries extends React.PureComponent<Props, {}> {}
|
||||
export class CrossHair extends React.PureComponent<Props, {}> {}
|
||||
export class LinearGradient extends React.PureComponent<Props, {}> {}
|
||||
export class LineSeries extends React.PureComponent<Props, {}> {}
|
||||
export class PointSeries extends React.PureComponent<Props, {}> {}
|
||||
export class WithTooltip extends React.PureComponent<Props, {}> {}
|
||||
export class XYChart extends React.PureComponent<XYChartProps, {}> {}
|
||||
export class XAxis extends React.PureComponent<Props, {}> {}
|
||||
export class YAxis extends React.PureComponent<Props, {}> {}
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
declare module '*.png' {
|
||||
const value: any;
|
||||
export default value;
|
||||
}
|
|
@ -39,7 +39,6 @@ import {
|
|||
EchartsTimeseriesLineChartPlugin,
|
||||
} from '@superset-ui/plugin-chart-echarts';
|
||||
import TableChartPlugin from '@superset-ui/plugin-chart-table';
|
||||
import { LineChartPlugin } from '@superset-ui/preset-chart-xy';
|
||||
import TimeTableChartPlugin from 'src/visualizations/TimeTable';
|
||||
import VizTypeControl, { VIZ_TYPE_CONTROL_TEST_ID } from './index';
|
||||
|
||||
|
@ -50,7 +49,6 @@ class MainPreset extends Preset {
|
|||
super({
|
||||
name: 'Legacy charts',
|
||||
plugins: [
|
||||
new LineChartPlugin().configure({ key: 'line' }),
|
||||
new TableChartPlugin().configure({ key: 'table' }),
|
||||
new BigNumberTotalChartPlugin().configure({ key: 'big_number_total' }),
|
||||
new EchartsTimeseriesLineChartPlugin().configure({
|
||||
|
@ -121,7 +119,6 @@ describe('VizTypeControl', () => {
|
|||
isModalOpenInit: false,
|
||||
};
|
||||
await waitForRenderWrapper(props);
|
||||
expect(screen.getByLabelText('line-chart-tile')).toBeVisible();
|
||||
expect(screen.getByLabelText('table-chart-tile')).toBeVisible();
|
||||
expect(screen.getByLabelText('big-number-chart-tile')).toBeVisible();
|
||||
expect(screen.getByLabelText('pie-chart-tile')).toBeVisible();
|
||||
|
@ -154,9 +151,6 @@ describe('VizTypeControl', () => {
|
|||
'Time-series Area Chart',
|
||||
),
|
||||
).toBeInTheDocument();
|
||||
expect(
|
||||
within(screen.getByTestId('fast-viz-switcher')).queryByText('Line Chart'),
|
||||
).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('Render viz tiles when non-featured chart is selected', async () => {
|
||||
|
@ -169,7 +163,9 @@ describe('VizTypeControl', () => {
|
|||
|
||||
expect(screen.getByLabelText('monitor')).toBeVisible();
|
||||
expect(
|
||||
within(screen.getByTestId('fast-viz-switcher')).getByText('Line Chart'),
|
||||
within(screen.getByTestId('fast-viz-switcher')).getByText(
|
||||
'Time-series Line Chart',
|
||||
),
|
||||
).toBeVisible();
|
||||
});
|
||||
|
||||
|
@ -196,7 +192,9 @@ describe('VizTypeControl', () => {
|
|||
await waitForRenderWrapper(props, state);
|
||||
expect(screen.getByLabelText('check-square')).toBeVisible();
|
||||
expect(
|
||||
within(screen.getByTestId('fast-viz-switcher')).getByText('Line Chart'),
|
||||
within(screen.getByTestId('fast-viz-switcher')).getByText(
|
||||
'Time-series Line Chart',
|
||||
),
|
||||
).toBeVisible();
|
||||
});
|
||||
|
||||
|
@ -260,9 +258,6 @@ describe('VizTypeControl', () => {
|
|||
expect(
|
||||
within(visualizations).getByText('Time-series Bar Chart'),
|
||||
).toBeVisible();
|
||||
expect(
|
||||
within(visualizations).queryByText('Line Chart'),
|
||||
).not.toBeInTheDocument();
|
||||
expect(within(visualizations).queryByText('Table')).not.toBeInTheDocument();
|
||||
expect(
|
||||
within(visualizations).queryByText('Big Number'),
|
||||
|
|
|
@ -621,7 +621,6 @@ msgid "2 years ago"
|
|||
msgstr "vor 2 Jahren"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:97
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:49
|
||||
msgid "2/98 percentiles"
|
||||
msgstr "2/98 Perzentile"
|
||||
|
||||
|
@ -764,7 +763,6 @@ msgid "7D"
|
|||
msgstr "wöchentlich (7D)"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:98
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:50
|
||||
msgid "9/91 percentiles"
|
||||
msgstr "9/91 Perzentile"
|
||||
|
||||
|
@ -2866,7 +2864,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:58
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:27
|
||||
msgid "Box Plot"
|
||||
msgstr "Boxplot"
|
||||
|
||||
|
@ -3498,7 +3495,6 @@ msgstr "Diagramm-ID"
|
|||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Treemap/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:31
|
||||
#: superset-frontend/src/explore/fixtures.tsx:34
|
||||
#: superset-frontend/src/explore/fixtures.tsx:77
|
||||
#: superset-frontend/src/explore/fixtures.tsx:86
|
||||
|
@ -6018,7 +6014,6 @@ msgid "Details of the certification"
|
|||
msgstr "Details zur Zertifizierung"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:91
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:43
|
||||
msgid "Determines how whiskers and outliers are calculated."
|
||||
msgstr "Bestimmt, wie „Whisker“ und Ausreißer berechnet werden."
|
||||
|
||||
|
@ -6163,7 +6158,6 @@ msgstr "Verteilen über"
|
|||
#: superset-frontend/plugins/legacy-plugin-chart-histogram/src/index.js:28
|
||||
#: superset-frontend/plugins/legacy-plugin-chart-horizon/src/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:52
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:25
|
||||
msgid "Distribution"
|
||||
msgstr "Verteilung"
|
||||
|
||||
|
@ -9152,7 +9146,6 @@ msgid "Line"
|
|||
msgstr "Linie"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/index.ts:80
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/Line/createMetadata.ts:26
|
||||
msgid "Line Chart"
|
||||
msgstr "Liniendiagramm"
|
||||
|
||||
|
@ -9798,7 +9791,6 @@ msgid "Min periods"
|
|||
msgstr "Mindestzeiträume"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:96
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:48
|
||||
msgid "Min/max (no outliers)"
|
||||
msgstr "Min/Max (keine Ausreißer)"
|
||||
|
||||
|
@ -13323,7 +13315,6 @@ msgid "Scatter"
|
|||
msgstr "Streudiagramm"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/index.ts:79
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/createMetadata.ts:26
|
||||
msgid "Scatter Plot"
|
||||
msgstr "Streudiagramm"
|
||||
|
||||
|
@ -16200,7 +16191,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:226
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:127
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:68
|
||||
msgid "The way the ticks are laid out on the X-axis"
|
||||
msgstr "Die Art und Weise, wie die Ticks auf der X-Achse angeordnet sind"
|
||||
|
||||
|
@ -17438,7 +17428,6 @@ msgid "Tuesday"
|
|||
msgstr "Dienstag"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:95
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:47
|
||||
msgid "Tukey"
|
||||
msgstr "Turkey"
|
||||
|
||||
|
@ -18917,7 +18906,6 @@ msgid "Which relatives to highlight on hover"
|
|||
msgstr "Welche Verwandten beim Überfahren mit der Maus hervorgehoben werden sollen"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:89
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:41
|
||||
msgid "Whisker/outlier options"
|
||||
msgstr "Whisker/Ausreißer-Optionen"
|
||||
|
||||
|
@ -19029,7 +19017,6 @@ msgstr "X-Log-Skala"
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:216
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:116
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:58
|
||||
msgid "X Tick Layout"
|
||||
msgstr "X Tick Layout"
|
||||
|
||||
|
@ -19700,7 +19687,6 @@ msgstr "bei"
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:218
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:118
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Radar/controlPanel.tsx:54
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:60
|
||||
msgid "auto"
|
||||
msgstr "automatisch"
|
||||
|
||||
|
@ -20122,7 +20108,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:219
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:119
|
||||
#: superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.ts:87
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:61
|
||||
msgid "flat"
|
||||
msgstr "flach"
|
||||
|
||||
|
@ -20566,7 +20551,6 @@ msgstr "Stack"
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:221
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:122
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:63
|
||||
msgid "staggered"
|
||||
msgstr "gestaffelt"
|
||||
|
||||
|
|
|
@ -557,7 +557,6 @@ msgid "2 years ago"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:97
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:49
|
||||
msgid "2/98 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -700,7 +699,6 @@ msgid "7D"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:98
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:50
|
||||
msgid "9/91 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2640,7 +2638,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:58
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:27
|
||||
msgid "Box Plot"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3245,7 +3242,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Treemap/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:31
|
||||
#: superset-frontend/src/explore/fixtures.tsx:34
|
||||
#: superset-frontend/src/explore/fixtures.tsx:77
|
||||
#: superset-frontend/src/explore/fixtures.tsx:86
|
||||
|
@ -5602,7 +5598,6 @@ msgid "Details of the certification"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:91
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:43
|
||||
msgid "Determines how whiskers and outliers are calculated."
|
||||
msgstr ""
|
||||
|
||||
|
@ -5736,7 +5731,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-plugin-chart-histogram/src/index.js:28
|
||||
#: superset-frontend/plugins/legacy-plugin-chart-horizon/src/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:52
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:25
|
||||
msgid "Distribution"
|
||||
msgstr ""
|
||||
|
||||
|
@ -8553,7 +8547,6 @@ msgid "Line"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/index.ts:80
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/Line/createMetadata.ts:26
|
||||
msgid "Line Chart"
|
||||
msgstr ""
|
||||
|
||||
|
@ -9172,7 +9165,6 @@ msgid "Min periods"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:96
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:48
|
||||
msgid "Min/max (no outliers)"
|
||||
msgstr ""
|
||||
|
||||
|
@ -12519,7 +12511,6 @@ msgid "Scatter"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/index.ts:79
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/createMetadata.ts:26
|
||||
msgid "Scatter Plot"
|
||||
msgstr ""
|
||||
|
||||
|
@ -15096,7 +15087,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:226
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:127
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:68
|
||||
msgid "The way the ticks are laid out on the X-axis"
|
||||
msgstr ""
|
||||
|
||||
|
@ -16199,7 +16189,6 @@ msgid "Tuesday"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:95
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:47
|
||||
msgid "Tukey"
|
||||
msgstr ""
|
||||
|
||||
|
@ -17482,7 +17471,6 @@ msgid "Which relatives to highlight on hover"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:89
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:41
|
||||
msgid "Whisker/outlier options"
|
||||
msgstr ""
|
||||
|
||||
|
@ -17594,7 +17582,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:216
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:116
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:58
|
||||
msgid "X Tick Layout"
|
||||
msgstr ""
|
||||
|
||||
|
@ -18198,7 +18185,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:218
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:118
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Radar/controlPanel.tsx:54
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:60
|
||||
msgid "auto"
|
||||
msgstr ""
|
||||
|
||||
|
@ -18616,7 +18602,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:219
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:119
|
||||
#: superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.ts:87
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:61
|
||||
msgid "flat"
|
||||
msgstr ""
|
||||
|
||||
|
@ -19050,7 +19035,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:221
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:122
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:63
|
||||
msgid "staggered"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -577,7 +577,6 @@ msgid "2 years ago"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:97
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:49
|
||||
msgid "2/98 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -732,7 +731,6 @@ msgid "7D"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:98
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:50
|
||||
msgid "9/91 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2825,7 +2823,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:58
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:27
|
||||
msgid "Box Plot"
|
||||
msgstr "Diagrama de Caja"
|
||||
|
||||
|
@ -3456,7 +3453,6 @@ msgstr "ID de gráfico"
|
|||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Treemap/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:31
|
||||
#: superset-frontend/src/explore/fixtures.tsx:34
|
||||
#: superset-frontend/src/explore/fixtures.tsx:77
|
||||
#: superset-frontend/src/explore/fixtures.tsx:86
|
||||
|
@ -5974,7 +5970,6 @@ msgid "Details of the certification"
|
|||
msgstr "Detalles de la certificación"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:91
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:43
|
||||
msgid "Determines how whiskers and outliers are calculated."
|
||||
msgstr ""
|
||||
|
||||
|
@ -6118,7 +6113,6 @@ msgstr "Estimar costo"
|
|||
#: superset-frontend/plugins/legacy-plugin-chart-histogram/src/index.js:28
|
||||
#: superset-frontend/plugins/legacy-plugin-chart-horizon/src/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:52
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:25
|
||||
#, fuzzy
|
||||
msgid "Distribution"
|
||||
msgstr "Contribución"
|
||||
|
@ -9135,7 +9129,6 @@ msgid "Line"
|
|||
msgstr "Desconectado"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/index.ts:80
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/Line/createMetadata.ts:26
|
||||
#, fuzzy
|
||||
msgid "Line Chart"
|
||||
msgstr "Minimizar"
|
||||
|
@ -9794,7 +9787,6 @@ msgid "Min periods"
|
|||
msgstr "Periodos Mínimos"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:96
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:48
|
||||
msgid "Min/max (no outliers)"
|
||||
msgstr ""
|
||||
|
||||
|
@ -13387,7 +13379,6 @@ msgid "Scatter"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/index.ts:79
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/createMetadata.ts:26
|
||||
msgid "Scatter Plot"
|
||||
msgstr ""
|
||||
|
||||
|
@ -16198,7 +16189,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:226
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:127
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:68
|
||||
msgid "The way the ticks are laid out on the X-axis"
|
||||
msgstr ""
|
||||
|
||||
|
@ -17410,7 +17400,6 @@ msgid "Tuesday"
|
|||
msgstr "Martes"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:95
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:47
|
||||
#, fuzzy
|
||||
msgid "Tukey"
|
||||
msgstr "consulta"
|
||||
|
@ -18760,7 +18749,6 @@ msgid "Which relatives to highlight on hover"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:89
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:41
|
||||
msgid "Whisker/outlier options"
|
||||
msgstr ""
|
||||
|
||||
|
@ -18877,7 +18865,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:216
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:116
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:58
|
||||
msgid "X Tick Layout"
|
||||
msgstr ""
|
||||
|
||||
|
@ -19522,7 +19509,6 @@ msgstr "en"
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:218
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:118
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Radar/controlPanel.tsx:54
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:60
|
||||
#, fuzzy
|
||||
msgid "auto"
|
||||
msgstr "en"
|
||||
|
@ -19971,7 +19957,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:219
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:119
|
||||
#: superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.ts:87
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:61
|
||||
#, fuzzy
|
||||
msgid "flat"
|
||||
msgstr "en"
|
||||
|
@ -20447,7 +20432,6 @@ msgstr "Backend"
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:221
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:122
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:63
|
||||
#, fuzzy
|
||||
msgid "staggered"
|
||||
msgstr "Nada disparado"
|
||||
|
|
|
@ -616,7 +616,6 @@ msgid "2 years ago"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:97
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:49
|
||||
msgid "2/98 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -767,7 +766,6 @@ msgid "7D"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:98
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:50
|
||||
msgid "9/91 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2887,7 +2885,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:58
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:27
|
||||
#, fuzzy
|
||||
msgid "Box Plot"
|
||||
msgstr "boulon"
|
||||
|
@ -3542,7 +3539,6 @@ msgstr "ID Graphique"
|
|||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Treemap/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:31
|
||||
#: superset-frontend/src/explore/fixtures.tsx:34
|
||||
#: superset-frontend/src/explore/fixtures.tsx:77
|
||||
#: superset-frontend/src/explore/fixtures.tsx:86
|
||||
|
@ -6076,7 +6072,6 @@ msgid "Details of the certification"
|
|||
msgstr "Détails de la certification"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:91
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:43
|
||||
msgid "Determines how whiskers and outliers are calculated."
|
||||
msgstr ""
|
||||
|
||||
|
@ -6223,7 +6218,6 @@ msgstr "Estimer le coût"
|
|||
#: superset-frontend/plugins/legacy-plugin-chart-histogram/src/index.js:28
|
||||
#: superset-frontend/plugins/legacy-plugin-chart-horizon/src/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:52
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:25
|
||||
#, fuzzy
|
||||
msgid "Distribution"
|
||||
msgstr "Contribution"
|
||||
|
@ -9315,7 +9309,6 @@ msgid "Line"
|
|||
msgstr "Personnel"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/index.ts:80
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/Line/createMetadata.ts:26
|
||||
#, fuzzy
|
||||
msgid "Line Chart"
|
||||
msgstr "Graphique minimisé"
|
||||
|
@ -9980,7 +9973,6 @@ msgid "Min periods"
|
|||
msgstr "Périodes min"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:96
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:48
|
||||
msgid "Min/max (no outliers)"
|
||||
msgstr ""
|
||||
|
||||
|
@ -13621,7 +13613,6 @@ msgid "Scatter"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/index.ts:79
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/createMetadata.ts:26
|
||||
#, fuzzy
|
||||
msgid "Scatter Plot"
|
||||
msgstr "Deck.gl - Nuage de points"
|
||||
|
@ -16492,7 +16483,6 @@ msgstr "Le nom d'utilisateur fourni à une base de données est invalide."
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:226
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:127
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:68
|
||||
msgid "The way the ticks are laid out on the X-axis"
|
||||
msgstr ""
|
||||
|
||||
|
@ -17720,7 +17710,6 @@ msgid "Tuesday"
|
|||
msgstr "Mardi"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:95
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:47
|
||||
#, fuzzy
|
||||
msgid "Tukey"
|
||||
msgstr "requête"
|
||||
|
@ -19108,7 +19097,6 @@ msgid "Which relatives to highlight on hover"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:89
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:41
|
||||
msgid "Whisker/outlier options"
|
||||
msgstr ""
|
||||
|
||||
|
@ -19226,7 +19214,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:216
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:116
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:58
|
||||
msgid "X Tick Layout"
|
||||
msgstr ""
|
||||
|
||||
|
@ -19885,7 +19872,6 @@ msgstr "à"
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:218
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:118
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Radar/controlPanel.tsx:54
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:60
|
||||
#, fuzzy
|
||||
msgid "auto"
|
||||
msgstr "à"
|
||||
|
@ -20341,7 +20327,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:219
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:119
|
||||
#: superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.ts:87
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:61
|
||||
#, fuzzy
|
||||
msgid "flat"
|
||||
msgstr "à"
|
||||
|
@ -20820,7 +20805,6 @@ msgstr "Backend"
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:221
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:122
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:63
|
||||
#, fuzzy
|
||||
msgid "staggered"
|
||||
msgstr "Rien déclenché"
|
||||
|
|
|
@ -566,7 +566,6 @@ msgid "2 years ago"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:97
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:49
|
||||
msgid "2/98 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -717,7 +716,6 @@ msgid "7D"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:98
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:50
|
||||
msgid "9/91 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2751,7 +2749,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:58
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:27
|
||||
msgid "Box Plot"
|
||||
msgstr "Box Plot"
|
||||
|
||||
|
@ -3367,7 +3364,6 @@ msgstr "Grafici"
|
|||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Treemap/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:31
|
||||
#: superset-frontend/src/explore/fixtures.tsx:34
|
||||
#: superset-frontend/src/explore/fixtures.tsx:77
|
||||
#: superset-frontend/src/explore/fixtures.tsx:86
|
||||
|
@ -5829,7 +5825,6 @@ msgid "Details of the certification"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:91
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:43
|
||||
msgid "Determines how whiskers and outliers are calculated."
|
||||
msgstr ""
|
||||
|
||||
|
@ -5969,7 +5964,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-plugin-chart-histogram/src/index.js:28
|
||||
#: superset-frontend/plugins/legacy-plugin-chart-horizon/src/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:52
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:25
|
||||
#, fuzzy
|
||||
msgid "Distribution"
|
||||
msgstr "descrizione"
|
||||
|
@ -8899,7 +8893,6 @@ msgid "Line"
|
|||
msgstr "Min"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/index.ts:80
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/Line/createMetadata.ts:26
|
||||
#, fuzzy
|
||||
msgid "Line Chart"
|
||||
msgstr "Grafico a torta"
|
||||
|
@ -9541,7 +9534,6 @@ msgid "Min periods"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:96
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:48
|
||||
msgid "Min/max (no outliers)"
|
||||
msgstr ""
|
||||
|
||||
|
@ -13046,7 +13038,6 @@ msgid "Scatter"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/index.ts:79
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/createMetadata.ts:26
|
||||
msgid "Scatter Plot"
|
||||
msgstr ""
|
||||
|
||||
|
@ -15748,7 +15739,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:226
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:127
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:68
|
||||
msgid "The way the ticks are laid out on the X-axis"
|
||||
msgstr ""
|
||||
|
||||
|
@ -16902,7 +16892,6 @@ msgid "Tuesday"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:95
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:47
|
||||
#, fuzzy
|
||||
msgid "Tukey"
|
||||
msgstr "condividi query"
|
||||
|
@ -18217,7 +18206,6 @@ msgid "Which relatives to highlight on hover"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:89
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:41
|
||||
msgid "Whisker/outlier options"
|
||||
msgstr ""
|
||||
|
||||
|
@ -18332,7 +18320,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:216
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:116
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:58
|
||||
msgid "X Tick Layout"
|
||||
msgstr ""
|
||||
|
||||
|
@ -18958,7 +18945,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:218
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:118
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Radar/controlPanel.tsx:54
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:60
|
||||
#, fuzzy
|
||||
msgid "auto"
|
||||
msgstr "Descrizione"
|
||||
|
@ -19400,7 +19386,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:219
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:119
|
||||
#: superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.ts:87
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:61
|
||||
msgid "flat"
|
||||
msgstr ""
|
||||
|
||||
|
@ -19858,7 +19843,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:221
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:122
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:63
|
||||
msgid "staggered"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -567,7 +567,6 @@ msgid "2 years ago"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:97
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:49
|
||||
msgid "2/98 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -720,7 +719,6 @@ msgid "7D"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:98
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:50
|
||||
msgid "9/91 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2744,7 +2742,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:58
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:27
|
||||
msgid "Box Plot"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3365,7 +3362,6 @@ msgstr "チャートID"
|
|||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Treemap/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:31
|
||||
#: superset-frontend/src/explore/fixtures.tsx:34
|
||||
#: superset-frontend/src/explore/fixtures.tsx:77
|
||||
#: superset-frontend/src/explore/fixtures.tsx:86
|
||||
|
@ -5825,7 +5821,6 @@ msgid "Details of the certification"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:91
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:43
|
||||
msgid "Determines how whiskers and outliers are calculated."
|
||||
msgstr ""
|
||||
|
||||
|
@ -5966,7 +5961,6 @@ msgstr "見積コスト"
|
|||
#: superset-frontend/plugins/legacy-plugin-chart-histogram/src/index.js:28
|
||||
#: superset-frontend/plugins/legacy-plugin-chart-horizon/src/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:52
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:25
|
||||
#, fuzzy
|
||||
msgid "Distribution"
|
||||
msgstr "棒グラフ"
|
||||
|
@ -8902,7 +8896,6 @@ msgid "Line"
|
|||
msgstr "個人用"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/index.ts:80
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/Line/createMetadata.ts:26
|
||||
#, fuzzy
|
||||
msgid "Line Chart"
|
||||
msgstr "チャートを最小化"
|
||||
|
@ -9548,7 +9541,6 @@ msgid "Min periods"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:96
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:48
|
||||
msgid "Min/max (no outliers)"
|
||||
msgstr ""
|
||||
|
||||
|
@ -13052,7 +13044,6 @@ msgid "Scatter"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/index.ts:79
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/createMetadata.ts:26
|
||||
msgid "Scatter Plot"
|
||||
msgstr ""
|
||||
|
||||
|
@ -15763,7 +15754,6 @@ msgstr "Issue 1012 - データベース接続時に指定されたユーザー
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:226
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:127
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:68
|
||||
msgid "The way the ticks are laid out on the X-axis"
|
||||
msgstr ""
|
||||
|
||||
|
@ -16921,7 +16911,6 @@ msgid "Tuesday"
|
|||
msgstr "火曜日"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:95
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:47
|
||||
#, fuzzy
|
||||
msgid "Tukey"
|
||||
msgstr "クエリ"
|
||||
|
@ -18239,7 +18228,6 @@ msgid "Which relatives to highlight on hover"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:89
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:41
|
||||
msgid "Whisker/outlier options"
|
||||
msgstr ""
|
||||
|
||||
|
@ -18354,7 +18342,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:216
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:116
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:58
|
||||
msgid "X Tick Layout"
|
||||
msgstr ""
|
||||
|
||||
|
@ -18981,7 +18968,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:218
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:118
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Radar/controlPanel.tsx:54
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:60
|
||||
#, fuzzy
|
||||
msgid "auto"
|
||||
msgstr "期限"
|
||||
|
@ -19423,7 +19409,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:219
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:119
|
||||
#: superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.ts:87
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:61
|
||||
msgid "flat"
|
||||
msgstr ""
|
||||
|
||||
|
@ -19891,7 +19876,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:221
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:122
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:63
|
||||
#, fuzzy
|
||||
msgid "staggered"
|
||||
msgstr "変更"
|
||||
|
|
|
@ -563,7 +563,6 @@ msgid "2 years ago"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:97
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:49
|
||||
msgid "2/98 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -715,7 +714,6 @@ msgid "7D"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:98
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:50
|
||||
msgid "9/91 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2731,7 +2729,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:58
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:27
|
||||
msgid "Box Plot"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3347,7 +3344,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Treemap/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:31
|
||||
#: superset-frontend/src/explore/fixtures.tsx:34
|
||||
#: superset-frontend/src/explore/fixtures.tsx:77
|
||||
#: superset-frontend/src/explore/fixtures.tsx:86
|
||||
|
@ -5788,7 +5784,6 @@ msgid "Details of the certification"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:91
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:43
|
||||
msgid "Determines how whiskers and outliers are calculated."
|
||||
msgstr ""
|
||||
|
||||
|
@ -5926,7 +5921,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-plugin-chart-histogram/src/index.js:28
|
||||
#: superset-frontend/plugins/legacy-plugin-chart-horizon/src/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:52
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:25
|
||||
#, fuzzy
|
||||
msgid "Distribution"
|
||||
msgstr "설명"
|
||||
|
@ -8832,7 +8826,6 @@ msgid "Line"
|
|||
msgstr "분"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/index.ts:80
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/Line/createMetadata.ts:26
|
||||
#, fuzzy
|
||||
msgid "Line Chart"
|
||||
msgstr "차트 이동"
|
||||
|
@ -9468,7 +9461,6 @@ msgid "Min periods"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:96
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:48
|
||||
msgid "Min/max (no outliers)"
|
||||
msgstr ""
|
||||
|
||||
|
@ -12927,7 +12919,6 @@ msgid "Scatter"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/index.ts:79
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/createMetadata.ts:26
|
||||
msgid "Scatter Plot"
|
||||
msgstr ""
|
||||
|
||||
|
@ -15609,7 +15600,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:226
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:127
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:68
|
||||
msgid "The way the ticks are laid out on the X-axis"
|
||||
msgstr ""
|
||||
|
||||
|
@ -16748,7 +16738,6 @@ msgid "Tuesday"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:95
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:47
|
||||
#, fuzzy
|
||||
msgid "Tukey"
|
||||
msgstr "Query 공유"
|
||||
|
@ -18053,7 +18042,6 @@ msgid "Which relatives to highlight on hover"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:89
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:41
|
||||
msgid "Whisker/outlier options"
|
||||
msgstr ""
|
||||
|
||||
|
@ -18167,7 +18155,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:216
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:116
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:58
|
||||
msgid "X Tick Layout"
|
||||
msgstr ""
|
||||
|
||||
|
@ -18777,7 +18764,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:218
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:118
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Radar/controlPanel.tsx:54
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:60
|
||||
#, fuzzy
|
||||
msgid "auto"
|
||||
msgstr "생성자"
|
||||
|
@ -19218,7 +19204,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:219
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:119
|
||||
#: superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.ts:87
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:61
|
||||
msgid "flat"
|
||||
msgstr ""
|
||||
|
||||
|
@ -19676,7 +19661,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:221
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:122
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:63
|
||||
msgid "staggered"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -563,7 +563,6 @@ msgid "2 years ago"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:97
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:49
|
||||
msgid "2/98 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -706,7 +705,6 @@ msgid "7D"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:98
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:50
|
||||
msgid "9/91 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2645,7 +2643,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:58
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:27
|
||||
msgid "Box Plot"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3250,7 +3247,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Treemap/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:31
|
||||
#: superset-frontend/src/explore/fixtures.tsx:34
|
||||
#: superset-frontend/src/explore/fixtures.tsx:77
|
||||
#: superset-frontend/src/explore/fixtures.tsx:86
|
||||
|
@ -5606,7 +5602,6 @@ msgid "Details of the certification"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:91
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:43
|
||||
msgid "Determines how whiskers and outliers are calculated."
|
||||
msgstr ""
|
||||
|
||||
|
@ -5740,7 +5735,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-plugin-chart-histogram/src/index.js:28
|
||||
#: superset-frontend/plugins/legacy-plugin-chart-horizon/src/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:52
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:25
|
||||
msgid "Distribution"
|
||||
msgstr ""
|
||||
|
||||
|
@ -8552,7 +8546,6 @@ msgid "Line"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/index.ts:80
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/Line/createMetadata.ts:26
|
||||
msgid "Line Chart"
|
||||
msgstr ""
|
||||
|
||||
|
@ -9171,7 +9164,6 @@ msgid "Min periods"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:96
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:48
|
||||
msgid "Min/max (no outliers)"
|
||||
msgstr ""
|
||||
|
||||
|
@ -12516,7 +12508,6 @@ msgid "Scatter"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/index.ts:79
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/createMetadata.ts:26
|
||||
msgid "Scatter Plot"
|
||||
msgstr ""
|
||||
|
||||
|
@ -15091,7 +15082,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:226
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:127
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:68
|
||||
msgid "The way the ticks are laid out on the X-axis"
|
||||
msgstr ""
|
||||
|
||||
|
@ -16193,7 +16183,6 @@ msgid "Tuesday"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:95
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:47
|
||||
msgid "Tukey"
|
||||
msgstr ""
|
||||
|
||||
|
@ -17476,7 +17465,6 @@ msgid "Which relatives to highlight on hover"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:89
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:41
|
||||
msgid "Whisker/outlier options"
|
||||
msgstr ""
|
||||
|
||||
|
@ -17588,7 +17576,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:216
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:116
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:58
|
||||
msgid "X Tick Layout"
|
||||
msgstr ""
|
||||
|
||||
|
@ -18192,7 +18179,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:218
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:118
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Radar/controlPanel.tsx:54
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:60
|
||||
msgid "auto"
|
||||
msgstr ""
|
||||
|
||||
|
@ -18610,7 +18596,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:219
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:119
|
||||
#: superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.ts:87
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:61
|
||||
msgid "flat"
|
||||
msgstr ""
|
||||
|
||||
|
@ -19044,7 +19029,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:221
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:122
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:63
|
||||
msgid "staggered"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -593,7 +593,6 @@ msgid "2 years ago"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:97
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:49
|
||||
msgid "2/98 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -743,7 +742,6 @@ msgid "7D"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:98
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:50
|
||||
msgid "9/91 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2786,7 +2784,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:58
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:27
|
||||
msgid "Box Plot"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3407,7 +3404,6 @@ msgstr "Grafiek ID"
|
|||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Treemap/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:31
|
||||
#: superset-frontend/src/explore/fixtures.tsx:34
|
||||
#: superset-frontend/src/explore/fixtures.tsx:77
|
||||
#: superset-frontend/src/explore/fixtures.tsx:86
|
||||
|
@ -5823,7 +5819,6 @@ msgid "Details of the certification"
|
|||
msgstr "Details van de certificering"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:91
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:43
|
||||
msgid "Determines how whiskers and outliers are calculated."
|
||||
msgstr ""
|
||||
|
||||
|
@ -5962,7 +5957,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-plugin-chart-histogram/src/index.js:28
|
||||
#: superset-frontend/plugins/legacy-plugin-chart-horizon/src/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:52
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:25
|
||||
msgid "Distribution"
|
||||
msgstr ""
|
||||
|
||||
|
@ -8858,7 +8852,6 @@ msgid "Line"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/index.ts:80
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/Line/createMetadata.ts:26
|
||||
msgid "Line Chart"
|
||||
msgstr ""
|
||||
|
||||
|
@ -9491,7 +9484,6 @@ msgid "Min periods"
|
|||
msgstr "Min periodes"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:96
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:48
|
||||
msgid "Min/max (no outliers)"
|
||||
msgstr ""
|
||||
|
||||
|
@ -12935,7 +12927,6 @@ msgid "Scatter"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/index.ts:79
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/createMetadata.ts:26
|
||||
msgid "Scatter Plot"
|
||||
msgstr ""
|
||||
|
||||
|
@ -15590,7 +15581,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:226
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:127
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:68
|
||||
msgid "The way the ticks are laid out on the X-axis"
|
||||
msgstr ""
|
||||
|
||||
|
@ -16732,7 +16722,6 @@ msgid "Tuesday"
|
|||
msgstr "Dinsdag"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:95
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:47
|
||||
#, fuzzy
|
||||
msgid "Tukey"
|
||||
msgstr "query"
|
||||
|
@ -18045,7 +18034,6 @@ msgid "Which relatives to highlight on hover"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:89
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:41
|
||||
msgid "Whisker/outlier options"
|
||||
msgstr ""
|
||||
|
||||
|
@ -18158,7 +18146,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:216
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:116
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:58
|
||||
msgid "X Tick Layout"
|
||||
msgstr ""
|
||||
|
||||
|
@ -18786,7 +18773,6 @@ msgstr "op"
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:218
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:118
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Radar/controlPanel.tsx:54
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:60
|
||||
#, fuzzy
|
||||
msgid "auto"
|
||||
msgstr "op"
|
||||
|
@ -19221,7 +19207,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:219
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:119
|
||||
#: superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.ts:87
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:61
|
||||
#, fuzzy
|
||||
msgid "flat"
|
||||
msgstr "op"
|
||||
|
@ -19681,7 +19666,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:221
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:122
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:63
|
||||
#, fuzzy
|
||||
msgid "staggered"
|
||||
msgstr "Gewijzigd"
|
||||
|
|
|
@ -571,7 +571,6 @@ msgid "2 years ago"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:97
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:49
|
||||
msgid "2/98 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -725,7 +724,6 @@ msgid "7D"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:98
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:50
|
||||
msgid "9/91 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2777,7 +2775,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:58
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:27
|
||||
msgid "Box Plot"
|
||||
msgstr "Box Plot"
|
||||
|
||||
|
@ -3402,7 +3399,6 @@ msgstr "Tipo de gráfico"
|
|||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Treemap/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:31
|
||||
#: superset-frontend/src/explore/fixtures.tsx:34
|
||||
#: superset-frontend/src/explore/fixtures.tsx:77
|
||||
#: superset-frontend/src/explore/fixtures.tsx:86
|
||||
|
@ -5898,7 +5894,6 @@ msgid "Details of the certification"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:91
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:43
|
||||
msgid "Determines how whiskers and outliers are calculated."
|
||||
msgstr ""
|
||||
|
||||
|
@ -6040,7 +6035,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-plugin-chart-histogram/src/index.js:28
|
||||
#: superset-frontend/plugins/legacy-plugin-chart-horizon/src/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:52
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:25
|
||||
#, fuzzy
|
||||
msgid "Distribution"
|
||||
msgstr "Contribuição"
|
||||
|
@ -9008,7 +9002,6 @@ msgid "Line"
|
|||
msgstr "Mín"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/index.ts:80
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/Line/createMetadata.ts:26
|
||||
#, fuzzy
|
||||
msgid "Line Chart"
|
||||
msgstr "Mover gráfico"
|
||||
|
@ -9655,7 +9648,6 @@ msgid "Min periods"
|
|||
msgstr "Período Mínimo"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:96
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:48
|
||||
msgid "Min/max (no outliers)"
|
||||
msgstr ""
|
||||
|
||||
|
@ -13186,7 +13178,6 @@ msgid "Scatter"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/index.ts:79
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/createMetadata.ts:26
|
||||
msgid "Scatter Plot"
|
||||
msgstr ""
|
||||
|
||||
|
@ -15929,7 +15920,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:226
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:127
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:68
|
||||
msgid "The way the ticks are laid out on the X-axis"
|
||||
msgstr ""
|
||||
|
||||
|
@ -17104,7 +17094,6 @@ msgid "Tuesday"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:95
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:47
|
||||
#, fuzzy
|
||||
msgid "Tukey"
|
||||
msgstr "Query"
|
||||
|
@ -18427,7 +18416,6 @@ msgid "Which relatives to highlight on hover"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:89
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:41
|
||||
msgid "Whisker/outlier options"
|
||||
msgstr ""
|
||||
|
||||
|
@ -18542,7 +18530,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:216
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:116
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:58
|
||||
msgid "X Tick Layout"
|
||||
msgstr ""
|
||||
|
||||
|
@ -19167,7 +19154,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:218
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:118
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Radar/controlPanel.tsx:54
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:60
|
||||
msgid "auto"
|
||||
msgstr ""
|
||||
|
||||
|
@ -19604,7 +19590,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:219
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:119
|
||||
#: superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.ts:87
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:61
|
||||
msgid "flat"
|
||||
msgstr ""
|
||||
|
||||
|
@ -20065,7 +20050,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:221
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:122
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:63
|
||||
msgid "staggered"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -613,7 +613,6 @@ msgid "2 years ago"
|
|||
msgstr "2 года назад"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:97
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:49
|
||||
msgid "2/98 percentiles"
|
||||
msgstr "2/98 перцентели"
|
||||
|
||||
|
@ -756,7 +755,6 @@ msgid "7D"
|
|||
msgstr "7Д"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:98
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:50
|
||||
msgid "9/91 percentiles"
|
||||
msgstr "9/91 перцентели"
|
||||
|
||||
|
@ -2800,7 +2798,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:58
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:27
|
||||
msgid "Box Plot"
|
||||
msgstr "Ящик с усами"
|
||||
|
||||
|
@ -3429,7 +3426,6 @@ msgstr "ID графика"
|
|||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Treemap/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:31
|
||||
#: superset-frontend/src/explore/fixtures.tsx:34
|
||||
#: superset-frontend/src/explore/fixtures.tsx:77
|
||||
#: superset-frontend/src/explore/fixtures.tsx:86
|
||||
|
@ -5905,7 +5901,6 @@ msgid "Details of the certification"
|
|||
msgstr "Детали утверждения"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:91
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:43
|
||||
msgid "Determines how whiskers and outliers are calculated."
|
||||
msgstr "Определяет формулу расчета \"усов\" и выбросов."
|
||||
|
||||
|
@ -6045,7 +6040,6 @@ msgstr "Выполнить выбранный запрос"
|
|||
#: superset-frontend/plugins/legacy-plugin-chart-histogram/src/index.js:28
|
||||
#: superset-frontend/plugins/legacy-plugin-chart-horizon/src/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:52
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:25
|
||||
msgid "Distribution"
|
||||
msgstr "Распределение"
|
||||
|
||||
|
@ -9000,7 +8994,6 @@ msgid "Line"
|
|||
msgstr "Линейный"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/index.ts:80
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/Line/createMetadata.ts:26
|
||||
msgid "Line Chart"
|
||||
msgstr "Линейный график"
|
||||
|
||||
|
@ -9651,7 +9644,6 @@ msgid "Min periods"
|
|||
msgstr "Минимальный период"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:96
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:48
|
||||
msgid "Min/max (no outliers)"
|
||||
msgstr "Мин/макс (без выбросов)"
|
||||
|
||||
|
@ -13138,7 +13130,6 @@ msgid "Scatter"
|
|||
msgstr "Точечный"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/index.ts:79
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/createMetadata.ts:26
|
||||
msgid "Scatter Plot"
|
||||
msgstr "Точечная диаграмма"
|
||||
|
||||
|
@ -15901,7 +15892,6 @@ msgstr "Имя пользователя, указанное при подклю
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:226
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:127
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:68
|
||||
msgid "The way the ticks are laid out on the X-axis"
|
||||
msgstr "Способ расположения делений по оси X"
|
||||
|
||||
|
@ -17076,7 +17066,6 @@ msgid "Tuesday"
|
|||
msgstr "Вторник"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:95
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:47
|
||||
#, fuzzy
|
||||
msgid "Tukey"
|
||||
msgstr "запрос"
|
||||
|
@ -18457,7 +18446,6 @@ msgid "Which relatives to highlight on hover"
|
|||
msgstr "Подсвечивается при наведении"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:89
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:41
|
||||
msgid "Whisker/outlier options"
|
||||
msgstr "Настройки усов/выбросов"
|
||||
|
||||
|
@ -18569,7 +18557,6 @@ msgstr "Логарифмическая ось X"
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:216
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:116
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:58
|
||||
msgid "X Tick Layout"
|
||||
msgstr "Расположение делений оси X"
|
||||
|
||||
|
@ -19215,7 +19202,6 @@ msgstr "в"
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:218
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:118
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Radar/controlPanel.tsx:54
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:60
|
||||
msgid "auto"
|
||||
msgstr "Автоматически"
|
||||
|
||||
|
@ -19648,7 +19634,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:219
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:119
|
||||
#: superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.ts:87
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:61
|
||||
msgid "flat"
|
||||
msgstr ""
|
||||
|
||||
|
@ -20098,7 +20083,6 @@ msgstr "С наполнением"
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:221
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:122
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:63
|
||||
#, fuzzy
|
||||
msgid "staggered"
|
||||
msgstr "Запущен"
|
||||
|
|
|
@ -561,7 +561,6 @@ msgid "2 years ago"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:97
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:49
|
||||
msgid "2/98 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -704,7 +703,6 @@ msgid "7D"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:98
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:50
|
||||
msgid "9/91 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2659,7 +2657,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:58
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:27
|
||||
msgid "Box Plot"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3265,7 +3262,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Treemap/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:31
|
||||
#: superset-frontend/src/explore/fixtures.tsx:34
|
||||
#: superset-frontend/src/explore/fixtures.tsx:77
|
||||
#: superset-frontend/src/explore/fixtures.tsx:86
|
||||
|
@ -5641,7 +5637,6 @@ msgid "Details of the certification"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:91
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:43
|
||||
msgid "Determines how whiskers and outliers are calculated."
|
||||
msgstr ""
|
||||
|
||||
|
@ -5775,7 +5770,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-plugin-chart-histogram/src/index.js:28
|
||||
#: superset-frontend/plugins/legacy-plugin-chart-horizon/src/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:52
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:25
|
||||
msgid "Distribution"
|
||||
msgstr ""
|
||||
|
||||
|
@ -8597,7 +8591,6 @@ msgid "Line"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/index.ts:80
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/Line/createMetadata.ts:26
|
||||
msgid "Line Chart"
|
||||
msgstr ""
|
||||
|
||||
|
@ -9216,7 +9209,6 @@ msgid "Min periods"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:96
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:48
|
||||
msgid "Min/max (no outliers)"
|
||||
msgstr ""
|
||||
|
||||
|
@ -12577,7 +12569,6 @@ msgid "Scatter"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/index.ts:79
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/createMetadata.ts:26
|
||||
msgid "Scatter Plot"
|
||||
msgstr ""
|
||||
|
||||
|
@ -15161,7 +15152,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:226
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:127
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:68
|
||||
msgid "The way the ticks are laid out on the X-axis"
|
||||
msgstr ""
|
||||
|
||||
|
@ -16266,7 +16256,6 @@ msgid "Tuesday"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:95
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:47
|
||||
msgid "Tukey"
|
||||
msgstr ""
|
||||
|
||||
|
@ -17557,7 +17546,6 @@ msgid "Which relatives to highlight on hover"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:89
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:41
|
||||
msgid "Whisker/outlier options"
|
||||
msgstr ""
|
||||
|
||||
|
@ -17669,7 +17657,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:216
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:116
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:58
|
||||
msgid "X Tick Layout"
|
||||
msgstr ""
|
||||
|
||||
|
@ -18273,7 +18260,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:218
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:118
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Radar/controlPanel.tsx:54
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:60
|
||||
msgid "auto"
|
||||
msgstr ""
|
||||
|
||||
|
@ -18697,7 +18683,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:219
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:119
|
||||
#: superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.ts:87
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:61
|
||||
msgid "flat"
|
||||
msgstr ""
|
||||
|
||||
|
@ -19135,7 +19120,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:221
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:122
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:63
|
||||
msgid "staggered"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -631,7 +631,6 @@ msgid "2 years ago"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:97
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:49
|
||||
msgid "2/98 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -781,7 +780,6 @@ msgid "7D"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:98
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:50
|
||||
msgid "9/91 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2863,7 +2861,6 @@ msgstr ""
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:58
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:27
|
||||
msgid "Box Plot"
|
||||
msgstr "Box Plot"
|
||||
|
||||
|
@ -3497,7 +3494,6 @@ msgstr "ID grafikona"
|
|||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Treemap/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:31
|
||||
#: superset-frontend/src/explore/fixtures.tsx:34
|
||||
#: superset-frontend/src/explore/fixtures.tsx:77
|
||||
#: superset-frontend/src/explore/fixtures.tsx:86
|
||||
|
@ -6008,7 +6004,6 @@ msgid "Details of the certification"
|
|||
msgstr "Podrobnosti certifikacije"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:91
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:43
|
||||
msgid "Determines how whiskers and outliers are calculated."
|
||||
msgstr "Določa kako so izračunani kvantili in izstopajoče vrednosti."
|
||||
|
||||
|
@ -6153,7 +6148,6 @@ msgstr "Porazdeli glede na"
|
|||
#: superset-frontend/plugins/legacy-plugin-chart-histogram/src/index.js:28
|
||||
#: superset-frontend/plugins/legacy-plugin-chart-horizon/src/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:52
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:25
|
||||
msgid "Distribution"
|
||||
msgstr "Porazdelitev"
|
||||
|
||||
|
@ -9160,7 +9154,6 @@ msgid "Line"
|
|||
msgstr "Črta"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/index.ts:80
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/Line/createMetadata.ts:26
|
||||
msgid "Line Chart"
|
||||
msgstr "Črtni grafikon"
|
||||
|
||||
|
@ -9816,7 +9809,6 @@ msgid "Min periods"
|
|||
msgstr "Min. št. period"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:96
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:48
|
||||
msgid "Min/max (no outliers)"
|
||||
msgstr ""
|
||||
|
||||
|
@ -13357,7 +13349,6 @@ msgid "Scatter"
|
|||
msgstr "Raztreseni"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/index.ts:79
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/createMetadata.ts:26
|
||||
msgid "Scatter Plot"
|
||||
msgstr "Raztreseni grafikon"
|
||||
|
||||
|
@ -16188,7 +16179,6 @@ msgstr "Uporabniško ime za povezavo s podatkovno bazo je neveljavno."
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:226
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:127
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:68
|
||||
msgid "The way the ticks are laid out on the X-axis"
|
||||
msgstr "Način razporeditve oznak na X-osi"
|
||||
|
||||
|
@ -17391,7 +17381,6 @@ msgid "Tuesday"
|
|||
msgstr "Torek"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:95
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:47
|
||||
#, fuzzy
|
||||
msgid "Tukey"
|
||||
msgstr "poizvedba"
|
||||
|
@ -18806,7 +18795,6 @@ msgid "Which relatives to highlight on hover"
|
|||
msgstr "Kateri element se poudari na prehodu z miško"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:89
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:41
|
||||
msgid "Whisker/outlier options"
|
||||
msgstr "Možnosti grafikona kvantilov"
|
||||
|
||||
|
@ -18922,7 +18910,6 @@ msgstr "Logaritemska X-os"
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:216
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:116
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:58
|
||||
msgid "X Tick Layout"
|
||||
msgstr "Postavitev oznak na X-osi"
|
||||
|
||||
|
@ -19575,7 +19562,6 @@ msgstr "ob"
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:218
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:118
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Radar/controlPanel.tsx:54
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:60
|
||||
#, fuzzy
|
||||
msgid "auto"
|
||||
msgstr "ob"
|
||||
|
@ -20011,7 +19997,6 @@ msgstr ""
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:219
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:119
|
||||
#: superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.ts:87
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:61
|
||||
#, fuzzy
|
||||
msgid "flat"
|
||||
msgstr "ob"
|
||||
|
@ -20479,7 +20464,6 @@ msgstr "Naloži"
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:221
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:122
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:63
|
||||
#, fuzzy
|
||||
msgid "staggered"
|
||||
msgstr "Ni sproženo"
|
||||
|
|
|
@ -581,7 +581,6 @@ msgid "2 years ago"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:97
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:49
|
||||
msgid "2/98 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -731,7 +730,6 @@ msgid "7D"
|
|||
msgstr ""
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:98
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:50
|
||||
msgid "9/91 percentiles"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2740,7 +2738,6 @@ msgstr "Y轴的边界。当空时,边界是根据数据的最小/最大值动
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:58
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:27
|
||||
msgid "Box Plot"
|
||||
msgstr "箱线图"
|
||||
|
||||
|
@ -3368,7 +3365,6 @@ msgstr "图表 ID"
|
|||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Treemap/controlPanel.tsx:61
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:31
|
||||
#: superset-frontend/src/explore/fixtures.tsx:34
|
||||
#: superset-frontend/src/explore/fixtures.tsx:77
|
||||
#: superset-frontend/src/explore/fixtures.tsx:86
|
||||
|
@ -5797,7 +5793,6 @@ msgid "Details of the certification"
|
|||
msgstr "认证详情"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:91
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:43
|
||||
msgid "Determines how whiskers and outliers are calculated."
|
||||
msgstr "确定如何计算箱须和离群值。"
|
||||
|
||||
|
@ -5936,7 +5931,6 @@ msgstr "基于某列进行分布"
|
|||
#: superset-frontend/plugins/legacy-plugin-chart-histogram/src/index.js:28
|
||||
#: superset-frontend/plugins/legacy-plugin-chart-horizon/src/index.js:26
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/index.ts:52
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/createMetadata.ts:25
|
||||
msgid "Distribution"
|
||||
msgstr "分布"
|
||||
|
||||
|
@ -8881,7 +8875,6 @@ msgid "Line"
|
|||
msgstr "行"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/index.ts:80
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/Line/createMetadata.ts:26
|
||||
msgid "Line Chart"
|
||||
msgstr "多线图"
|
||||
|
||||
|
@ -9522,7 +9515,6 @@ msgid "Min periods"
|
|||
msgstr "最小周期"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:96
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:48
|
||||
msgid "Min/max (no outliers)"
|
||||
msgstr ""
|
||||
|
||||
|
@ -13003,7 +12995,6 @@ msgid "Scatter"
|
|||
msgstr "散点"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/index.ts:79
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/ScatterPlot/createMetadata.ts:26
|
||||
msgid "Scatter Plot"
|
||||
msgstr "散点图"
|
||||
|
||||
|
@ -15692,7 +15683,6 @@ msgstr "连接到数据库时提供的用户名无效。"
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:226
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:127
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:68
|
||||
msgid "The way the ticks are laid out on the X-axis"
|
||||
msgstr "X轴记号的排列显示方式"
|
||||
|
||||
|
@ -16824,7 +16814,6 @@ msgid "Tuesday"
|
|||
msgstr "星期二"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:95
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:47
|
||||
#, fuzzy
|
||||
msgid "Tukey"
|
||||
msgstr "查询"
|
||||
|
@ -18146,7 +18135,6 @@ msgid "Which relatives to highlight on hover"
|
|||
msgstr "在悬停时突出显示哪些关系"
|
||||
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:89
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:41
|
||||
msgid "Whisker/outlier options"
|
||||
msgstr "箱须/离群值选项"
|
||||
|
||||
|
@ -18259,7 +18247,6 @@ msgstr "X经度标度"
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:216
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:116
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:58
|
||||
msgid "X Tick Layout"
|
||||
msgstr "X轴记号图层"
|
||||
|
||||
|
@ -18887,7 +18874,6 @@ msgstr "在"
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:218
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:118
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/Radar/controlPanel.tsx:54
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:60
|
||||
#, fuzzy
|
||||
msgid "auto"
|
||||
msgstr "在"
|
||||
|
@ -19334,7 +19320,6 @@ msgstr "'filter_box将在Superset的未来版本中弃用。"
|
|||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:219
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:119
|
||||
#: superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.ts:87
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:61
|
||||
#, fuzzy
|
||||
msgid "flat"
|
||||
msgstr "在"
|
||||
|
@ -19797,7 +19782,6 @@ msgstr "堆叠"
|
|||
|
||||
#: superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx:221
|
||||
#: superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts:122
|
||||
#: superset-frontend/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts:63
|
||||
#, fuzzy
|
||||
msgid "staggered"
|
||||
msgstr "没有触发"
|
||||
|
|
Loading…
Reference in New Issue