我有一个图,上面覆盖了数百个分类值。当用户使用它时,通过数据过滤器比较 2、3、最多 5 个类别和用户 ID 才有意义。
但没有什么可以阻止用户选择所有 150 多个类别。在这种情况下,它们都显示在图例中,完全破坏了窗口。由于无论如何您在这种情况下都无法在图表上看到任何内容,所以我可以只将图例项的数量限制为 20 个,这样它就不会破坏设计并且仍然可以达到目的。有没有办法通过 JSL 指定限制?
好,我知道了。
计算类别数:
Categories = NItems(Associative Array (dt:CategoriesColumn));
设置你想要多少个图例项:
LegendLevels = 3;
构建一个列表,其元素数量与您拥有的类别数量相同,为您要显示的级别填充连续数字,其余为“-1”:
p = {};
For(i=0, i < Categories, i+=1,
if(i <= (LegendLevels-1), p = Insert(p, i), p = Insert(p, -1))
);在 SendToReport() 中编写 Graph Builder 脚本时使用此列表:
Dispatch(
{},
"400",
LegendBox,
{Set Title( "Category" ), Legend Position( {5, Matrix(p)} ),
Position( Matrix(p) )}
)