1
我创建了一个包含约10个项目的简单饼图(使用C3.js和D3.js)。现在,在第二个可视化(表格)中,我想知道每个项目的颜色,也可以在表格中表示它们。用C3.js查询图表
是否可以通过查询图表以获取该物品的名称和颜色?
我知道我可以手动hardcode colors的项目,只是使用相同的颜色。然而,这不适用于我的情况,因为饼图中的项目差异很大(我还不知道它们,因为它取决于用户),因此我的问题。
我创建了一个包含约10个项目的简单饼图(使用C3.js和D3.js)。现在,在第二个可视化(表格)中,我想知道每个项目的颜色,也可以在表格中表示它们。用C3.js查询图表
是否可以通过查询图表以获取该物品的名称和颜色?
我知道我可以手动hardcode colors的项目,只是使用相同的颜色。然而,这不适用于我的情况,因为饼图中的项目差异很大(我还不知道它们,因为它取决于用户),因此我的问题。
快速查看源代码显示你是正确的,这是一个category10()。
columns: [
['data1', 30, 200, 100, 400, 150, 250], //<-- data1 is id
['data2', 130, 340, 200, 500, 250, 350]
]
您可以检查它们的使用:
而且它用的“数据ID”的关键,这似乎是第一个“列”在它的数据输入格式检索它们
> chart.internal.color('data1')
"#1f77b4"
> chart.internal.color('data2')
"#ff7f0e"
很酷,谢谢! – casaout
它可能是使用[D3的色阶]之一(https://github.com/mbostock/d3/wiki/Ordinal-Scales#category10)。 –
非常好的一点,谢谢。可能是'd3.scale.category10',因为我将图表限制为10个项目。问题是,它似乎随机使用这些颜色,而不是总是相同的顺序... – casaout
第一种颜色将被映射到第一个数据等等。它应该是关于数据顺序的确定性。 –