Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript c3.js中的堆叠圆环图_Javascript_C3.js - Fatal编程技术网

Javascript c3.js中的堆叠圆环图

Javascript c3.js中的堆叠圆环图,javascript,c3.js,Javascript,C3.js,我想从c3.js定制一个甜甜圈图表,这样它就有两层了 这是基于c3.js的最基本的开箱即用甜甜圈图表的代码 var chart = c3.generate({ data: { columns: [ ['bulls', 30], ['lakers', 50], ], type : 'donut' }, }); 这是一幅与我想要实现的目标类似的图像: 我确实发现了这一点,但我不确定如

我想从c3.js定制一个甜甜圈图表,这样它就有两层了

这是基于c3.js的最基本的开箱即用甜甜圈图表的代码

var chart = c3.generate({
    data: {
        columns: [
            ['bulls', 30],
            ['lakers', 50],
        ],
        type : 'donut'
    },
}); 
这是一幅与我想要实现的目标类似的图像:

我确实发现了这一点,但我不确定如何在c3.js中实现它。
这里是我的链接。

D3小提琴实际上创建了三个图表,每个图表的半径不同。每个数据集使用“d3.pie”创建每个数据段将驻留的弧,然后在路径上绘制图形,该路径的半径不同,并根据绘制的数据集增加(i=1…4)

换句话说:D3提琴在同一个中心点上绘制多个单独的图形,因此看起来它们是相关的

我没有直接使用C3.js,但是您可以通过使用相同的中心点为每个嵌套图表创建两个半径和宽度不同的图表来完成类似的工作。(基本上是把一个放在另一个里面)原点坐标应该是相同的,所以只要百分比匹配,它们就应该看起来像你的屏幕截图

不确定是否有设置中心坐标的方法,但您应该能够绝对地将div定位在页面上可以工作的同一点上


这就是说,我可能会建议您离开C3.js,转而使用现有的D3 fiddle和library,然后根据需要绘制标签/添加交互性,因为它看起来更简单,并且将为您将来的用例提供更好的定制机会。你也可以考虑使用一个像NVD3.JS这样的库,它可以同时访问核心D3方法和它们的图表,这样你就可以从示例Douutts和D3小提琴中获得CRB代码。

D3小提琴实际上创造了三个图表,每个图表具有不同的半径。每个数据集使用“d3.pie”创建每个数据段将驻留的弧,然后在路径上绘制图形,该路径的半径不同,并根据绘制的数据集增加(i=1…4)

换句话说:D3提琴在同一个中心点上绘制多个单独的图形,因此看起来它们是相关的

我没有直接使用C3.js,但是您可以通过使用相同的中心点为每个嵌套图表创建两个半径和宽度不同的图表来完成类似的工作。(基本上是把一个放在另一个里面)原点坐标应该是相同的,所以只要百分比匹配,它们就应该看起来像你的屏幕截图

不确定是否有设置中心坐标的方法,但您应该能够绝对地将div定位在页面上可以工作的同一点上


这就是说,我可能会建议您离开C3.js,转而使用现有的D3 fiddle和library,然后根据需要绘制标签/添加交互性,因为它看起来更简单,并且将为您将来的用例提供更好的定制机会。你也可以考虑使用一个像NVD3.JS这样的库,它可以同时访问核心D3方法和它们的图表,这样你就可以从示例Douutts和D3小提琴中获得CRB代码。

谢谢你的评论@库尔,我需要使用C3和D3,因为我想与我的其他应用程序保持一致。有什么建议我可以达到我想要的结果吗?谢谢你的评论@COOOL我需要使用c3和d3,因为我想与我的应用程序的其余部分保持一致。有什么建议可以让我达到我想要的结果吗?这里是如何在D3中做到这一点:这里是如何在D3中做到这一点: