翻译|使用教程|编辑:杨鹏连|2020-11-10 13:56:09.263|阅读 359 次
概述:树映射是使用树数据结构创建的信息树的直观表示。它显示为2D嵌套矩形,代表树数据的节点和叶子以及它们之间的关系。本文介绍了如何创建树状图。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
FusionCharts Suite XT是全面的跨平台、跨浏览器JavaScript图表套包,其中包括FusionCharts XT、PowerCharts XT 、FusionWidgets XT、FusionMaps XT。支持 ASP、 ASP.NET、 PHP、 JSP、 ColdFusion、 Ruby on Rails、 JavaScript、甚至简单的HTML页面。它是你值得信赖的JavaScript图表解决方案,目前在全球有45万用户选择Fusioncharts来制作专业的JavaScript图表。
树映射是使用树数据结构创建的信息树的直观表示。它显示为2D嵌套矩形,代表树数据的节点和叶子以及它们之间的关系。
树形图应用
使用树形图显示使用树形结构显示的层次结构信息。例如,您可以使用树形图显示系统的文件夹结构。您还可以使用它来研究大型数据集中的模式和出现情况,因为颜色和大小尺寸是相关的。
树形图图表
在下面给出的图像中,您可以看到信息树如何转换为树图:
如何建立一个良好的树形图
有关树形图的重要概念
平铺
切片是一个过程,通过该过程树形图将大矩形划分为较小的子矩形。理想情况下,树图切片算法可创建纵横比接近于1的矩形,并根据基础数据树进行排序。
但是,这些属性具有相反的关系。您需要在优化放置顺序和长宽比之间进行选择。当优化长宽比时,放置的顺序变得难以预测。另一方面,如果稳定放置顺序,则纵横比会降低。因此,您可以对切片算法进行分类,例如:
宽高比(尤其是最里面的矩形)是树形图中最重要的约束之一。如果宽高比高,则树形图将具有细矩形,这是很难比较的。在理想情况下,树形图的宽高比预计为1,一眼看去,嵌套的矩形就是易于比较的正方形。
在实际的用例中,长宽比永远不会精确地为1,但是有些算法会通过权衡顺序来尝试将其保持为1。
在下表中,您可以看到常用算法以及使用它们时必须进行的权衡:
算法
订购
长宽比
切片切丁
已订购
很高
平方的
没订购
最低
您可以使用的其他算法包括:
互动与树图
相互作用模型(原样)
树形图的基本交互模型包括以下内容:
FusionCharts实现以下模型与树形图进行交互:
初期阶段
要向下钻取到叶节点,请直接单击该节点。例如,单击北部区域中的任何节点以更改图表视图。
然后,要返回上一级,请单击视图标题中的“北部区域”,或单击图表右上角的“返回父级”按钮。您也可以直接回到初始阶段。为此,请单击图表右上角的“返回顶部”按钮。
创建一个简单的树形图
当您需要分析层次结构信息时,树形图很有用。您可以比较树形图的2D嵌套矩形,以快速从数据中获取见解。要呈现一个树形图的图表,包括所提到的项目文件夹与.js文件的其余fusioncharts.treemap.js这里。
使用以下属性来构建简单的树形图:
您可以使用渐变图例渲染树状图,渐变图例是从colorRange定义派生的混合颜色窗格。您可以使用一对可拖动的指针绘制线性比例。这样,您为数字范围定义的每种颜色都将在其端点处混合到下一种颜色,从而形成渐变条。渐变比例尺上的每个点将代表唯一的颜色和值。因此,图表中所有不同的值将根据其在渐变标度上的位置以唯一的颜色显示。
使用以下属性来渲染带有渐变图例的树图:
{ "chart": { ... }, "data": [{ ... }], "colorrange": { "mapbypercent": "1", "gradient": "1", "minvalue": "-25", "code": "e24b1a", "startlabel": "Decline", "endlabel": "Rise", "color": [{ "code": "ffffff", "maxvalue": "0", "label": "Static" }, { "code": "6da81e", "maxvalue": "25", "label": "AVERAGE" }] } }渐变图例如下图所示:
您可以使用交互式渐变图例来过滤特定值范围内的节点。拖动比例指针以设置所需的下限和上限。
与梯度图例集合A样品树状图中仅示出具有值的(分配给这些节点sValue的属性)之间-10和10下面的图像中被示出。
请注意,未落入此括号的节点全部变为灰色。
对于树形图设置拼接算法
平铺是将大矩形划分为较小的子矩形的过程。理想情况下,树图切片算法可创建纵横比接近1的矩形,并根据基础数据/信息树进行排序。
切片算法会影响将较大的矩形划分为较小的子矩形的方式,从而影响图表的外观。FusionCharts支持以下算法:
使用正方化算法
树形图的平方算法在视觉上很吸引人,部分原因是节点靠近square形状,但这是以无序节点为代价的。但是,由于存在,您可能更喜欢使用平方算法而不是切片和骰子算法low aspect ratio,这意味着您可以轻松比较子节点。
将algorithm属性的值设置为squarified,以将后者用作切片算法。
请参考下面的代码:
{ "chart": { "algorithm": "squarified" } }
使用切片和切块算法
在树形图中,切片和切块切片算法是最简单的算法之一,并且在保持数据排序的同时提供了出色的稳定性。但是,要权衡的是它的高宽比,导致将树形图绘制为细矩形,这很难比较。
不过,如果您想使用此算法,请使用以下属性。请注意,您可以在3种不同的模式下使用此算法。
将algorithm属性的值设置为sliceanddice。
将属性的值设置为slicingMode要用于图表的模式:
垂直模式
在下面给出的图表中,您可以看到制造商的节点(例如Toyota Group,BMW Group)是垂直切片的,而其子节点是水平切片的。
请参考下面的代码:
{ "chart": { "algorithm": "sliceanddice", "slicingmode": "vertical" } }该图表如下图所示:
要将切片模式设置为horizontal,请参考以下代码:
{ "chart": { "algorithm": "sliceanddice", "slicingmode": "horizontal" } }备用模式
将切片模式设置为时alternate,请参考以下代码:
{ "chart": { "algorithm": "sliceanddice", "slicingmode": "alternate" } }配置树形图
使用FusionCharts Suite XT,您可以配置树状图的功能。您可以通过多种方式自定义树形图。例如,您可以:
在树形图中,导航栏显示一个遍历路径,您可以通过单击该路径来返回任何已遍历的父级。
将showNavigationBar属性的值设置为1,以在树图上显示导航栏。条形图可以显示遍历的路径,并提供单击即可切换到任何遍历的父级的功能。否则,它还可以提供返回到上一个工具栏(只能用于返回上一步)或返回到根级别的功能。
请参考下面的代码:
{ "chart": { "showNavigationBar": "1" } }上方的树状图显示了截至2015年按洲分列的全球人口及其识字率。
当您单击子节点时,被单击的节点及其子树将替换当前的根节点。例如,当您单击“东南亚区域”下的任何节点时,图表视图将变为下图所示。请注意,所有父节点在导航栏中都是可见的,您可以通过单击它们直接切换到其中的任何一个。
在数据驱动的树图中,您可以使用颜色范围根据其值来定义数据图的颜色。对于树形图,可以定义数据绘图颜色:
{ "chart": { ... }, "data": [{ "label": "Top Selling Brands", "fillcolor": "595f5d", "value": "5800", "data": [{ "label": "Samsung", "fillcolor": "838986", "value": "2217", "data": [{ ... }] }] }], "colorrange": { ... "color": [{ ... }] } }到目前为止使用的样本树图中的数据图颜色已使用colorRange对象分配。使用colorRangeobject定义渐变图例的数字范围。然后,您可以根据sValue属性值在数字范围内的位置为数据图分配颜色。
自定义个人数据图
使用以下属性来自定义单个数据图:
{ "chart": { ... }, "data": [{ "label": "Top Selling Brands", "fillcolor": "595f5d", "value": "5800", "data": [{ "label": "Samsung", "fillcolor": "838986", "value": "2217", "data": [{ "label": "Galaxy Note 4", "value": "519", "sValue": "1.09", "fillColor": "1b7ac7" }{ ... }] }] }], "colorrange": { ... "color": [{ ... }] } }自定义图表文字
使用以下属性可自定义图表画布中的所有文本,包括所有标题和子标题:
{ "chart": { "baseFont": "Arial", "baseFontSize": "11", "baseFontColor": "59605e" } }自定义数据标签
使用以下属性仅自定义图表中的数据标签:
{ "chart": { "labelFont": "Arial", "labelFontSize": "12", "labelFontColor": "ff0000", "labelFontBold": "1", "labelFontItalic": "1" } }数据标签应用发光效果
您可以将与标签字体颜色不同的背景色应用于数据标签,从而产生发光效果。当数据标签的字体颜色和矩形的填充颜色相同或相似时,这很有用,当使用渐变图例渲染图表时会发生这种情况。
使用以下属性来自定义数据标签的发光效果:
{ "chart": { "labelGlow": "1", "labelGlowIntensity": "50", "labelGlowColor": "#cccc00", "labelGlowRadius": "10" } }树形图中使用事件
使用FusionCharts Suite XT,您可以通过树图属性为工具提示和渐变图例等项目配置标准交互性。但是,如果需要进一步扩展图表交互性,则可以为此图表引发以下JavaScript事件,然后对它们进行自定义修改:
{ "chart": { "beforeDrillDown": "", "drillDown": "", "beforeDrillUp": "", "drillUp": "", "drillDownCancelled": "", "drillUpCancelled": "" } }
想要购买FusionCharts Suite XT正版授权,或了解更多产品信息请点击
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自: