123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679 |
- /*
- * uCharts®
- * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360)、Vue、Taro等支持canvas的框架平台
- * Copyright (c) 2021 QIUN®秋云 https://www.ucharts.cn All rights reserved.
- * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
- * 复制使用请保留本段注释,感谢支持开源!
- *
- * uCharts®官方网站
- * https://www.uCharts.cn
- *
- * 开源地址:
- * https://gitee.com/uCharts/uCharts
- *
- * uni-app插件市场地址:
- * http://ext.dcloud.net.cn/plugin?id=271
- *
- */
- // 主题颜色配置:如每个图表类型需要不同主题,请在对应图表类型上更改color属性
- const color = [
- "#1890FF",
- "#91CB74",
- "#FAC858",
- "#EE6666",
- "#73C0DE",
- "#3CA272",
- "#FC8452",
- "#9A60B4",
- "#ea7ccc",
- ];
- //事件转换函数,主要用作格式化x轴为时间轴,根据需求自行修改
- const formatDateTime = (timeStamp, returnType) => {
- var date = new Date();
- date.setTime(timeStamp * 1000);
- var y = date.getFullYear();
- var m = date.getMonth() + 1;
- m = m < 10 ? "0" + m : m;
- var d = date.getDate();
- d = d < 10 ? "0" + d : d;
- var h = date.getHours();
- h = h < 10 ? "0" + h : h;
- var minute = date.getMinutes();
- var second = date.getSeconds();
- minute = minute < 10 ? "0" + minute : minute;
- second = second < 10 ? "0" + second : second;
- if (returnType == "full") {
- return y + "-" + m + "-" + d + " " + h + ":" + minute + ":" + second;
- }
- if (returnType == "y-m-d") {
- return y + "-" + m + "-" + d;
- }
- if (returnType == "h:m") {
- return h + ":" + minute;
- }
- if (returnType == "h:m:s") {
- return h + ":" + minute + ":" + second;
- }
- return [y, m, d, h, minute, second];
- };
- const cfu = {
- //demotype为自定义图表类型,一般不需要自定义图表类型,只需要改根节点上对应的类型即可
- type: [
- "pie",
- "ring",
- "rose",
- "word",
- "funnel",
- "map",
- "arcbar",
- "line",
- "column",
- "mount",
- "bar",
- "area",
- "radar",
- "gauge",
- "candle",
- "mix",
- "tline",
- "tarea",
- "scatter",
- "bubble",
- "demotype",
- ],
- range: [
- "饼状图",
- "圆环图",
- "玫瑰图",
- "词云图",
- "漏斗图",
- "地图",
- "圆弧进度条",
- "折线图",
- "柱状图",
- "山峰图",
- "条状图",
- "区域图",
- "雷达图",
- "仪表盘",
- "K线图",
- "混合图",
- "时间轴折线",
- "时间轴区域",
- "散点图",
- "气泡图",
- "自定义类型",
- ],
- //增加自定义图表类型,如果需要categories,请在这里加入您的图表类型,例如最后的"demotype"
- //自定义类型时需要注意"tline","tarea","scatter","bubble"等时间轴(矢量x轴)类图表,没有categories,不需要加入categories
- categories: [
- "line",
- "column",
- "mount",
- "bar",
- "area",
- "radar",
- "gauge",
- "candle",
- "mix",
- "demotype",
- ],
- //instance为实例变量承载属性,不要删除
- instance: {},
- //option为opts及eopts承载属性,不要删除
- option: {},
- //下面是自定义format配置,因除H5端外的其他端无法通过props传递函数,只能通过此属性对应下标的方式来替换
- formatter: {
- yAxisDemo1: function (val, index, opts) {
- return val + "元";
- },
- yAxisDemo2: function (val, index, opts) {
- return val.toFixed(2);
- },
- xAxisDemo1: function (val, index, opts) {
- return val + "年";
- },
- xAxisDemo2: function (val, index, opts) {
- return formatDateTime(val, "h:m");
- },
- xAxisDemo3: function (val, index, opts) {
- return formatDateTime(val, "h:m:s");
- },
- seriesDemo1: function (val, index, series, opts) {
- return val + "元";
- },
- tooltipDemo1: function (item, category, index, opts) {
- if (index == 0) {
- return "随便用" + item.data + "年";
- } else {
- return "其他我没改" + item.data + "天";
- }
- },
- pieDemo: function (val, index, series, opts) {
- if (index !== undefined) {
- return series[index].name + ":" + series[index].data + "元";
- }
- },
- },
- //这里演示了自定义您的图表类型的option,可以随意命名,之后在组件上 type="demotype" 后,组件会调用这个花括号里的option,如果组件上还存在opts参数,会将demotype与opts中option合并后渲染图表。
- demotype: {
- //我这里把曲线图当做了自定义图表类型,您可以根据需要随意指定类型或配置
- type: "line",
- color: color,
- padding: [15, 10, 0, 15],
- xAxis: {
- disableGrid: true,
- },
- yAxis: {
- gridType: "dash",
- dashLength: 2,
- },
- legend: {},
- extra: {
- line: {
- type: "curve",
- width: 2,
- },
- },
- },
- //下面是自定义配置,请添加项目所需的通用配置
- pie: {
- type: "pie",
- color: color,
- padding: [5, 5, 5, 5],
- extra: {
- pie: {
- activeOpacity: 0.5,
- activeRadius: 10,
- offsetAngle: 0,
- labelWidth: 15,
- border: true,
- borderWidth: 3,
- borderColor: "#FFFFFF",
- },
- },
- },
- ring: {
- type: "ring",
- color: color,
- padding: [5, 5, 5, 5],
- rotate: false,
- dataLabel: true,
- legend: {
- show: true,
- position: "right",
- lineHeight: 25,
- },
- title: {
- name: "收益率",
- fontSize: 15,
- color: "#666666",
- },
- subtitle: {
- name: "70%",
- fontSize: 25,
- color: "#7cb5ec",
- },
- extra: {
- ring: {
- ringWidth: 30,
- activeOpacity: 0.5,
- activeRadius: 10,
- offsetAngle: 0,
- labelWidth: 15,
- border: true,
- borderWidth: 3,
- borderColor: "#FFFFFF",
- },
- },
- },
- rose: {
- type: "rose",
- color: color,
- padding: [5, 5, 5, 5],
- legend: {
- show: true,
- position: "left",
- lineHeight: 25,
- },
- extra: {
- rose: {
- type: "area",
- minRadius: 50,
- activeOpacity: 0.5,
- activeRadius: 10,
- offsetAngle: 0,
- labelWidth: 15,
- border: false,
- borderWidth: 2,
- borderColor: "#FFFFFF",
- },
- },
- },
- word: {
- type: "word",
- color: color,
- extra: {
- word: {
- type: "normal",
- autoColors: false,
- },
- },
- },
- funnel: {
- type: "funnel",
- color: color,
- padding: [15, 15, 0, 15],
- extra: {
- funnel: {
- activeOpacity: 0.3,
- activeWidth: 10,
- border: true,
- borderWidth: 2,
- borderColor: "#FFFFFF",
- fillOpacity: 1,
- labelAlign: "right",
- },
- },
- },
- map: {
- type: "map",
- color: color,
- padding: [0, 0, 0, 0],
- dataLabel: true,
- extra: {
- map: {
- border: true,
- borderWidth: 1,
- borderColor: "#666666",
- fillOpacity: 0.6,
- activeBorderColor: "#F04864",
- activeFillColor: "#FACC14",
- activeFillOpacity: 1,
- },
- },
- },
- arcbar: {
- type: "arcbar",
- color: color,
- title: {
- name: "百分比",
- fontSize: 25,
- color: "#00FF00",
- },
- subtitle: {
- name: "默认标题",
- fontSize: 15,
- color: "#666666",
- },
- extra: {
- arcbar: {
- type: "default",
- width: 12,
- backgroundColor: "#E9E9E9",
- startAngle: 0.75,
- endAngle: 0.25,
- gap: 2,
- },
- },
- },
- line: {
- type: "line",
- color: color,
- padding: [15, 10, 0, 15],
- xAxis: {
- disableGrid: true,
- },
- yAxis: {
- gridType: "dash",
- dashLength: 2,
- },
- legend: {},
- extra: {
- line: {
- type: "straight",
- width: 2,
- activeType: "hollow",
- },
- },
- },
- tline: {
- type: "line",
- color: color,
- padding: [15, 10, 0, 15],
- xAxis: {
- disableGrid: false,
- boundaryGap: "justify",
- },
- yAxis: {
- gridType: "dash",
- dashLength: 2,
- data: [
- {
- min: 0,
- max: 80,
- },
- ],
- },
- legend: {},
- extra: {
- line: {
- type: "curve",
- width: 2,
- activeType: "hollow",
- },
- },
- },
- tarea: {
- type: "area",
- color: color,
- padding: [15, 10, 0, 15],
- xAxis: {
- disableGrid: true,
- boundaryGap: "justify",
- },
- yAxis: {
- gridType: "dash",
- dashLength: 2,
- data: [
- {
- min: 0,
- max: 80,
- },
- ],
- },
- legend: {},
- extra: {
- area: {
- type: "curve",
- opacity: 0.2,
- addLine: true,
- width: 2,
- gradient: true,
- activeType: "hollow",
- },
- },
- },
- column: {
- type: "column",
- color: color,
- padding: [15, 15, 0, 5],
- xAxis: {
- disableGrid: true,
- },
- yAxis: {
- data: [{ min: 0 }],
- },
- legend: {},
- extra: {
- column: {
- type: "group",
- width: 30,
- activeBgColor: "#000000",
- activeBgOpacity: 0.08,
- },
- },
- },
- mount: {
- type: "mount",
- color: color,
- padding: [15, 15, 0, 5],
- xAxis: {
- disableGrid: true,
- },
- yAxis: {
- data: [{ min: 0 }],
- },
- legend: {},
- extra: {
- mount: {
- type: "mount",
- widthRatio: 1.5,
- },
- },
- },
- bar: {
- type: "bar",
- color: color,
- padding: [15, 30, 0, 5],
- xAxis: {
- boundaryGap: "justify",
- disableGrid: false,
- min: 0,
- axisLine: false,
- },
- yAxis: {},
- legend: {},
- extra: {
- bar: {
- type: "group",
- width: 30,
- meterBorde: 1,
- meterFillColor: "#FFFFFF",
- activeBgColor: "#000000",
- activeBgOpacity: 0.08,
- },
- },
- },
- area: {
- type: "area",
- color: color,
- padding: [15, 15, 0, 15],
- xAxis: {
- disableGrid: true,
- },
- yAxis: {
- gridType: "dash",
- dashLength: 2,
- },
- legend: {},
- extra: {
- area: {
- type: "straight",
- opacity: 0.2,
- addLine: true,
- width: 2,
- gradient: false,
- activeType: "hollow",
- },
- },
- },
- radar: {
- type: "radar",
- color: color,
- padding: [5, 5, 5, 5],
- dataLabel: false,
- legend: {
- show: true,
- position: "right",
- lineHeight: 25,
- },
- extra: {
- radar: {
- gridType: "radar",
- gridColor: "#CCCCCC",
- gridCount: 3,
- opacity: 0.2,
- max: 200,
- labelShow: true,
- },
- },
- },
- gauge: {
- type: "gauge",
- color: color,
- title: {
- name: "66Km/H",
- fontSize: 25,
- color: "#2fc25b",
- offsetY: 50,
- },
- subtitle: {
- name: "实时速度",
- fontSize: 15,
- color: "#1890ff",
- offsetY: -50,
- },
- extra: {
- gauge: {
- type: "default",
- width: 30,
- labelColor: "#666666",
- startAngle: 0.75,
- endAngle: 0.25,
- startNumber: 0,
- endNumber: 100,
- labelFormat: "",
- splitLine: {
- fixRadius: 0,
- splitNumber: 10,
- width: 30,
- color: "#FFFFFF",
- childNumber: 5,
- childWidth: 12,
- },
- pointer: {
- width: 24,
- color: "auto",
- },
- },
- },
- },
- candle: {
- type: "candle",
- color: color,
- padding: [15, 15, 0, 15],
- enableScroll: true,
- enableMarkLine: true,
- dataLabel: false,
- xAxis: {
- labelCount: 4,
- itemCount: 40,
- disableGrid: true,
- gridColor: "#CCCCCC",
- gridType: "solid",
- dashLength: 4,
- scrollShow: true,
- scrollAlign: "left",
- scrollColor: "#A6A6A6",
- scrollBackgroundColor: "#EFEBEF",
- },
- yAxis: {},
- legend: {},
- extra: {
- candle: {
- color: {
- upLine: "#f04864",
- upFill: "#f04864",
- downLine: "#2fc25b",
- downFill: "#2fc25b",
- },
- average: {
- show: true,
- name: ["MA5", "MA10", "MA30"],
- day: [5, 10, 20],
- color: ["#1890ff", "#2fc25b", "#facc14"],
- },
- },
- markLine: {
- type: "dash",
- dashLength: 5,
- data: [
- {
- value: 2150,
- lineColor: "#f04864",
- showLabel: true,
- },
- {
- value: 2350,
- lineColor: "#f04864",
- showLabel: true,
- },
- ],
- },
- },
- },
- mix: {
- type: "mix",
- color: color,
- padding: [15, 15, 0, 15],
- xAxis: {
- disableGrid: true,
- },
- yAxis: {
- disabled: false,
- disableGrid: false,
- splitNumber: 5,
- gridType: "dash",
- dashLength: 4,
- gridColor: "#CCCCCC",
- padding: 10,
- showTitle: true,
- data: [],
- },
- legend: {},
- extra: {
- mix: {
- column: {
- width: 20,
- },
- },
- },
- },
- scatter: {
- type: "scatter",
- color: color,
- padding: [15, 15, 0, 15],
- dataLabel: false,
- xAxis: {
- disableGrid: false,
- gridType: "dash",
- splitNumber: 5,
- boundaryGap: "justify",
- min: 0,
- },
- yAxis: {
- disableGrid: false,
- gridType: "dash",
- },
- legend: {},
- extra: {
- scatter: {},
- },
- },
- bubble: {
- type: "bubble",
- color: color,
- padding: [15, 15, 0, 15],
- xAxis: {
- disableGrid: false,
- gridType: "dash",
- splitNumber: 5,
- boundaryGap: "justify",
- min: 0,
- max: 250,
- },
- yAxis: {
- disableGrid: false,
- gridType: "dash",
- data: [
- {
- min: 0,
- max: 150,
- },
- ],
- },
- legend: {},
- extra: {
- bubble: {
- border: 2,
- opacity: 0.5,
- },
- },
- },
- };
- export default cfu;
|