diff --git a/README.md b/README.md
index 6921298..aa66059 100644
--- a/README.md
+++ b/README.md
@@ -39,13 +39,13 @@
* [ ] 表单详情(类似只读)
* [ ] 表单 props rules Mixins 封装
* 图表 Chart (D3, Echarts...)
- * [ ] 仪表盘
- * [ ] 折线图
- * [ ] 柱状图
- * [ ] 饼图
- * [ ] 散点图
- * [ ] 架构图
- * [ ] 雷达图
+ * [x] 仪表盘
+ * [x] 折线图
+ * [x] 柱状图
+ * [x] 饼图
+ * [x] 散点图
+ * [x] 架构图
+ * [x] 雷达图
* [ ] 混合图
* 工具 Tools
* [x] axios 封装
diff --git a/package.json b/package.json
index bf6a5ea..41b153e 100644
--- a/package.json
+++ b/package.json
@@ -15,6 +15,7 @@
"@fortawesome/vue-fontawesome": "~2.0.0",
"axios": "^0.20.0",
"core-js": "^3.6.5",
+ "echarts": "^4.9.0",
"element-ui": "^2.13.2",
"js-cookie": "^2.2.1",
"vue": "^2.6.11",
diff --git a/src/modules/ChartsTest/components/dialog/index.vue b/src/modules/ChartsTest/components/dialog/index.vue
new file mode 100644
index 0000000..73b13ff
--- /dev/null
+++ b/src/modules/ChartsTest/components/dialog/index.vue
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+ 取 消
+
+
+ 确 定
+
+
+
+
+
+
+
+
diff --git a/src/modules/ChartsTest/components/layout/index.vue b/src/modules/ChartsTest/components/layout/index.vue
new file mode 100644
index 0000000..34ee9ee
--- /dev/null
+++ b/src/modules/ChartsTest/components/layout/index.vue
@@ -0,0 +1,129 @@
+
+
+
+
+
+
![]()
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/modules/ChartsTest/data/index.js b/src/modules/ChartsTest/data/index.js
new file mode 100644
index 0000000..74e8cd9
--- /dev/null
+++ b/src/modules/ChartsTest/data/index.js
@@ -0,0 +1,856 @@
+export default {
+ echarts: [
+ {
+ id: 1,
+ name: 'Echarts仪表盘',
+ data: {
+ tooltip: '{a}
{b} : {c}%',
+ series: [
+ {
+ name: '业务指标',
+ type: 'gauge',
+ detail: { formatter: '{value}%' },
+ data: [{ value: 50, name: '完成率' }]
+ }
+ ]
+ },
+ imgUrl:
+ 'https://echarts-www.cdn.bcebos.com/examples/data/thumb/gauge.jpg?_v_=20200710_1',
+ type: 'echartsDashboard'
+ },
+ {
+ id: 2,
+ name: 'Echarts折线图',
+ data: {
+ title: '折线图堆叠',
+ legend: ['邮件营销', '联盟广告', '视频广告', '直接访问', '搜索引擎'],
+ xAxis: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'],
+ series: [
+ {
+ name: '邮件营销',
+ type: 'line',
+ data: [120, 132, 101, 134, 90, 230, 210]
+ },
+ {
+ name: '联盟广告',
+ type: 'line',
+ data: [220, 182, 191, 234, 290, 330, 310]
+ },
+ {
+ name: '视频广告',
+ type: 'line',
+ data: [150, 232, 201, 154, 190, 330, 410]
+ },
+ {
+ name: '直接访问',
+ type: 'line',
+ data: [320, 332, 301, 334, 390, 330, 320]
+ },
+ {
+ name: '搜索引擎',
+ type: 'line',
+ data: [820, 932, 901, 934, 1290, 1330, 1320]
+ }
+ ]
+ },
+ imgUrl:
+ 'https://echarts-www.cdn.bcebos.com/examples/data/thumb/line-stack.jpg?_v_=20200710_1',
+ type: 'echartsLine'
+ },
+ {
+ id: 3,
+ name: 'Echarts柱状图',
+ data: {
+ dimensions: ['product', '2015', '2016', '2017'],
+ source: [
+ { product: 'Matcha Latte', 2015: 43.3, 2016: 85.8, 2017: 93.7 },
+ { product: 'Milk Tea', 2015: 83.1, 2016: 73.4, 2017: 55.1 },
+ { product: 'Cheese Cocoa', 2015: 86.4, 2016: 65.2, 2017: 82.5 },
+ { product: 'Walnut Brownie', 2015: 72.4, 2016: 53.9, 2017: 39.1 }
+ ]
+ },
+ imgUrl:
+ 'https://echarts-www.cdn.bcebos.com/examples/data/thumb/dataset-simple0.jpg?_v_=20200710_1',
+ type: 'echartsBar'
+ },
+ {
+ id: 4,
+ name: 'Echarts饼图',
+ data: {
+ title: '某站点用户访问来源',
+ legend: ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎'],
+ series: [
+ {
+ name: '访问来源',
+ type: 'pie',
+ radius: '55%',
+ center: ['50%', '60%'],
+ data: [
+ { value: 335, name: '直接访问' },
+ { value: 310, name: '邮件营销' },
+ { value: 234, name: '联盟广告' },
+ { value: 135, name: '视频广告' },
+ { value: 1548, name: '搜索引擎' }
+ ],
+ emphasis: {
+ itemStyle: {
+ shadowBlur: 10,
+ shadowOffsetX: 0,
+ shadowColor: 'rgba(0, 0, 0, 0.5)'
+ }
+ }
+ }
+ ]
+ },
+ imgUrl:
+ 'https://echarts-www.cdn.bcebos.com/examples/data/thumb/pie-simple.jpg?_v_=20200710_1',
+ type: 'echartsPie'
+ },
+ {
+ id: 5,
+ name: 'Echarts散点图',
+ data: {
+ title: '散点图',
+ effectScatter: [
+ [172.7, 105.2],
+ [153.4, 42]
+ ],
+ scatter: [
+ [161.2, 51.6],
+ [167.5, 59.0],
+ [159.5, 49.2],
+ [157.0, 63.0],
+ [155.8, 53.6],
+ [170.0, 59.0],
+ [159.1, 47.6],
+ [166.0, 69.8],
+ [176.2, 66.8],
+ [160.2, 75.2],
+ [172.5, 55.2],
+ [170.9, 54.2],
+ [172.9, 62.5],
+ [153.4, 42.0],
+ [160.0, 50.0],
+ [147.2, 49.8],
+ [168.2, 49.2],
+ [175.0, 73.2],
+ [157.0, 47.8],
+ [167.6, 68.8],
+ [159.5, 50.6],
+ [175.0, 82.5],
+ [166.8, 57.2],
+ [176.5, 87.8],
+ [170.2, 72.8],
+ [174.0, 54.5],
+ [173.0, 59.8],
+ [179.9, 67.3],
+ [170.5, 67.8],
+ [160.0, 47.0],
+ [154.4, 46.2],
+ [162.0, 55.0],
+ [176.5, 83.0],
+ [160.0, 54.4],
+ [152.0, 45.8],
+ [162.1, 53.6],
+ [170.0, 73.2],
+ [160.2, 52.1],
+ [161.3, 67.9],
+ [166.4, 56.6],
+ [168.9, 62.3],
+ [163.8, 58.5],
+ [167.6, 54.5],
+ [160.0, 50.2],
+ [161.3, 60.3],
+ [167.6, 58.3],
+ [165.1, 56.2],
+ [160.0, 50.2],
+ [170.0, 72.9],
+ [157.5, 59.8],
+ [167.6, 61.0],
+ [160.7, 69.1],
+ [163.2, 55.9],
+ [152.4, 46.5],
+ [157.5, 54.3],
+ [168.3, 54.8],
+ [180.3, 60.7],
+ [165.5, 60.0],
+ [165.0, 62.0],
+ [164.5, 60.3],
+ [156.0, 52.7],
+ [160.0, 74.3],
+ [163.0, 62.0],
+ [165.7, 73.1],
+ [161.0, 80.0],
+ [162.0, 54.7],
+ [166.0, 53.2],
+ [174.0, 75.7],
+ [172.7, 61.1],
+ [167.6, 55.7],
+ [151.1, 48.7],
+ [164.5, 52.3],
+ [163.5, 50.0],
+ [152.0, 59.3],
+ [169.0, 62.5],
+ [164.0, 55.7],
+ [161.2, 54.8],
+ [155.0, 45.9],
+ [170.0, 70.6],
+ [176.2, 67.2],
+ [170.0, 69.4],
+ [162.5, 58.2],
+ [170.3, 64.8],
+ [164.1, 71.6],
+ [169.5, 52.8],
+ [163.2, 59.8],
+ [154.5, 49.0],
+ [159.8, 50.0],
+ [173.2, 69.2],
+ [170.0, 55.9],
+ [161.4, 63.4],
+ [169.0, 58.2],
+ [166.2, 58.6],
+ [159.4, 45.7],
+ [162.5, 52.2],
+ [159.0, 48.6],
+ [162.8, 57.8],
+ [159.0, 55.6],
+ [179.8, 66.8],
+ [162.9, 59.4],
+ [161.0, 53.6],
+ [151.1, 73.2],
+ [168.2, 53.4],
+ [168.9, 69.0],
+ [173.2, 58.4],
+ [171.8, 56.2],
+ [178.0, 70.6],
+ [164.3, 59.8],
+ [163.0, 72.0],
+ [168.5, 65.2],
+ [166.8, 56.6],
+ [172.7, 105.2],
+ [163.5, 51.8],
+ [169.4, 63.4],
+ [167.8, 59.0],
+ [159.5, 47.6],
+ [167.6, 63.0],
+ [161.2, 55.2],
+ [160.0, 45.0],
+ [163.2, 54.0],
+ [162.2, 50.2],
+ [161.3, 60.2],
+ [149.5, 44.8],
+ [157.5, 58.8],
+ [163.2, 56.4],
+ [172.7, 62.0],
+ [155.0, 49.2],
+ [156.5, 67.2],
+ [164.0, 53.8],
+ [160.9, 54.4],
+ [162.8, 58.0],
+ [167.0, 59.8],
+ [160.0, 54.8],
+ [160.0, 43.2],
+ [168.9, 60.5],
+ [158.2, 46.4],
+ [156.0, 64.4],
+ [160.0, 48.8],
+ [167.1, 62.2],
+ [158.0, 55.5],
+ [167.6, 57.8],
+ [156.0, 54.6],
+ [162.1, 59.2],
+ [173.4, 52.7],
+ [159.8, 53.2],
+ [170.5, 64.5],
+ [159.2, 51.8],
+ [157.5, 56.0],
+ [161.3, 63.6],
+ [162.6, 63.2],
+ [160.0, 59.5],
+ [168.9, 56.8],
+ [165.1, 64.1],
+ [162.6, 50.0],
+ [165.1, 72.3],
+ [166.4, 55.0],
+ [160.0, 55.9],
+ [152.4, 60.4],
+ [170.2, 69.1],
+ [162.6, 84.5],
+ [170.2, 55.9],
+ [158.8, 55.5],
+ [172.7, 69.5],
+ [167.6, 76.4],
+ [162.6, 61.4],
+ [167.6, 65.9],
+ [156.2, 58.6],
+ [175.2, 66.8],
+ [172.1, 56.6],
+ [162.6, 58.6],
+ [160.0, 55.9],
+ [165.1, 59.1],
+ [182.9, 81.8],
+ [166.4, 70.7],
+ [165.1, 56.8],
+ [177.8, 60.0],
+ [165.1, 58.2],
+ [175.3, 72.7],
+ [154.9, 54.1],
+ [158.8, 49.1],
+ [172.7, 75.9],
+ [168.9, 55.0],
+ [161.3, 57.3],
+ [167.6, 55.0],
+ [165.1, 65.5],
+ [175.3, 65.5],
+ [157.5, 48.6],
+ [163.8, 58.6],
+ [167.6, 63.6],
+ [165.1, 55.2],
+ [165.1, 62.7],
+ [168.9, 56.6],
+ [162.6, 53.9],
+ [164.5, 63.2],
+ [176.5, 73.6],
+ [168.9, 62.0],
+ [175.3, 63.6],
+ [159.4, 53.2],
+ [160.0, 53.4],
+ [170.2, 55.0],
+ [162.6, 70.5],
+ [167.6, 54.5],
+ [162.6, 54.5],
+ [160.7, 55.9],
+ [160.0, 59.0],
+ [157.5, 63.6],
+ [162.6, 54.5],
+ [152.4, 47.3],
+ [170.2, 67.7],
+ [165.1, 80.9],
+ [172.7, 70.5],
+ [165.1, 60.9],
+ [170.2, 63.6],
+ [170.2, 54.5],
+ [170.2, 59.1],
+ [161.3, 70.5],
+ [167.6, 52.7],
+ [167.6, 62.7],
+ [165.1, 86.3],
+ [162.6, 66.4],
+ [152.4, 67.3],
+ [168.9, 63.0],
+ [170.2, 73.6],
+ [175.2, 62.3],
+ [175.2, 57.7],
+ [160.0, 55.4],
+ [165.1, 104.1],
+ [174.0, 55.5],
+ [170.2, 77.3],
+ [160.0, 80.5],
+ [167.6, 64.5],
+ [167.6, 72.3],
+ [167.6, 61.4],
+ [154.9, 58.2],
+ [162.6, 81.8],
+ [175.3, 63.6],
+ [171.4, 53.4],
+ [157.5, 54.5],
+ [165.1, 53.6],
+ [160.0, 60.0],
+ [174.0, 73.6],
+ [162.6, 61.4],
+ [174.0, 55.5],
+ [162.6, 63.6],
+ [161.3, 60.9],
+ [156.2, 60.0],
+ [149.9, 46.8],
+ [169.5, 57.3],
+ [160.0, 64.1],
+ [175.3, 63.6],
+ [169.5, 67.3],
+ [160.0, 75.5],
+ [172.7, 68.2],
+ [162.6, 61.4],
+ [157.5, 76.8],
+ [176.5, 71.8],
+ [164.4, 55.5],
+ [160.7, 48.6],
+ [174.0, 66.4],
+ [163.8, 67.3]
+ ]
+ },
+ imgUrl:
+ 'https://echarts-www.cdn.bcebos.com/examples/data/thumb/scatter-effect.jpg?_v_=20200710_1',
+ type: 'echartsScatter'
+ },
+ {
+ id: 6,
+ name: 'Echarts架构图',
+ data: {
+ data: {
+ name: 'flare',
+ children: [
+ {
+ name: 'analytics',
+ children: [
+ {
+ name: 'cluster',
+ children: [
+ { name: 'AgglomerativeCluster', value: 3938 },
+ { name: 'CommunityStructure', value: 3812 },
+ { name: 'HierarchicalCluster', value: 6714 },
+ { name: 'MergeEdge', value: 743 }
+ ]
+ },
+ {
+ name: 'graph',
+ children: [
+ { name: 'BetweennessCentrality', value: 3534 },
+ { name: 'LinkDistance', value: 5731 },
+ { name: 'MaxFlowMinCut', value: 7840 },
+ { name: 'ShortestPaths', value: 5914 },
+ { name: 'SpanningTree', value: 3416 }
+ ]
+ },
+ {
+ name: 'optimization',
+ children: [{ name: 'AspectRatioBanker', value: 7074 }]
+ }
+ ],
+ collapsed: true
+ },
+ {
+ name: 'animate',
+ children: [
+ { name: 'Easing', value: 17010 },
+ { name: 'FunctionSequence', value: 5842 },
+ {
+ name: 'interpolate',
+ children: [
+ { name: 'ArrayInterpolator', value: 1983 },
+ { name: 'ColorInterpolator', value: 2047 },
+ { name: 'DateInterpolator', value: 1375 },
+ { name: 'Interpolator', value: 8746 },
+ { name: 'MatrixInterpolator', value: 2202 },
+ { name: 'NumberInterpolator', value: 1382 },
+ { name: 'ObjectInterpolator', value: 1629 },
+ { name: 'PointInterpolator', value: 1675 },
+ { name: 'RectangleInterpolator', value: 2042 }
+ ]
+ },
+ { name: 'ISchedulable', value: 1041 },
+ { name: 'Parallel', value: 5176 },
+ { name: 'Pause', value: 449 },
+ { name: 'Scheduler', value: 5593 },
+ { name: 'Sequence', value: 5534 },
+ { name: 'Transition', value: 9201 },
+ { name: 'Transitioner', value: 19975 },
+ { name: 'TransitionEvent', value: 1116 },
+ { name: 'Tween', value: 6006 }
+ ]
+ },
+ {
+ name: 'data',
+ children: [
+ {
+ name: 'converters',
+ children: [
+ { name: 'Converters', value: 721 },
+ { name: 'DelimitedTextConverter', value: 4294 },
+ { name: 'GraphMLConverter', value: 9800 },
+ { name: 'IDataConverter', value: 1314 },
+ { name: 'JSONConverter', value: 2220 }
+ ]
+ },
+ { name: 'DataField', value: 1759 },
+ { name: 'DataSchema', value: 2165 },
+ { name: 'DataSet', value: 586 },
+ { name: 'DataSource', value: 3331 },
+ { name: 'DataTable', value: 772 },
+ { name: 'DataUtil', value: 3322 }
+ ],
+ collapsed: true
+ },
+ {
+ name: 'display',
+ children: [
+ { name: 'DirtySprite', value: 8833 },
+ { name: 'LineSprite', value: 1732 },
+ { name: 'RectSprite', value: 3623 },
+ { name: 'TextSprite', value: 10066 }
+ ]
+ },
+ {
+ name: 'flex',
+ children: [{ name: 'FlareVis', value: 4116 }],
+ collapsed: true
+ },
+ {
+ name: 'physics',
+ children: [
+ { name: 'DragForce', value: 1082 },
+ { name: 'GravityForce', value: 1336 },
+ { name: 'IForce', value: 319 },
+ { name: 'NBodyForce', value: 10498 },
+ { name: 'Particle', value: 2822 },
+ { name: 'Simulation', value: 9983 },
+ { name: 'Spring', value: 2213 },
+ { name: 'SpringForce', value: 1681 }
+ ]
+ },
+ {
+ name: 'query',
+ children: [
+ { name: 'AggregateExpression', value: 1616 },
+ { name: 'And', value: 1027 },
+ { name: 'Arithmetic', value: 3891 },
+ { name: 'Average', value: 891 },
+ { name: 'BinaryExpression', value: 2893 },
+ { name: 'Comparison', value: 5103 },
+ { name: 'CompositeExpression', value: 3677 },
+ { name: 'Count', value: 781 },
+ { name: 'DateUtil', value: 4141 },
+ { name: 'Distinct', value: 933 },
+ { name: 'Expression', value: 5130 },
+ { name: 'ExpressionIterator', value: 3617 },
+ { name: 'Fn', value: 3240 },
+ { name: 'If', value: 2732 },
+ { name: 'IsA', value: 2039 },
+ { name: 'Literal', value: 1214 },
+ { name: 'Match', value: 3748 },
+ { name: 'Maximum', value: 843 },
+ {
+ name: 'methods',
+ children: [
+ { name: 'add', value: 593 },
+ { name: 'and', value: 330 },
+ { name: 'average', value: 287 },
+ { name: 'count', value: 277 },
+ { name: 'distinct', value: 292 },
+ { name: 'div', value: 595 },
+ { name: 'eq', value: 594 },
+ { name: 'fn', value: 460 },
+ { name: 'gt', value: 603 },
+ { name: 'gte', value: 625 },
+ { name: 'iff', value: 748 },
+ { name: 'isa', value: 461 },
+ { name: 'lt', value: 597 },
+ { name: 'lte', value: 619 },
+ { name: 'max', value: 283 },
+ { name: 'min', value: 283 },
+ { name: 'mod', value: 591 },
+ { name: 'mul', value: 603 },
+ { name: 'neq', value: 599 },
+ { name: 'not', value: 386 },
+ { name: 'or', value: 323 },
+ { name: 'orderby', value: 307 },
+ { name: 'range', value: 772 },
+ { name: 'select', value: 296 },
+ { name: 'stddev', value: 363 },
+ { name: 'sub', value: 600 },
+ { name: 'sum', value: 280 },
+ { name: 'update', value: 307 },
+ { name: 'variance', value: 335 },
+ { name: 'where', value: 299 },
+ { name: 'xor', value: 354 },
+ { name: '-', value: 264 }
+ ]
+ },
+ { name: 'Minimum', value: 843 },
+ { name: 'Not', value: 1554 },
+ { name: 'Or', value: 970 },
+ { name: 'Query', value: 13896 },
+ { name: 'Range', value: 1594 },
+ { name: 'StringUtil', value: 4130 },
+ { name: 'Sum', value: 791 },
+ { name: 'Variable', value: 1124 },
+ { name: 'Variance', value: 1876 },
+ { name: 'Xor', value: 1101 }
+ ],
+ collapsed: true
+ },
+ {
+ name: 'scale',
+ children: [
+ { name: 'IScaleMap', value: 2105 },
+ { name: 'LinearScale', value: 1316 },
+ { name: 'LogScale', value: 3151 },
+ { name: 'OrdinalScale', value: 3770 },
+ { name: 'QuantileScale', value: 2435 },
+ { name: 'QuantitativeScale', value: 4839 },
+ { name: 'RootScale', value: 1756 },
+ { name: 'Scale', value: 4268 },
+ { name: 'ScaleType', value: 1821 },
+ { name: 'TimeScale', value: 5833 }
+ ]
+ },
+ {
+ name: 'util',
+ children: [
+ { name: 'Arrays', value: 8258 },
+ { name: 'Colors', value: 10001 },
+ { name: 'Dates', value: 8217 },
+ { name: 'Displays', value: 12555 },
+ { name: 'Filter', value: 2324 },
+ { name: 'Geometry', value: 10993 },
+ {
+ name: 'heap',
+ children: [
+ { name: 'FibonacciHeap', value: 9354 },
+ { name: 'HeapNode', value: 1233 }
+ ]
+ },
+ { name: 'IEvaluable', value: 335 },
+ { name: 'IPredicate', value: 383 },
+ { name: 'IValueProxy', value: 874 },
+ {
+ name: 'math',
+ children: [
+ { name: 'DenseMatrix', value: 3165 },
+ { name: 'IMatrix', value: 2815 },
+ { name: 'SparseMatrix', value: 3366 }
+ ]
+ },
+ { name: 'Maths', value: 17705 },
+ { name: 'Orientation', value: 1486 },
+ {
+ name: 'palette',
+ children: [
+ { name: 'ColorPalette', value: 6367 },
+ { name: 'Palette', value: 1229 },
+ { name: 'ShapePalette', value: 2059 },
+ { name: 'SizePalette', value: 2291 }
+ ]
+ },
+ { name: 'Property', value: 5559 },
+ { name: 'Shapes', value: 19118 },
+ { name: 'Sort', value: 6887 },
+ { name: 'Stats', value: 6557 },
+ { name: 'Strings', value: 22026 }
+ ],
+ collapsed: true
+ },
+ {
+ name: 'vis',
+ children: [
+ {
+ name: 'axis',
+ children: [
+ { name: 'Axes', value: 1302 },
+ { name: 'Axis', value: 24593 },
+ { name: 'AxisGridLine', value: 652 },
+ { name: 'AxisLabel', value: 636 },
+ { name: 'CartesianAxes', value: 6703 }
+ ]
+ },
+ {
+ name: 'controls',
+ children: [
+ { name: 'AnchorControl', value: 2138 },
+ { name: 'ClickControl', value: 3824 },
+ { name: 'Control', value: 1353 },
+ { name: 'ControlList', value: 4665 },
+ { name: 'DragControl', value: 2649 },
+ { name: 'ExpandControl', value: 2832 },
+ { name: 'HoverControl', value: 4896 },
+ { name: 'IControl', value: 763 },
+ { name: 'PanZoomControl', value: 5222 },
+ { name: 'SelectionControl', value: 7862 },
+ { name: 'TooltipControl', value: 8435 }
+ ]
+ },
+ {
+ name: 'data',
+ children: [
+ { name: 'Data', value: 20544 },
+ { name: 'DataList', value: 19788 },
+ { name: 'DataSprite', value: 10349 },
+ { name: 'EdgeSprite', value: 3301 },
+ { name: 'NodeSprite', value: 19382 },
+ {
+ name: 'render',
+ children: [
+ { name: 'ArrowType', value: 698 },
+ { name: 'EdgeRenderer', value: 5569 },
+ { name: 'IRenderer', value: 353 },
+ { name: 'ShapeRenderer', value: 2247 }
+ ]
+ },
+ { name: 'ScaleBinding', value: 11275 },
+ { name: 'Tree', value: 7147 },
+ { name: 'TreeBuilder', value: 9930 }
+ ]
+ },
+ {
+ name: 'events',
+ children: [
+ { name: 'DataEvent', value: 2313 },
+ { name: 'SelectionEvent', value: 1880 },
+ { name: 'TooltipEvent', value: 1701 },
+ { name: 'VisualizationEvent', value: 1117 }
+ ]
+ },
+ {
+ name: 'legend',
+ children: [
+ { name: 'Legend', value: 20859 },
+ { name: 'LegendItem', value: 4614 },
+ { name: 'LegendRange', value: 10530 }
+ ]
+ },
+ {
+ name: 'operator',
+ children: [
+ {
+ name: 'distortion',
+ children: [
+ { name: 'BifocalDistortion', value: 4461 },
+ { name: 'Distortion', value: 6314 },
+ { name: 'FisheyeDistortion', value: 3444 }
+ ]
+ },
+ {
+ name: 'encoder',
+ children: [
+ { name: 'ColorEncoder', value: 3179 },
+ { name: 'Encoder', value: 4060 },
+ { name: 'PropertyEncoder', value: 4138 },
+ { name: 'ShapeEncoder', value: 1690 },
+ { name: 'SizeEncoder', value: 1830 }
+ ]
+ },
+ {
+ name: 'filter',
+ children: [
+ { name: 'FisheyeTreeFilter', value: 5219 },
+ { name: 'GraphDistanceFilter', value: 3165 },
+ { name: 'VisibilityFilter', value: 3509 }
+ ]
+ },
+ { name: 'IOperator', value: 1286 },
+ {
+ name: 'label',
+ children: [
+ { name: 'Labeler', value: 9956 },
+ { name: 'RadialLabeler', value: 3899 },
+ { name: 'StackedAreaLabeler', value: 3202 }
+ ]
+ },
+ {
+ name: 'layout',
+ children: [
+ { name: 'AxisLayout', value: 6725 },
+ { name: 'BundledEdgeRouter', value: 3727 },
+ { name: 'CircleLayout', value: 9317 },
+ { name: 'CirclePackingLayout', value: 12003 },
+ { name: 'DendrogramLayout', value: 4853 },
+ { name: 'ForceDirectedLayout', value: 8411 },
+ { name: 'IcicleTreeLayout', value: 4864 },
+ { name: 'IndentedTreeLayout', value: 3174 },
+ { name: 'Layout', value: 7881 },
+ { name: 'NodeLinkTreeLayout', value: 12870 },
+ { name: 'PieLayout', value: 2728 },
+ { name: 'RadialTreeLayout', value: 12348 },
+ { name: 'RandomLayout', value: 870 },
+ { name: 'StackedAreaLayout', value: 9121 },
+ { name: 'TreeMapLayout', value: 9191 }
+ ]
+ },
+ { name: 'Operator', value: 2490 },
+ { name: 'OperatorList', value: 5248 },
+ { name: 'OperatorSequence', value: 4190 },
+ { name: 'OperatorSwitch', value: 2581 },
+ { name: 'SortOperator', value: 2023 }
+ ]
+ },
+ { name: 'Visualization', value: 16540 }
+ ]
+ }
+ ]
+ }
+ },
+ imgUrl:
+ 'https://echarts-www.cdn.bcebos.com/examples/data/thumb/tree-basic.jpg?_v_=20200710_1',
+ type: 'echartsArchitecture'
+ },
+ {
+ id: 7,
+ name: 'Echarts雷达图',
+ data: {
+ title: '基础雷达图',
+ legend: ['预算分配(Allocated Budget)', '实际开销(Actual Spending)'],
+ series: [
+ {
+ name: '预算 vs 开销(Budget vs spending)',
+ type: 'radar',
+ // areaStyle: {normal: {}},
+ data: [
+ {
+ value: [4300, 10000, 28000, 35000, 50000, 19000],
+ name: '预算分配(Allocated Budget)'
+ },
+ {
+ value: [5000, 14000, 28000, 31000, 42000, 21000],
+ name: '实际开销(Actual Spending)'
+ }
+ ]
+ }
+ ],
+ indicator: [
+ { name: '销售(sales)', max: 6500 },
+ { name: '管理(Administration)', max: 16000 },
+ { name: '信息技术(Information Techology)', max: 30000 },
+ { name: '客服(Customer Support)', max: 38000 },
+ { name: '研发(Development)', max: 52000 },
+ { name: '市场(Marketing)', max: 25000 }
+ ]
+ },
+ imgUrl:
+ 'https://echarts-www.cdn.bcebos.com/examples/data/thumb/radar.jpg?_v_=20200710_1',
+ type: 'echartsRadar'
+ }
+ // {
+ // id: 8,
+ // name: 'Echarts混合图',
+ // data: {},
+ // imgUrl: '',
+ // type: 'echartsMixed'
+ // }
+ ],
+ d3: [
+ {
+ id: 2,
+ name: 'D3折线图',
+ data: {},
+ imgUrl: '',
+ type: 'D3Line'
+ },
+ {
+ id: 2,
+ name: 'D3折线图',
+ data: {},
+ imgUrl: '',
+ type: 'D3Line'
+ },
+ {
+ id: 2,
+ name: 'D3折线图',
+ data: {},
+ imgUrl: '',
+ type: 'D3Line'
+ },
+ {
+ id: 2,
+ name: 'D3折线图',
+ data: {},
+ imgUrl: '',
+ type: 'D3Line'
+ },
+ {
+ id: 2,
+ name: 'D3折线图',
+ data: {},
+ imgUrl: '',
+ type: 'D3Line'
+ }
+ ]
+}
diff --git a/src/modules/ChartsTest/pages/index.vue b/src/modules/ChartsTest/pages/index.vue
new file mode 100644
index 0000000..63dda08
--- /dev/null
+++ b/src/modules/ChartsTest/pages/index.vue
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/modules/ChartsTest/utils/d3/engine/d3Line.js b/src/modules/ChartsTest/utils/d3/engine/d3Line.js
new file mode 100644
index 0000000..19bdb04
--- /dev/null
+++ b/src/modules/ChartsTest/utils/d3/engine/d3Line.js
@@ -0,0 +1,3 @@
+export default function d3Line (data) {
+ console.log(data)
+}
diff --git a/src/modules/ChartsTest/utils/d3/index.js b/src/modules/ChartsTest/utils/d3/index.js
new file mode 100644
index 0000000..c0e8263
--- /dev/null
+++ b/src/modules/ChartsTest/utils/d3/index.js
@@ -0,0 +1,4 @@
+import d3Line from '@/modules/ChartsTest/utils/d3/engine/d3Line'
+export default {
+ d3Line
+}
diff --git a/src/modules/ChartsTest/utils/echarts/engine/EchartsArchitecture.js b/src/modules/ChartsTest/utils/echarts/engine/EchartsArchitecture.js
new file mode 100644
index 0000000..3bf1e41
--- /dev/null
+++ b/src/modules/ChartsTest/utils/echarts/engine/EchartsArchitecture.js
@@ -0,0 +1,37 @@
+// Dashboard 架构图
+export function echartsArchitecture ({ data }) {
+ return {
+ tooltip: {
+ trigger: 'item',
+ triggerOn: 'mousemove'
+ },
+ series: [
+ {
+ type: 'tree',
+ data: [data],
+ top: '1%',
+ left: '7%',
+ bottom: '1%',
+ right: '20%',
+ symbolSize: 7,
+ label: {
+ position: 'left',
+ verticalAlign: 'middle',
+ align: 'right',
+ fontSize: 9
+ },
+ leaves: {
+ label: {
+ position: 'right',
+ verticalAlign: 'middle',
+ align: 'left'
+ }
+ },
+
+ expandAndCollapse: true,
+ animationDuration: 550,
+ animationDurationUpdate: 750
+ }
+ ]
+ }
+}
diff --git a/src/modules/ChartsTest/utils/echarts/engine/EchartsBar.js b/src/modules/ChartsTest/utils/echarts/engine/EchartsBar.js
new file mode 100644
index 0000000..84be104
--- /dev/null
+++ b/src/modules/ChartsTest/utils/echarts/engine/EchartsBar.js
@@ -0,0 +1,18 @@
+// Bar 柱状图
+export function echartsBar ({ dimensions, source }) {
+ return {
+ legend: {},
+ tooltip: {},
+ dataset: {
+ dimensions,
+ source
+ },
+ xAxis: { type: 'category' },
+ yAxis: {},
+ series: [
+ { type: 'bar' },
+ { type: 'bar' },
+ { type: 'bar' }
+ ]
+ }
+}
diff --git a/src/modules/ChartsTest/utils/echarts/engine/EchartsDashboard.js b/src/modules/ChartsTest/utils/echarts/engine/EchartsDashboard.js
new file mode 100644
index 0000000..e616e78
--- /dev/null
+++ b/src/modules/ChartsTest/utils/echarts/engine/EchartsDashboard.js
@@ -0,0 +1,13 @@
+// Dashboard 仪表盘
+export function echartsDashboard ({ tooltip, series }) {
+ return {
+ tooltip,
+ toolbox: {
+ feature: {
+ restore: {},
+ saveAsImage: {}
+ }
+ },
+ series
+ }
+}
diff --git a/src/modules/ChartsTest/utils/echarts/engine/EchartsLine.js b/src/modules/ChartsTest/utils/echarts/engine/EchartsLine.js
new file mode 100644
index 0000000..15a9c14
--- /dev/null
+++ b/src/modules/ChartsTest/utils/echarts/engine/EchartsLine.js
@@ -0,0 +1,34 @@
+// Line 折线图
+export function echartsLine ({ title, legend, xAxis, series }) {
+ return {
+ title: {
+ text: title
+ },
+ tooltip: {
+ trigger: 'axis'
+ },
+ legend: {
+ data: legend
+ },
+ grid: {
+ left: '3%',
+ right: '4%',
+ bottom: '3%',
+ containLabel: true
+ },
+ toolbox: {
+ feature: {
+ saveAsImage: {}
+ }
+ },
+ xAxis: {
+ type: 'category',
+ boundaryGap: false,
+ data: xAxis
+ },
+ yAxis: {
+ type: 'value'
+ },
+ series
+ }
+}
diff --git a/src/modules/ChartsTest/utils/echarts/engine/EchartsMixed.js b/src/modules/ChartsTest/utils/echarts/engine/EchartsMixed.js
new file mode 100644
index 0000000..d21d601
--- /dev/null
+++ b/src/modules/ChartsTest/utils/echarts/engine/EchartsMixed.js
@@ -0,0 +1,4 @@
+// Mixed 混合图
+export function echartsMixed (data) {
+ console.log(data)
+}
diff --git a/src/modules/ChartsTest/utils/echarts/engine/EchartsPie.js b/src/modules/ChartsTest/utils/echarts/engine/EchartsPie.js
new file mode 100644
index 0000000..f069409
--- /dev/null
+++ b/src/modules/ChartsTest/utils/echarts/engine/EchartsPie.js
@@ -0,0 +1,20 @@
+// Pie 饼图
+export function echartsPie ({ title, legend, series }) {
+ return {
+ title: {
+ text: title,
+ subtext: '纯属虚构',
+ left: 'center'
+ },
+ tooltip: {
+ trigger: 'item',
+ formatter: '{a}
{b} : {c} ({d}%)'
+ },
+ legend: {
+ orient: 'vertical',
+ left: 'left',
+ data: legend
+ },
+ series
+ }
+}
diff --git a/src/modules/ChartsTest/utils/echarts/engine/EchartsRadar.js b/src/modules/ChartsTest/utils/echarts/engine/EchartsRadar.js
new file mode 100644
index 0000000..63b9925
--- /dev/null
+++ b/src/modules/ChartsTest/utils/echarts/engine/EchartsRadar.js
@@ -0,0 +1,25 @@
+// Radar 雷达图
+export function echartsRadar ({ title, legend, series, indicator }) {
+ return {
+ title: {
+ text: title
+ },
+ tooltip: {},
+ legend: {
+ data: legend
+ },
+ radar: {
+ // shape: 'circle',
+ name: {
+ textStyle: {
+ color: '#fff',
+ backgroundColor: '#999',
+ borderRadius: 3,
+ padding: [3, 5]
+ }
+ },
+ indicator
+ },
+ series
+ }
+}
diff --git a/src/modules/ChartsTest/utils/echarts/engine/EchartsScatter.js b/src/modules/ChartsTest/utils/echarts/engine/EchartsScatter.js
new file mode 100644
index 0000000..3d7138f
--- /dev/null
+++ b/src/modules/ChartsTest/utils/echarts/engine/EchartsScatter.js
@@ -0,0 +1,22 @@
+// Scatter 散点图
+export function echartsScatter ({ title, effectScatter, scatter }) {
+ return {
+ title: {
+ text: title
+ },
+ xAxis: {
+ scale: true
+ },
+ yAxis: {
+ scale: true
+ },
+ series: [{
+ type: 'effectScatter',
+ symbolSize: 20,
+ data: effectScatter
+ }, {
+ type: 'scatter',
+ data: scatter
+ }]
+ }
+}
diff --git a/src/modules/ChartsTest/utils/echarts/index.js b/src/modules/ChartsTest/utils/echarts/index.js
new file mode 100644
index 0000000..0533427
--- /dev/null
+++ b/src/modules/ChartsTest/utils/echarts/index.js
@@ -0,0 +1,18 @@
+import { echartsArchitecture } from './engine/EchartsArchitecture'
+import { echartsBar } from './engine/EchartsBar'
+import { echartsDashboard } from './engine/EchartsDashboard'
+import { echartsLine } from './engine/EchartsLine'
+import { echartsMixed } from './engine/EchartsMixed'
+import { echartsPie } from './engine/EchartsPie'
+import { echartsRadar } from './engine/EchartsRadar'
+import { echartsScatter } from './engine/EchartsScatter'
+export default {
+ echartsArchitecture,
+ echartsBar,
+ echartsDashboard,
+ echartsLine,
+ echartsMixed,
+ echartsPie,
+ echartsRadar,
+ echartsScatter
+}
diff --git a/src/router/routes.js b/src/router/routes.js
index b62eaf0..7101a82 100644
--- a/src/router/routes.js
+++ b/src/router/routes.js
@@ -42,6 +42,14 @@ const routes = [
}
]
},
+ {
+ path: '/charts',
+ name: 'Charts',
+ component: importModule('ChartsTest/pages/index'),
+ meta: {
+ title: '可视化-图表'
+ }
+ },
{
path: '/user',
component: Layout,
diff --git a/yarn.lock b/yarn.lock
index dc37034..5278d0e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3443,6 +3443,13 @@ ecc-jsbn@~0.1.1:
jsbn "~0.1.0"
safer-buffer "^2.1.0"
+echarts@^4.9.0:
+ version "4.9.0"
+ resolved "https://registry.yarnpkg.com/echarts/-/echarts-4.9.0.tgz#a9b9baa03f03a2a731e6340c55befb57a9e1347d"
+ integrity sha512-+ugizgtJ+KmsJyyDPxaw2Br5FqzuBnyOWwcxPKO6y0gc5caYcfnEUIlNStx02necw8jmKmTafmpHhGo4XDtEIA==
+ dependencies:
+ zrender "4.3.2"
+
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
@@ -9339,3 +9346,8 @@ yorkie@^2.0.0:
is-ci "^1.0.10"
normalize-path "^1.0.0"
strip-indent "^2.0.0"
+
+zrender@4.3.2:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/zrender/-/zrender-4.3.2.tgz#ec7432f9415c82c73584b6b7b8c47e1b016209c6"
+ integrity sha512-bIusJLS8c4DkIcdiK+s13HiQ/zjQQVgpNohtd8d94Y2DnJqgM1yjh/jpDb8DoL6hd7r8Awagw8e3qK/oLaWr3g==