G2
G2
G6
F2
L7
墨者学院
关于 G2
图表示例
API 文档
使用教程
English
折线图
基础折线图
双折线图
多折线图
其他折线图
条形图
分组条形图
堆叠条形图
基础条形图
柱状图
基础柱状图
分组柱状图
堆叠柱状图
直方图
饼图
环图
玫瑰图
基础饼图
嵌套饼图
点图
散点图
面积图
基础面积图
堆叠面积图
区间面积图
箱形图
箱型图
烛形图
烛形图
热力图
热力图
仪表盘
仪表盘
漏斗图
漏斗图
地图
地图
雷达图
雷达图
分面
分面
关系图
关系图
其他图表
其他
迷你图
组件使用
组件
基础饼图
《战狼3》关注度来源
该电影在微博上的信息量占据主导地位,微博仍然是目前娱乐影视的主要营销宣传增强影响力的主要渠道,也是主创团队和粉丝进行互动的主要方式。
源码
复制成功
复制失败
全屏
复制
运行
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,height=device-height"> <title>《战狼3》关注度来源</title> <style>::-webkit-scrollbar{display:none;}html,body{overflow:hidden;height:100%;margin:0;}</style> </head> <body> <div id="mountNode"></div> <script>/*Fixing iframe window.innerHeight 0 issue in Safari*/document.body.clientHeight;</script> <script src="https://gw.alipayobjects.com/os/antv/pkg/_antv.g2-3.5.1/dist/g2.min.js"></script> <script src="https://gw.alipayobjects.com/os/antv/pkg/_antv.data-set-0.10.1/dist/data-set.min.js"></script> <script src="https://gw.alipayobjects.com/os/antv/assets/lib/jquery-3.2.1.min.js"></script> <style> .g2-label-item { font-size: 12px; color: #ffffff; text-shadow: 0px 0px 2px #595959; } </style> <script> var otherRatio = 6.67 / 100; // Other 的占比 var otherOffsetAngle = otherRatio * Math.PI; // other 占的角度的一半 var data = [{ type: '微博', value: 93.33 }, { type: '其他', value: 6.67 }]; var other = [{ type: '论坛', value: 1.77 }, { type: '网站', value: 1.44 }, { type: '微信', value: 1.12 }, { type: '客户端', value: 1.05 }, { type: '新闻', value: 0.81 }, { type: '视频', value: 0.39 }, { type: '博客', value: 0.37 }, { type: '报刊', value: 0.17 }]; var chart = new G2.Chart({ container: 'mountNode', forceFit: true, height: window.innerHeight, padding: [0, 20, 0, 0] }); chart.legend(false); var view1 = chart.view({ start: { x: 0, y: 0 }, end: { x: 0.5, y: 1 } }); view1.coord('theta', { radius: 0.7, startAngle: 0 + otherOffsetAngle, endAngle: Math.PI * 2 + otherOffsetAngle }); view1.source(data); view1.intervalStack().position('value').color('type', ['#38c060', '#2593fc']).opacity(1).label('value', function() { return { offset: -10, useHtml: true, htmlTemplate: function htmlTemplate(text, item) { var d = item.point; var percent = text + "%"; return '<span class="g2-label-item">' + d.type + '<br/>' + percent + '</span>'; } }; }); var view2 = chart.view({ start: { x: 0.5, y: 0.1 }, end: { x: 1, y: 0.9 } }); view2.axis(false); view2.source(other, { value: { nice: false } }); view2.intervalStack().position('1*value').color('type', ['#063d8a', '#0b53b0', '#1770d6', '#2593fc', '#47abfc', '#6dc1fc', '#94d6fd', '#bbe7fe']).label('value', { position: 'right', offsetX: 5, offsetY: 10, formatter: function formatter(text, item) { var d = item.point; return d.type + ' ' + d.value + '%'; } }); chart.render(); drawLinkArea(); chart.on('afterpaint', function() { drawLinkArea(); }); /*---------绘制连接区间-----------*/ function drawLinkArea() { var canvas = chart.get('canvas'); var container = chart.get('backPlot'); var view1_coord = view1.get('coord'); var center = view1_coord.center; var radius = view1_coord.radius; var interval_geom = chart.getAllGeoms()[1]; var interval_container = interval_geom.get('shapeContainer'); var interval_bbox = interval_container.getBBox(); var view2_coord = view2.get('coord'); //area points var pie_start1 = { x: center.x + Math.cos(Math.PI * 2 - otherOffsetAngle) * radius, y: center.y + Math.sin(Math.PI * 2 - otherOffsetAngle) * radius }; var pie_start2 = { x: center.x + Math.cos(otherOffsetAngle) * radius, y: center.y + Math.sin(otherOffsetAngle) * radius }; var interval_end1 = { x: interval_bbox.minX, y: view2_coord.end.y }; var interval_end2 = { x: interval_bbox.minX, y: view2_coord.start.y }; var path = [['M', pie_start1.x, pie_start1.y], ['L', pie_start2.x, pie_start2.y], ['L', interval_end2.x, interval_end2.y], ['L', interval_end1.x, interval_end1.y], ['Z']]; container.addShape('path', { attrs: { path: path, fill: '#e9f4fe' } }); canvas.draw(); } </script> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,height=device-height"> <title>《战狼3》关注度来源</title> <style>::-webkit-scrollbar{display:none;}html,body{overflow:hidden;height:100%;margin:0;}</style> </head> <body style="background: #1f1f1f;"> <div id="mountNode"></div> <script>/*Fixing iframe window.innerHeight 0 issue in Safari*/document.body.clientHeight;</script> <script src="https://gw.alipayobjects.com/os/antv/pkg/_antv.g2-3.5.1/dist/g2.min.js"></script> <script src="https://gw.alipayobjects.com/os/antv/pkg/_antv.data-set-0.10.1/dist/data-set.min.js"></script> <script src="https://gw.alipayobjects.com/os/antv/assets/lib/jquery-3.2.1.min.js"></script> <script>G2.Global.setTheme('dark');</script> <style> .g2-label-item { font-size: 12px; color: #ffffff; text-shadow: 0px 0px 2px #595959; } </style> <script> var otherRatio = 6.67 / 100; // Other 的占比 var otherOffsetAngle = otherRatio * Math.PI; // other 占的角度的一半 var data = [{ type: '微博', value: 93.33 }, { type: '其他', value: 6.67 }]; var other = [{ type: '论坛', value: 1.77 }, { type: '网站', value: 1.44 }, { type: '微信', value: 1.12 }, { type: '客户端', value: 1.05 }, { type: '新闻', value: 0.81 }, { type: '视频', value: 0.39 }, { type: '博客', value: 0.37 }, { type: '报刊', value: 0.17 }]; var chart = new G2.Chart({ container: 'mountNode', forceFit: true, height: window.innerHeight, padding: [0, 20, 0, 0] }); chart.legend(false); var view1 = chart.view({ start: { x: 0, y: 0 }, end: { x: 0.5, y: 1 } }); view1.coord('theta', { radius: 0.7, startAngle: 0 + otherOffsetAngle, endAngle: Math.PI * 2 + otherOffsetAngle }); view1.source(data); view1.intervalStack().position('value').color('type', ['#38c060', '#2593fc']).opacity(1).label('value', function() { return { offset: -10, useHtml: true, htmlTemplate: function htmlTemplate(text, item) { var d = item.point; var percent = text + "%"; return '<span class="g2-label-item">' + d.type + '<br/>' + percent + '</span>'; } }; }); var view2 = chart.view({ start: { x: 0.5, y: 0.1 }, end: { x: 1, y: 0.9 } }); view2.axis(false); view2.source(other, { value: { nice: false } }); view2.intervalStack().position('1*value').color('type', ['#063d8a', '#0b53b0', '#1770d6', '#2593fc', '#47abfc', '#6dc1fc', '#94d6fd', '#bbe7fe']).label('value', { position: 'right', offsetX: 5, offsetY: 10, formatter: function formatter(text, item) { var d = item.point; return d.type + ' ' + d.value + '%'; } }); chart.render(); drawLinkArea(); chart.on('afterpaint', function() { drawLinkArea(); }); /*---------绘制连接区间-----------*/ function drawLinkArea() { var canvas = chart.get('canvas'); var container = chart.get('backPlot'); var view1_coord = view1.get('coord'); var center = view1_coord.center; var radius = view1_coord.radius; var interval_geom = chart.getAllGeoms()[1]; var interval_container = interval_geom.get('shapeContainer'); var interval_bbox = interval_container.getBBox(); var view2_coord = view2.get('coord'); //area points var pie_start1 = { x: center.x + Math.cos(Math.PI * 2 - otherOffsetAngle) * radius, y: center.y + Math.sin(Math.PI * 2 - otherOffsetAngle) * radius }; var pie_start2 = { x: center.x + Math.cos(otherOffsetAngle) * radius, y: center.y + Math.sin(otherOffsetAngle) * radius }; var interval_end1 = { x: interval_bbox.minX, y: view2_coord.end.y }; var interval_end2 = { x: interval_bbox.minX, y: view2_coord.start.y }; var path = [['M', pie_start1.x, pie_start1.y], ['L', pie_start2.x, pie_start2.y], ['L', interval_end2.x, interval_end2.y], ['L', interval_end1.x, interval_end1.y], ['Z']]; container.addShape('path', { attrs: { path: path, fill: '#e9f4fe' } }); canvas.draw(); } </script> </body> </html>
图表简介
该电影在微博上的信息量占据主导地位,微博仍然是目前娱乐影视的主要营销宣传增强影响力的主要渠道,也是主创团队和粉丝进行互动的主要方式。
了解更多
图表用法
数据来源:demo数据
相关链接
BizCharts
Viser