提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:吴园园|2020-02-28 15:08:25.017|阅读 254 次
概述:学习如何使用JavaScript快速创建交互式热图。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
AnyChart是基于JavaScript (HTML5) 的图表控件。使用AnyChart控件,可创建跨浏览器和跨平台的交互式图表和仪表。AnyChart 图表目前已被很多知名大公司所使用,可用于仪表盘、报表、数据分析、统计学、金融等领域。重要推荐:
自定义JS热图图表
如您所见,上面构建的基本图表可能不足以有效地传达所有必须说的数据。这是定制化的地方,因为更改外观(例如颜色和文本)可以使图表对最终用户更清晰易懂。
AnyChart不仅使您能够轻松创建交互式JavaScript图表(包括热图),而且还使您可以根据自己的需要和品味自由更改它。
让我们进行以下修改。
HDI具有四个预定义的值范围类别-“低”,“中”,“高”和“非常高”。高的人类发展指数意味着更长的寿命,更高的教育水平以及更高的人均国民总收入。为了更好地传达此信息,让我们创建一个自定义的色标,使用顺序色标将每个颜色范围编码为不同的颜色。
该标尺具有特定的域和颜色范围。因此,现在我将每个类别设置为一个域,并根据类似于交通信号灯的调色板指定其颜色。
在这里,有必要使用anychart.scales.ordinalColor();构造函数,然后设置范围:
var customColorScale = anychart.scales.ordinalColor(); customColorScale.ranges([ { less: 0.549 }, { from: 0.550, to: 0.699 }, { from: 0.700, to: 0.799 }, { greater: 0.800 } ]);然后,我们需要指定要用于每个范围(从小到大)的颜色:
customColorScale.colors(["#CF7A78", "#E69645", "#69A231", "#4D7623"]);并将色标设置为热图图表的色标:
chart.colorScale(customColorScale);查看结果
添加热图图表图例
图例可帮助用户识别图表显示的内容。解释每种颜色和范围代表的含义时,它们就像相应数据可视化的手册。
要添加图例,只需一行简单的代码就足够了:
chart.legend(true);结果
现在,您可能需要更改图例中显示的信息,以使其更具信息性。例如,在这里我要显示范围名称,以便查看者可以清楚地了解哪种颜色编码了哪个范围。一种方法是在颜色范围构造函数中指定名称,如下所示:
var customColorScale = anychart.scales.ordinalColor(); customColorScale.ranges([ { less: 0.549, name: 'Low: <= 0.549', color: '#CF7A78' }, { from: 0.550, to: 0.699, name: 'Medium: 0.55 - 0.699', color: '#E69645' }, { from: 0.700, to: 0.799, name: 'High: 0.7 - 0.799', color: '#69A231' }, { greater: 0.800, name: 'Very High: >=0.8', color: '#4D7623' } ]);结果
隐藏标签和修改工具提示
标签
最后,您可以看到由于单元格中的所有这些数字,热图图表看起来有些密集,甚至有些混乱。颜色已经成功地对范围进行了编码,因此可以从单元格中隐藏数字,而可以将其作为额外信息显示在工具提示中以及范围名称。
仅用一行就可以从单元格中隐藏数字。继续添加:
chart.labels().enabled(false)
工具提示
在定制热图图表工具提示时,您可以做很多事情。
1.让我们从更改工具提示位置开始。默认情况下,位置模式设置为float,使工具提示跟随光标。我想设置工具提示位置模式,point 以防止当您将鼠标悬停在单元格上时其移动,希望此步骤将使阅读提供的信息更加容易。
此修改的代码如下:
var tooltip = chart.tooltip(); tooltip.positionMode("point");
2.同样,可以更改使用CSS属性指定的工具提示外观(例如,背景和文本颜色)。在“ 部分中,您可以找到这些属性的一些示例,并获得一些想法以应用自己的样式。
在这里,我将修改一个名为CSS的属性,以fontWeight使文本显示为粗体,因此更加鲜明。您可以将数字值添加到此属性(例如600),也可以使用bold关键字:
tooltip.fontWeight(600);
3.让我们再做一次修改,以向工具提示中显示的内容添加一些信息。首先,隐藏在单元格中的数字将显示在工具提示中,从而使对精确值感兴趣的人可以快速访问它们。其次,我想包含范围名称以解释数字的含义。
要添加所有这些信息,请使用包含这些名称的数组,因为无法从代码中的其他位置立即访问它们:
var categoryNames = ["Low", "Medium", "High", "Very High"]接下来,我将为范围使用条件,以便我们知道哪个名称应转到哪个单元格。为此,我将取热值并将其与色标中的范围相结合。这是代码:
tooltip.format(function () { if (this.heat <= 0.549) { return ("Value: " + this.heat + "\n Category: " + categoryNames[0]); } if (this.heat >= 0.55 && this.heat <= 0.699) { return ("Value: " + this.heat + "\n Category: " + categoryNames[1]); } if (this.heat >= 0.7 && this.heat <= 0.799) { return ("Value: " + this.heat + "\n Category: " + categoryNames[2]); } });
注意\n代码中的符号。它增加了一个换行符。
为了方便起见,以下是“工具提示”部分的完整代码:
var categoryNames = ["Low", "Medium", "High", "Very High"] var tooltip = chart.tooltip(); tooltip.fontWeight(600); tooltip.positionMode("point"); tooltip.format(function () { if (this.heat <= 0.549) { return ("Value: " + this.heat + "\n Category: " + categoryNames[0]); } if (this.heat >= 0.55 && this.heat <= 0.699) { return ("Value: " + this.heat + "\n Category: " + categoryNames[1]); } if (this.heat >= 0.7 && this.heat <= 0.799) { return ("Value: " + this.heat + "\n Category: " + categoryNames[2]); } });这是JavaScript热图图表的最终版本
新的热图比初始图看起来更漂亮,信息量更大,不是吗?现在我们可以清楚地看到,在考虑的时期内,世界上人类发展的人类发展水平有所提高。阿拉伯国家地区的HDI和东亚及太平洋地区的HDI从“中”提高到“高”。世界上没有一个地区的HDI值达到“非常高”的范围。撒哈拉以南非洲的人类发展指数处于最低水平。人类发展指数最高的两个地区是欧洲和中亚以及拉丁美洲和加勒比地区。
结论
教程已经表明,为网站和应用程序创建交互式JavaScript图表不必太复杂。使用AnyChart库,您可以在几分钟内获得漂亮的数据可视化,然后轻松地根据需要自定义它。
=====================================================
想要购买Anychart正版授权的朋友可以。
更多精彩内容,欢迎关注下方的微信公众号,及时获取产品最新资讯▼▼▼
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.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@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢