Toggle navigation
多x轴测试
By
临冬阿多
2018-08-08 15:33:11
脚本
16
21
作品使用的第三方脚本
数据管理
上传数据
支持小于 5M 任意格式(csv, xlsx, json, xml, ...)的数据文件
上传后可以通过生成的文件链接异步获取托管的数据。
历史数据
0 条
无历史数据
代码修改记录
信息提示
保存作品
对当前截图不满意?你还可以
上传本地截图
重新截图
作品名称
作品描述
标签
geo
grid
legend
markLine
markPoint
bar
effectScatter
line
lines
map
timeline
title
toolbox
tooltip
visualMap
作品默认版本
最新
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
20:11:45
图表已生成
整理代码
刷新
代码
app.title = 'Alpha2B'; var colors = ['#5d8bc3', '#76b981']; var names = ['基金净值', 'BTC走势']; var btc = [7473.61, 7458.24, 7464.74, 7432.88, 7425.89, 7449.28, 7465.07, 7460.16, 7408.08, 7399.66, 7262.48, 7262.1, 7076.73, 6982.79, 6999.99, 6977.82, 6987.31, 6993.57, 6988.75, 6997.5, 7007.22, 7003.87, 6914.8, 6939.69, 6950.14] var net = [1, 1.002322675, 0.997253137, 1.005398614, 1.007008361, 1.005958056, 1.002171108, 1.002624413, 1.007320166, 1.007984678, 1.024732433, 1.023483086, 1.046662805, 1.045482418, 1.036592564, 1.037228904, 1.034616939, 1.033634883, 1.029454721, 1.030605296, 1.027887702, 1.022713265, 1.033839751, 1.031862477, 1.030283172] var time = ['8/4 11:00', '8/4 12:00', '8/4 13:00', '8/4 14:00', '8/4 15:00', '8/4 16:00', '8/4 17:00', '8/4 18:00', '8/4 19:00', '8/4 20:00', '8/4 21:00', '8/4 22:00', '8/4 23:00', '8/5 0:00', '8/5 1:00', '8/5 2:00', '8/5 3:00', '8/5 4:00', '8/5 5:00', '8/5 6:00', '8/5 7:00', '8/5 8:00', '8/5 9:00', '8/5 10:00', '8/5 11:00'] var leftMin = 0.94; var leftMax = 1.06; var rightMin = 6900; var rightMax = 7500; var axisFontSize = 16; //----------------------------信号小图------------------------------- let xdata = [ '2018-08-04 11:12:59', '2018-08-04 11:16:59', '2018-08-04 11:58:00', '2018-08-04 15:51:17', '2018-08-04 16:39:59', '2018-08-04 17:03:10', '2018-08-04 17:10:01', '2018-08-04 17:49:59', '2018-08-04 18:14:59', '2018-08-04 18:45:59', '2018-08-04 19:02:01', '2018-08-04 19:28:04', '2018-08-04 19:59:02', '2018-08-04 21:40:59', '2018-08-04 22:01:08', '2018-08-04 22:53:04', '2018-08-04 22:58:59', '2018-08-04 23:07:00', '2018-08-04 23:15:01', '2018-08-04 23:49:59', '2018-08-04 23:59:11', '2018-08-05 00:11:05', '2018-08-05 00:35:27', '2018-08-05 01:01:01', '2018-08-05 01:19:02', '2018-08-05 01:45:58', '2018-08-05 02:41:01', '2018-08-05 03:27:06', '2018-08-05 03:56:00', '2018-08-05 04:02:59', '2018-08-05 04:13:02', '2018-08-05 05:09:00', '2018-08-05 05:53:01', '2018-08-05 06:17:59', '2018-08-05 06:50:04', '2018-08-05 07:06:59', '2018-08-05 07:27:56', '2018-08-05 07:53:59', '2018-08-05 08:24:38', '2018-08-05 09:21:01', '2018-08-05 09:52:59', '2018-08-05 10:31:59', '2018-08-05 11:03:11', '2018-08-05 11:11:56' ]; let ydata = [ 'up', 'down', 'up', 'up', 'down', 'up', 'down', 'up', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down', 'up', 'down' ]; let xMin = '2018-08-04 11:00:00'; let xMax = '2018-08-05 11:00:00'; let downColor = '#FFAEB9'; let upColor = '#008B00'; let data = []; let len = Math.min(xdata.length, ydata.length); let y = ydata[0] == 'up' ? 1 : 0; for (let i = 0; i < len; i++) { if (i > 0) { data.push({ name: xdata[i], value: [xdata[i], y] }) } else { data.push({ name: xMin, value: [xMin, y] }) } y = ydata[i] == 'up' ? 1 : -1; data.push({ name: xdata[i], value: [xdata[i], y] }) } let seriesData = []; len = data.length; for (let i = 1; i < len; i++) { let preValue = data[i - 1].value; let currentValye = data[i].value; if (currentValye[1] == 1) { seriesData.push({ name: '信号', xAxisIndex: 1, yAxisIndex: 2, symbol: 'none', type: 'line', data: data.slice(i - 1, i + 1), areaStyle: { color: upColor }, lineStyle: { color: '#FFFFFF00' } }) } else { seriesData.push({ name: '信号', xAxisIndex: 1, yAxisIndex: 2, symbol: 'none', type: 'line', data: data.slice(i - 1, i + 1), areaStyle: { color: downColor }, lineStyle: { color: '#FFFFFF00' }, }) } } let firstData = [{ name: names[0], data: net, type: 'line', yAxisIndex: 0, lineStyle: { normal: { width: 2.5, color: colors[0] } }, symbolSize: 7, }, { name: names[1], data: btc, type: 'line', yAxisIndex: 1, lineStyle: { normal: { width: 2.5, color: colors[1] } }, symbolSize: 7, } ]; option = { color: colors, grid: [{ left: '10%', right: '10%', bottom: 160 }, { left: '10%', right: '10%', height: 80, bottom: 40 }], legend: { itemWidth: 25, itemHeight: 15, data: names, textStyle: { fontSize: 16 } }, xAxis: [{ type: 'category', axisTick: { alignWithLabel: true }, data: time, axisLine: { lineStyle: { color: "#b5b5b5" } }, axisLabel: { show: true, textStyle: { fontFamily: "PingFang-SC-Medium", fontSize: 16, color: "#ffffff" } } }, { id: 1, gridIndex: 1, type: 'time', min: xMin, max: xMax, splitLine: { show: false }, axisLine: { show: false }, axisLabel: { show: false }, axisTick: { show: false }, axisPointer: { triggerTooltip: true } } ], yAxis: [{ id: 0, type: 'value', name: names[0], min: leftMin, max: leftMax, position: 'left', axisLine: { lineStyle: { color: colors[0] } }, nameTextStyle: { fontSize: 15 }, axisLabel: { show: true, textStyle: { fontFamily: "PingFang-SC-Medium", fontSize: axisFontSize, color: "#ffffff" } } }, { id: 1, type: 'value', name: names[1], min: rightMin, max: rightMax, position: 'right', axisLine: { lineStyle: { color: colors[1] } }, nameTextStyle: { fontSize: 15 }, axisLabel: { show: true, textStyle: { fontFamily: "PingFang-SC-Medium", fontSize: axisFontSize, color: "#ffffff" } } }, { id: 2, gridIndex: 1, axisLabel: { formatter: function(value,index){ if(value == 1){ return 'up'; } if(value == -1){ return 'down'; } return ''; } }, type: 'value', min: -1, max: 1, interval: 1, axisLine: { show: true, lineStyle: { color: '#999' } }, axisTick: { show: false }, splitLine: { lineStyle: { type: 'dashed' } }, } ], series: firstData.concat(seriesData) };