如何将堆叠条形图中的绝对数字转换为相对数字(在Neo4J图表)?



此代码

MATCH q = (r:Representative)-[f:FACILITATED]->(b)
WHERE NOT b:VuurpijlMatch
RETURN DISTINCT f.year AS index,
b.type AS key,
count(*) AS value
ORDER BY index ASC

返回给我这个图。由于Neo4J的图表显示的格式很差,因此我手动添加了X-as处的数字。我在第一栏中圈出了绝对数作为例子。

绝对数字图

我正在寻找的是一种将输出从绝对数字更改为相对数字的方法。请看下面的图表作为我的意思的例子。

所需输出

谁可以帮助我绘制相对值,非常感谢!

要计算相对值,您需要每年的总计数,以及每个标签类型的计数。为此,我们需要两个聚合操作,一个用于计算每年的总数,另一个用于获取每年每个标签的总数。然后我们可以在过滤掉不必要的行之后计算相对值。像这样:

MATCH q = (r:Representative)-[f:FACILITATED]->(b)
WHERE NOT b:VuurpijlMatch
WITH DISTINCT f.year AS index, count(*) AS totalCountPerYear
MATCH q = (r:Representative)-[f:FACILITATED]->(b)
WHERE NOT b:VuurpijlMatch
WITH DISTINCT f.year AS year, index, totalCountPerYear, b.type AS key, count(*) AS typeValue
WITH index, key, round((typeValue * 100.0 / totalCountPerYear)) AS value WHERE index = year
RETURN index, key, value
ORDER BY index ASC

最新更新