提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:吴园园|2019-07-19 10:05:43.293|阅读 253 次
概述:AnyChart是灵活的高度可定制的跨浏览器、跨平台JavaScript (HTML5) 图表控件。本教程将为您介绍如何建立一个漂亮的WiFi极坐标图:一个定制的交互式JS(HTML5)极坐标图表,根据WiFi信号强度显示设备。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
我们将继续更新 Challenge AnyChart!我们提供了新的数据可视化教程。他们很好地展示了我们的JavaScript图表库是多么强大。今天的挑战是建立一个漂亮的WiFi极坐标图:一个定制的交互式JS(HTML5)极坐标图表,根据WiFi信号强度显示设备。
数据可视化任务
客户希望我们回答的问题是:
如何使用AnyChart图表库创建一个极坐标图表,显示不同接收区域中的设备:优秀,良好,中等和不良?
为了说明图表的外观,客户附上了以下图片:
他们还提到图片中的数字应附有图标,以直观地表示每个设备的类型。
方案概述
AnyChart API的极坐标图类方法将有助于解决这个有趣的数据可视化任务。
●首先,绘制极坐标图并为不同的接收区域添加调色板。
●然后使数据点看起来像设备,并在图表图例上更多地调整可视化。
●创建WiFi极坐标图
●按照JS极坐标图文档绘制图表并添加调色板。
您可以按如下方式设置极坐标图的数据:
var data = [ {x: 0, value: 0, signal: 0, name: "WiFi hotspot", deviceType: "wifi", mac: 'BF-AD-3A-36-A4-BE'}, {index: 1, x: 0, value: 2, signal: -8, name: "iPhone X", deviceType: "phone", mac: 'D6-18-CD-D4-DE-D2'}, {index: 2, x: 90, value: 4, signal: -35, name: "Samsung s8", deviceType: "phone", mac: '03-ED-5C-E2-76-F4'} ];
完成后,创建一个函数,负责使用数据中deviceType已定义的字段将图像链接到数据点:
function placeImages() { var src; if (this.getData("deviceType") === "phone") src = "//image.flaticon.com/icons/svg/65/65680.svg"; if (this.getData("deviceType") === "wifi") src = "//image.flaticon.com/icons/png/128/34/34143.png"; return { src: src, mode: 'fit', opacity: 1 } }
调整系列外观时执行该功能:
series.normal().fill(placeImages); series.selected().fill(placeImages).stroke('#0f4b86', 3);
您需要的最后一件事是使用anychart.standalones.legend()为WiFi极坐标图设置一个图例:
var legend = anychart.standalones.legend(); var legendItems = [ { text: 'Excellent', iconType: "square", iconFill: '#6cd053', iconStroke: {color: 'black', thickness: 2} },
并通过添加以下代码使其在鼠标悬停上交互:
legend.listen("legendItemMouseOver", function(e){ // highlight the area polar.yGrid().palette().itemAt(e.itemIndex + 1, "White 0.7"); }); legend.listen("legendItemMouseOut", function(e){ // reset the grid to default polar.yGrid().palette(gridPalette); });
基于JavaScript的自定义WiFi极坐标图已准备就绪。它可以在AnyChart Playground上找到并修改 。
WiFi极坐标图样本的完整代码如下:
anychart.onDocumentReady(function() { // create a stage var stage = anychart.graphics.create("container"); // create data var data = [ {x: 0, value: 0, signal: 0, name: "WiFi hotspot", deviceType: "wifi", mac: 'BF-AD-3A-36-A4-BE'}, {index: 1, x: 0, value: 2, signal: -8, name: "iPhone X", deviceType: "phone", mac: 'D6-18-CD-D4-DE-D2'}, {index: 2, x: 90, value: 4, signal: -35, name: "Samsung s8", deviceType: "phone", mac: '03-ED-5C-E2-76-F4'}, {index: 3, x: 50, value: 4, signal: -47, name: "Oneplus3T", deviceType: "phone", mac: '49-5C-D8-54-5A-5B'}, {index: 4, x: 120, value: 8, signal: -72, name: "Nokia 6", deviceType: "phone", mac: 'C5-F4-29-05-67-0D'}, {index: 5, x: 170, value: 2, signal: -12, name: "Samsung Note9", deviceType: "phone", mac: '91-72-36-E5-C1-0C'}, {index: 6, x: 200, value: 4, signal: -37, name: "iPhone XS", deviceType: "phone", mac: 'F5-C3-0F-2B-C8-AE'}, {index: 7, x: 210, value: 2, signal: -20, name: "Dell XPS", deviceType: "laptop", mac: '44-99-CF-1E-61-CD'}, {index: 8, x: 300, value: 4, signal: -42, name: "Apple MBP", deviceType: "laptop", mac: '2A-76-AC-F0-52-89'}, {index: 9, x: 100, value: 2, signal: -25, name: "Lenovo Tab3", deviceType: "tablet", mac: '6B-CC-F8-E8-21-6C'} ]; //create a chart var polar = anychart.polar(); var dataSet = anychart.data.set(data); //create a series var series = polar.marker(dataSet); //adjust the series appearance series.type('circle'); series.normal().fill(placeImages); series.normal().size(15).stroke(null); series.hovered().size(17); series.selected().size(17); series.selected().fill(placeImages).stroke('#0f4b86', 3); series.labels(true); series.labels() .anchor('center') .offsetY(-2) .fontSize(12) .fontColor('white') .format(function() { return this.getData('index'); }); var gridPalette = [["#70e952 0.8", "#61da44 0.8"], ["#6cd053 0.8", "#39d811 0.8"], ["#46978d 0.8", "#05bda5 0.8"], ["#274553 0.8", "#01638f 0.8"], ["#28323c 0.8", "#596985 0.8"]]; //adjust scales and axes polar.yGrid().palette(gridPalette); polar.yGrid().stroke("black", 6); polar.xGrid(false); polar.xScale().maximum(360); polar.yScale() .maximum(9) .minimum(0) .ticks([0, 1, 3, 5, 7, 9]); polar.xAxis(false); polar.yAxis(false); polar.yAxis().stroke(null); polar.background("#1f2429"); //adjust the tooltip polar.tooltip().format("Singnal strenthg: {%signal} dB\nMAC address: {%mac}"); polar.tooltip().titleFormat('{%name}'); polar.container(stage).draw(); //create and adjust a standalone legend var legend = anychart.standalones.legend(); var legendItems = [ { text: 'Excellent', iconType: "square", iconFill: '#6cd053', iconStroke: {color: 'black', thickness: 2} }, { text: 'Good', iconType: "square", iconFill: '#46978d', iconStroke: {color: 'black', thickness: 2} }, { text: 'Average', iconType: "square", iconFill: '#274553', iconStroke: {color: 'black', thickness: 2} }, { text: 'Poor', iconType: "square", iconFill: '#28323c', iconStroke: {color: 'black', thickness: 2} } ]; legend .items(legendItems) .itemsLayout('vertical') .align('left') .padding(5) .container(stage).draw(); legend.listen("legendItemMouseOver", function(e){ // highlight the area polar.yGrid().palette().itemAt(e.itemIndex + 1, "White 0.7"); }); legend.listen("legendItemMouseOut", function(e){ // reset the grid to default polar.yGrid().palette(gridPalette); }); function placeImages() { var src; if (this.getData("deviceType") === "phone") src = "//image.flaticon.com/icons/svg/65/65680.svg"; if (this.getData("deviceType") === "laptop") src = "//image.flaticon.com/icons/png/128/59/59505.png"; if (this.getData("deviceType") === "tablet") src = "//cdn2.iconfinder.com/data/icons/font-awesome/1792/tablet-128.png"; if (this.getData("deviceType") === "wifi") src = "//image.flaticon.com/icons/png/128/34/34143.png"; return { src: src, mode: 'fit', opacity: 1 } } });
想要购买Anychart正版授权的朋友可以。
有关产品资讯的更多精彩内容,敬请关注下方的微信公众号▼▼▼
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢