没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:吴园园|2019-07-19 10:05:43.293|阅读 338 次
概述: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@ke049m.cn
文章转载自:



本文将为大家介绍一些MyEclipse开发过程中能用到的EJB开发工具,欢迎下载最新版体验!
本文主要介绍如何在MVVM应用程序中使用虚拟源,欢迎下载最新版组件体验!
Parasoft C/C++test是一款功能强大的代码测试与分析工具,专为提升代码质量、确保软件安全与可靠性而设计。要在 Ubuntu 桌面环境中使用这一强大的工具,第一步就是完成其安装与许可证配置。
注意: Cogent DataHub 软件 v11 包含一些新功能,您的目标操作系统可能不支持这些功能。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@ke049m.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
半岛外围网上直营