翻譯|使用教程|編輯:楊鵬連|2021-01-05 10:56:00.513|閱讀 217 次
概述:Sankey圖是一種流程圖,描述了從一個節(jié)點(diǎn)到另一個節(jié)點(diǎn)的資源(材料,能源,成本等)流。每個流的起點(diǎn)和終點(diǎn)稱為節(jié)點(diǎn),它們之間的流路徑稱為鏈接。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
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來制作專業(yè)的JavaScript圖表。
Sankey圖是一種流程圖,描述了從一個節(jié)點(diǎn)到另一個節(jié)點(diǎn)的資源(材料,能源,成本等)流。每個流的起點(diǎn)和終點(diǎn)稱為節(jié)點(diǎn),它們之間的流路徑稱為鏈接。一對節(jié)點(diǎn)之間只能有一個鏈接。每對節(jié)點(diǎn)之間的流的值由鏈接的寬度編碼。鏈接的顏色有助于與它們各自的節(jié)點(diǎn)建立視覺映射。
要創(chuàng)建sankey圖,請遵循以下步驟:
可以以水平布局(默認(rèn))或垂直布局繪制Sankey圖。帶有水平方向的Sankey圖如下所示:
上面提供的Sankey圖中有19個節(jié)點(diǎn)。鏈接連接彼此相關(guān)的任何兩個節(jié)點(diǎn)(即,在它們之間發(fā)生流)。如果將鼠標(biāo)懸停在節(jié)點(diǎn)上,將看到與該節(jié)點(diǎn)關(guān)聯(lián)的所有鏈接(或關(guān)系)。懸停在鏈接上將顯示兩個都是與之關(guān)聯(lián)的節(jié)點(diǎn)。
重要概念相關(guān)的熱平衡圖
Sankey圖可用于表示流數(shù)據(jù)。使用連接鏈接從一個節(jié)點(diǎn)流到另一個節(jié)點(diǎn)。整個圖中不應(yīng)重復(fù)任何節(jié)點(diǎn),并且一對連接節(jié)點(diǎn)之間最多應(yīng)有一個鏈接。
下面簡要介紹一些關(guān)鍵概念:
節(jié)點(diǎn)
節(jié)點(diǎn)是流程圖中的關(guān)鍵關(guān)頭。每個節(jié)點(diǎn)可以具有流資源的流入和流出。在我們的Sankey圖中,它們當(dāng)前由矩形表示。可以進(jìn)行大量的自定義,包括大小,顏色,標(biāo)簽,填充等。
每個節(jié)點(diǎn)在Sankey圖中應(yīng)該只出現(xiàn)一次。
要自定義節(jié)點(diǎn),請定義“ nodes”對象并為每個節(jié)點(diǎn)指定參數(shù)label。
鏈接
鏈接是連接節(jié)點(diǎn)的路徑。他們?yōu)榱鞒讨该鞣较?。它們本質(zhì)上是流體,并根據(jù)它們所連接的節(jié)點(diǎn)進(jìn)行成形(或彎曲)。每個鏈接都應(yīng)該知道它的源節(jié)點(diǎn)和宿節(jié)點(diǎn)。流值由鏈接的寬度編碼??梢愿鶕?jù)顏色,曲率和值定制它們。
如果鏈接沒有“從”和“到”節(jié)點(diǎn),則不會繪制該鏈接。
一對節(jié)點(diǎn)之間應(yīng)該有最大的鏈接。
流量值
Sankey圖中的每個鏈接表示從源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的流。對于水平Sankey圖,流向是從左到右,對于垂直圖,流向是從上到下。每個鏈接的粗細(xì)取決于從源節(jié)點(diǎn)到宿節(jié)點(diǎn)的流量。累積流量值可以顯示在節(jié)點(diǎn)上。
流量值link通過value參數(shù)在對象內(nèi)部定義。
突出特點(diǎn)
方向
Sankey圖的方向可以是水平或垂直。為此,請將orientation屬性的值分別設(shè)置為horizontal或vertical。默認(rèn)情況下,它設(shè)置為horizontal。
使用下面給出的代碼:
{ "chart": { "orientation": "vertical"; } }該圖表如下圖所示:
無節(jié)點(diǎn)Sankey
如果在Sankey Diagram中將nodeWidth屬性的值設(shè)置為對象0下的chart,則不會渲染節(jié)點(diǎn)。結(jié)果圖表僅顯示鏈接,稱為“無節(jié)點(diǎn)Sankey”。
使用下面給出的代碼:
{ "chart": { "nodeWidth": "0"; } }該圖表如下圖所示:
混合模式
Sankey圖支持blend鏈接顏色的模式。要應(yīng)用此模式,需要將linkColor屬性的值設(shè)置為blend。當(dāng)您這樣做時,由源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)的顏色組合而成的漸變將應(yīng)用于鏈接。您可以在chart對象下提及這一點(diǎn),以將混合模式應(yīng)用于圖表中的每個鏈接。否則,您可以在links對象下提及它,以將其應(yīng)用于特定鏈接。
使用下面給出的代碼:
{ "chart": { "linkColor": "blend"; } }拖動
您可以在垂直方向上將Sankey圖中的節(jié)點(diǎn)拖動到水平Sankey,在水平方向上拖動以垂直Sankey。默認(rèn)情況下,Sankey圖啟用了拖動功能。要禁用拖動,請將enableDrag屬性的值設(shè)置為0。
使用下面給出的代碼:
{ "chart": { "enableDrag": "0" } }鏈接曲率
您可以設(shè)置呈現(xiàn)圖表中鏈接的角度。要做到這一點(diǎn),該值設(shè)置linkCurvature屬性0,1或它們之間的任何十進(jìn)制值。請注意,如果將值設(shè)置為0,則鏈接將呈現(xiàn)為直線,如果將其設(shè)置為1,則將以最大可能的曲率呈現(xiàn)。
您可以在圖表中全局設(shè)置所有鏈接的曲率。為此,linkCurvature如上所述設(shè)置屬性的值,并將其包括在chart對象中。但是,如果要設(shè)置單個鏈接的曲率,請curvature如上所述設(shè)置屬性的值,并將其包括在該links特定鏈接的對象內(nèi)。
如果同時全局(在chart對象下)和局部(在link對象下)設(shè)置鏈接的曲率,則局部值將覆蓋全局值。
請參閱下面給出的代碼:
{ "chart": { "linkCurvature": "0" } }該圖表如下圖所示:
自定義Sankey圖
在以下各節(jié)中,您將在Sankey Diagram中看到用于自定義節(jié)點(diǎn)和鏈接的選項(xiàng)。
節(jié)點(diǎn)定制
設(shè)置節(jié)點(diǎn)寬度
您可以設(shè)置圖表上節(jié)點(diǎn)的寬度。為此,請將nodeWidth屬性的值設(shè)置為所需的值。
使用下面給出的代碼:
{ "chart": { "nodeWidth": "5"; } }
位置節(jié)點(diǎn)標(biāo)簽
您可以將節(jié)點(diǎn)標(biāo)簽放置在節(jié)點(diǎn)的開頭,結(jié)尾或內(nèi)部。為此,請將nodeLabelPosition屬性的值設(shè)置為以下之一:
僅當(dāng)showNodeLabelsvalue屬性的值設(shè)置為時,才能放置Sankey圖的節(jié)點(diǎn)標(biāo)簽1。此屬性的默認(rèn)值為1。
使用下面給出的代碼:
{ "chart": { "nodeLabelPosition": "right" } }隱藏節(jié)點(diǎn)標(biāo)簽
如果節(jié)點(diǎn)的標(biāo)簽在Sankey圖表中造成混亂,則FusionCharts允許您隱藏圖表中的所有標(biāo)簽。為此,請將showNodeLabels屬性設(shè)置為0。
請參考下面的代碼:
{ "chart": { "showNodeLabels": "0" } }要隱藏節(jié)點(diǎn)的特定標(biāo)簽,請將showLabelattribute的值設(shè)置為0。showLabel應(yīng)在nodes數(shù)組內(nèi)部調(diào)用該屬性。
請參考下面的代碼:
{ "chart": { }, "nodes": [{ "label": "Netherlands", "showLabel": "0" //Disable Label of a particular node }] }顯示節(jié)點(diǎn)值
要在圖表中顯示節(jié)點(diǎn)值,請將showNodeValues屬性的值設(shè)置為1。默認(rèn)情況下,其值設(shè)置為0。
使用下面給出的代碼:
{ "chart": { "showNodeValues": "1" } }
旋轉(zhuǎn)節(jié)點(diǎn)標(biāo)簽
您可以將節(jié)點(diǎn)標(biāo)簽旋轉(zhuǎn)到垂直位置,而不是默認(rèn)的水平位置。為此,請將rotateNodeLabels屬性的值設(shè)置為1。默認(rèn)情況下,其值設(shè)置為0。
使用下面給出的代碼:
{ "chart": { "rotateNodeLabels": "1" } }設(shè)置節(jié)點(diǎn)之間的填充
您可以在連續(xù)的節(jié)點(diǎn)之間添加空格,以使圖表看起來不太混亂。它將增加水平Sankey中兩個連續(xù)節(jié)點(diǎn)之間的垂直空間,以及垂直Sankey中兩個節(jié)點(diǎn)之間的水平空間。
您可以在連續(xù)的節(jié)點(diǎn)之間添加空格,以使圖表看起來不太混亂。為此,請將nodeSpacing屬性的值設(shè)置為所需的值
使用下面給出的代碼:
{ "chart": { "nodeSpacing": "10" } }
配置節(jié)點(diǎn)松弛
您可以將Sankey Diagram中的節(jié)點(diǎn)拖離其他節(jié)點(diǎn),以引起注意。在水平Sankey圖中,您可以在垂直方向上拖動節(jié)點(diǎn)。在垂直Sankey圖中,您可以在水平方向上拖動節(jié)點(diǎn)。默認(rèn)情況下,Sankey圖將重新定位節(jié)點(diǎn),并在必要時在節(jié)點(diǎn)之間引入一些空間,以避免重疊。此行為由nodeRelaxation屬性控制。默認(rèn)情況下,該屬性的值設(shè)置為1。
您可以通過將nodeRelaxation屬性的值設(shè)置為來禁用此行為0。
使用下面給出的代碼:
{ "chart": { "nodeRelaxation": "0" } }該圖表如下圖所示:
節(jié)點(diǎn)化妝品
您可以將以下定制應(yīng)用于節(jié)點(diǎn)的外觀。定義nodes數(shù)組以指定各個節(jié)點(diǎn)級別的節(jié)點(diǎn)修飾符。
設(shè)置節(jié)點(diǎn)顏色
您可以跨Sankey圖設(shè)置所有節(jié)點(diǎn)的顏色。為此,請將nodeColor屬性的值設(shè)置為所需顏色的十六進(jìn)制值,并將其包括在chart對象中。但是,如果要設(shè)置單個節(jié)點(diǎn)的顏色,則將color屬性的值設(shè)置為所需顏色的十六進(jìn)制代碼,并將其包括在該nodes特定節(jié)點(diǎn)的對象內(nèi)。
如果同時全局(在chart對象下)和局部(在node對象下)設(shè)置節(jié)點(diǎn)的顏色,則局部值將覆蓋全局值。
請參閱下面給出的代碼:
{ "chart": { "nodeColor": "#FFA816" //Applied to all the nodes in the diagram }, "nodes": [{ "label": "China", "color": "#ff0000" //Applied only to node of China }] }設(shè)置節(jié)點(diǎn)透明度
您可以在圖表中全局設(shè)置所有節(jié)點(diǎn)的透明度。為此,請將nodeAlpha屬性的值設(shè)置在0(透明)和100(不透明)之間,并將其包含在chart對象中。另一方面,如果要設(shè)置單個節(jié)點(diǎn)的透明度,請alpha在0(透明)和100(不透明)之間設(shè)置屬性的值,并將其包括在該nodes特定節(jié)點(diǎn)的對象內(nèi)。
注意:如果同時在全局(在chart對象下)和本地(在node對象下)設(shè)置節(jié)點(diǎn)的透明度,則局部值將覆蓋全局值。
請參閱下面給出的代碼:
{ "chart": { "nodeAlpha": "50" //Applied to all the nodes in the diagram }, "nodes": [{ "label": "China", "alpha": "100" //Applied only to node of China }] }節(jié)點(diǎn)標(biāo)簽設(shè)置
您可以對節(jié)點(diǎn)標(biāo)簽應(yīng)用一系列修飾。它們在下面列出:
{ "chart": { "nodeLabelFont": "Arial", "nodeLabelFontColor": "#000fff", "nodeLabelAlpha": "50", "nodeLabelBgColor": "#ff0000", "nodeLabelBorderColor": "#000000", "nodeLabelFontSize": "13", "nodeLabelFontBold": "1", "nodeLabelFontItalic": "1", "nodeLabelBorderRadius": "5", "nodeLabelBorderPadding": "5", "nodeLabelBorderDashed": "1", "nodeLabelBorderDashLen": "3", "nodeLabelBorderDashGap": "2", "inheritLabelColorFromNode": "1" } }鏈接自定義
直鏈Sankey
FusionCharts允許您向Sankey圖添加直接鏈接,而不是默認(rèn)鏈接。為此,請將linkCurvatureattribute的值設(shè)置為0。
該linkCurvature屬性的默認(rèn)值為1。
請參考下面的代碼:
{ "chart": { "linkCurvature": "0" } }設(shè)置節(jié)點(diǎn)和鏈接之間的填充
您可以在節(jié)點(diǎn)和鏈接之間添加空格,以使圖表看起來不太混亂。為此,nodeLinkPadding以像素為單位設(shè)置值。
請參考下面的代碼:
{ "chart": { "nodeLinkPadding": "20" } }
設(shè)置鏈接顏色
您可以使用linkColor屬性來自定義鏈接的顏色。將其值設(shè)置為以下選項(xiàng)之一:
如果同時全局(在chart對象下)和本地(在link對象下)設(shè)置鏈接的顏色,則本地值將覆蓋全局值。
請參閱下面給出的代碼:
{ "chart": { "linkColor": "#FFA817" }, "links": [ { "from": "Germany", "to": "European Union", "value": 1468990, "color": "#ff0000" } ] }設(shè)置鏈接透明度
您可以全局設(shè)置圖表中所有鏈接的透明度。為此,請將linkAlpha屬性的值設(shè)置在0(透明)和100(不透明)之間,并將其包含在chart對象中。但是,如果要設(shè)置單個鏈接的透明度,請alpha在0(透明)和100(不透明)之間設(shè)置屬性的值,并將其包括在該link特定鏈接的對象內(nèi)。
如果同時設(shè)置全局(在chart對象下)和本地(在link對象下)的鏈接的透明度,則本地值將覆蓋全局值。
請參閱下面給出的代碼:
{ "chart": { "linkAlpha": "20" }, "links": [ { "from": "Germany", "to": "European Union", "value": 1468990, "alpha": "100" } ] }自定義工具提示
您可以自定義節(jié)點(diǎn)和鏈接的工具提示,以在用戶將鼠標(biāo)懸停在節(jié)點(diǎn)或鏈接上時顯示更多上下文信息。要做到這一點(diǎn),你可以使用plotToolText,linkToolText或者toolText屬性與一些支持宏一起。
使用 plotToolText
該plotToolText屬性在全局級別起作用,它為圖表中的所有節(jié)點(diǎn)定義了一個工具提示模板。對于價值plotToolText屬性是由宏的模板,模板也可以包含純文本和喜歡各種內(nèi)嵌HTML標(biāo)簽br,strong,em,和b。
對于熱平衡圖,plotToolText支持以下宏$label,$nodeValue,$nodeDataValue,$plotFillColor,$plotFillAlpha,和$plotIdentifier。有關(guān)宏的更多信息,請參見“宏列表”。
請參考下面的代碼:
{ "chart": { "plotToolText": '$plotfillcolor $label' } }使用 linkToolText
該linkToolText屬性在全局級別起作用,它為圖表中的所有鏈接定義了一個工具提示模板。對于價值linkToolText屬性是由宏的模板,模板也可以包含純文本和喜歡各種內(nèi)嵌HTML標(biāo)簽br,strong,em,和b。
對于熱平衡圖,linkToolText支持以下宏$from,$to,$linkValue,$linkDataValue,$fromPlotIdentifier,$toPlotIdentifier,和$flowDirection。有關(guān)宏的更多信息,請參見“宏列表”。
請參考下面的代碼:
{ "chart": { "linkToolText": '$from To $to $linkValue' } }使用 toolText
該toolText屬性在鏈接和節(jié)點(diǎn)的本地級別起作用,它為圖表中的各個鏈接或節(jié)點(diǎn)定義了一個工具提示模板。對于價值toolText屬性是由宏的模板,模板也可以包含純文本和喜歡各種內(nèi)嵌HTML標(biāo)簽br,strong,em,和b。
當(dāng)使用toolText中的節(jié)點(diǎn),它使用下面的宏:$label,$nodeValue,$nodeDataValue,$plotFillColor,$plotFillAlpha。有關(guān)宏的更多信息,請參見“宏列表”。
請參考下面的代碼:
{ "nodes": [{ "plotToolText": '$label exports $nodeDataValue' }] }當(dāng)使用toolText中的鏈接,它使用下面的宏:$from,$to,$linkValue,$linkDataValue,$fromPlotIdentifier,$toPlotIdentifier,和$flowDirection。有關(guān)宏的更多信息,請參見“宏列表”。
請參考下面的代碼:
{ "links": [{ "toolText": 'From: $from To: $to $linkValue' }] }
想要購買FusionCharts Suite XT正版授權(quán),或了解更多產(chǎn)品信息請點(diǎn)擊
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: