调整 Vega Sankey 图中的链接重叠和矩形间距

问题描述 投票:0回答:1

我正在尝试使用 Vega 创建桑基图。我正在使用 PowerBI 中的 Sankey Chart - PBI-David 提供的模板。
我以 DAX 表的形式使用自己的数据,然后将其导入 Deneb Visual 的字段中。
然而,根据我的数据,我得到以下桑基图。

enter image description here

图表元素非常适合我的要求。但我想将 K 和 L 块置于与 G 块相同的水平方向,以便链接带看起来不会怪异和扭曲。 (类似于B -> D,E,F的排列方式)。

我看到表格和图表中有一个名为间隙的参数,我还尝试修改值以查看应用正值和负值时间隙的表现。但图表元素的行为对于任何间隙参数的输入似乎都非常随机。

有谁知道gap参数到底指定了什么?以及如何确保条带不会与变化的值重叠?

我还附上了一个示例 PBIX 文件,其中包含相同的数据,以便于理解我的问题:
https://drive.google.com/file/d/1EZ-dGMHT-zqzDVOdujpm4VaeIbiyaVI4/view?usp=sharing

powerbi dax visualization vega deneb
1个回答
0
投票

试试这个:

enter image description here

Sankey Diagram Raw Plan = 
DATATABLE(
    "category", STRING, "stack", INTEGER, "sort", INTEGER, "labels", STRING, "gap", INTEGER, "source", STRING, "destination", STRING, "value", DOUBLE,
    {{,,,,,"A", "B", 59.52},
    {,,,,,"A", "C", 0.68},
    {,,,,,"B", "D",41.95},
    {,,,,,"B", "E", 12.97},
    {,,,,,"B", "F", 4.60},
    {,,,,,"D", "G", 41.62},
    {,,,,,"G", "K", 40.87},
    {,,,,,"G", "L", 0.75},
    {,,,,,"D", "H", 0.33},
    {,,,,,"E", "I", 11.16},
    {,,,,,"E", "J", 1.81},
    {"A", 1, 1,"left", , , , },
    {"B", 2, 1,"left", , , , },
    {"C", 2, 2,"left", , , , },
    {"D", 3, 1,"left", , , ,  },
    {"E", 3, 2,"left", , , , },
    {"F", 3, 3,"left", , , , },
    {"J", 4, 4,, , , , },
    {"G", 4, 1,, , , , },
    {"H", 4, 2,, , , , },
    {"I", 4, 3,, , , , },
    {"K", 5, 1,, , , , },
    {"L", 5, 2,, 60, , , }
    }
)

您正在使用基准中心(所有内容都垂直居中)。标准间隙(您使用 14 像素)是使用的默认间隙。如果您想要额外的间隙,您可以像我一样将其传递到数据中,因此 K 和 L 之间的间隙现在为 14 + 16。

© www.soinside.com 2019 - 2024. All rights reserved.