jQuery Highcharts双圆环图(圆环中的圆环)

jQuery Highcharts双圆环图(圆环中的圆环),jquery,highcharts,donut-chart,Jquery,Highcharts,Donut Chart,我一直在用highcharts复制这个图表设计 我一直在尝试使用JSFIDLE来获得期望的结果,但问题是我无法获得百分比未填充的白色区域,也无法获得条之间的间隙 使用highcharts甚至可以实现这一点吗?。但是,为什么不呢 高图表的问题在于,您无法旋转图表,也无法以特定角度定位图表 因此,为了让您创建您提到的效果,我们必须为每个新数据项创建一个单独的图表 当然,您不想硬编码所有这些,因此我们需要使用for循环生成代码,同时考虑数据条目的起点和终点、甜甜圈的相对大小、总体大小和内部大小、外部甜

我一直在用highcharts复制这个图表设计

我一直在尝试使用JSFIDLE来获得期望的结果,但问题是我无法获得百分比未填充的白色区域,也无法获得条之间的间隙

使用highcharts甚至可以实现这一点吗?

。但是,为什么不呢

高图表的问题在于,您无法旋转图表,也无法以特定角度定位图表

因此,为了让您创建您提到的效果,我们必须为每个新数据项创建一个单独的图表

当然,您不想硬编码所有这些,因此我们需要使用for循环生成代码,同时考虑数据条目的起点和终点、甜甜圈的相对大小、总体大小和内部大小、外部甜甜圈之间的间距,将实际值转换为比率等:我将不告诉您细节

经过反复试验,我得到了以下结果:

现在,我为您准备了一个JSFIDLE,这样您就可以根据自己的喜好调整设置,并获得您想要的结果。最重要的参数是:

// Specify all properties here:
var MIN = 0;                       // Specify minimum value (beginning of range) 
var MAX = 100;                     // Specify maximum value (ending of range)
var VALUES = [50, 30, 40, 95, 35]; // Specify the values
var VALUES_WHITE = [20, 20, 20, 20, 20]; // Values for the white donut (5 x 100/5)
var COLORS = ['#1FFFF0', '#FFCD05', '#68EB05', '#EB13EB', '#A7EB09']; // Colors
var CATEGORIES = ['Activity', 'Weight', 'Sleep', 'Health', 'Diet'];   // Categories
var BORDERWIDTH_CHART_1 = 20;       // The border width for the white donut chart
var BORDER_COLOR = 'rgba(96, 72, 193, 1)';
然后,这些参数将在代码中用于确定我上面提到的所有变量。例如,我现在为这些值创建了最小值0和最大值100。因此,var值中的值=[50,30,40,95,35];,表示0-100比例图中的百分比

现在,我构建了5个不同类别的图表。如果您想要更多或更少,您可以简单地相应地修改属性,它应该可以工作。我还没有测试过。无论如何,您可以根据自己的喜好改进图形:将百分比添加到标签,改进颜色等

只有一个限制:边框颜色必须与图表背景颜色相同。在我创建的JSFIDLE中,这是文档的主体,请参见JSFIDLE中右上角的CSS

我希望你喜欢它:

。但是,为什么不呢

高图表的问题在于,您无法旋转图表,也无法以特定角度定位图表

因此,为了让您创建您提到的效果,我们必须为每个新数据项创建一个单独的图表

当然,您不想硬编码所有这些,因此我们需要使用for循环生成代码,同时考虑数据条目的起点和终点、甜甜圈的相对大小、总体大小和内部大小、外部甜甜圈之间的间距,将实际值转换为比率等:我将不告诉您细节

经过反复试验,我得到了以下结果:

现在,我为您准备了一个JSFIDLE,这样您就可以根据自己的喜好调整设置,并获得您想要的结果。最重要的参数是:

// Specify all properties here:
var MIN = 0;                       // Specify minimum value (beginning of range) 
var MAX = 100;                     // Specify maximum value (ending of range)
var VALUES = [50, 30, 40, 95, 35]; // Specify the values
var VALUES_WHITE = [20, 20, 20, 20, 20]; // Values for the white donut (5 x 100/5)
var COLORS = ['#1FFFF0', '#FFCD05', '#68EB05', '#EB13EB', '#A7EB09']; // Colors
var CATEGORIES = ['Activity', 'Weight', 'Sleep', 'Health', 'Diet'];   // Categories
var BORDERWIDTH_CHART_1 = 20;       // The border width for the white donut chart
var BORDER_COLOR = 'rgba(96, 72, 193, 1)';
然后,这些参数将在代码中用于确定我上面提到的所有变量。例如,我现在为这些值创建了最小值0和最大值100。因此,var值中的值=[50,30,40,95,35];,表示0-100比例图中的百分比

现在,我构建了5个不同类别的图表。如果您想要更多或更少,您可以简单地相应地修改属性,它应该可以工作。我还没有测试过。无论如何,您可以根据自己的喜好改进图形:将百分比添加到标签,改进颜色等

只有一个限制:边框颜色必须与图表背景颜色相同。在我创建的JSFIDLE中,这是文档的主体,请参见JSFIDLE中右上角的CSS

我希望你喜欢它:


你有jsfiddle要分享吗?@isubi这真是一团糟,一直在和其他人玩测试你有jsfiddle要分享吗?@isubi这真是一团糟,一直在和其他人玩测试哇,你太棒了!我没想到会有这么详细的答案,只是朝着正确的方向迈出了一步。你帮我省了好几天的时间,让我在我的项目中找出一些我不熟悉的东西。非常感谢。@Prospector:很高兴能帮你。我对JSFIDLE进行了一些编辑,因此现在也显示了百分比。请参阅上面的改进答案。@Jean-Paul谢谢,我已经在我的应用程序中得到了它,看起来很完美。@Prospector很高兴听到这个消息。@Jean-Paul你是一个非常乐于助人的人。哇,你太棒了!我没想到会有这么详细的答案,只是朝着正确的方向迈出了一步。你帮我省了好几天的时间,让我在我的项目中找出一些我不熟悉的东西。非常感谢。@Prospector:很高兴能帮你。我对JSFIDLE进行了一些编辑,因此现在也显示了百分比。请参阅上面的改进答案。@Jean-Paul谢谢,我已经在我的应用程序中得到了它,看起来很完美。@Prospector很高兴听到这个消息。@Jean-Paul你是一个非常乐于助人的人。