Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.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 第一个类别的Highchart中的DataLabels格式化程序_Javascript_Highcharts - Fatal编程技术网

Javascript 第一个类别的Highchart中的DataLabels格式化程序

Javascript 第一个类别的Highchart中的DataLabels格式化程序,javascript,highcharts,Javascript,Highcharts,我从数组中得到了非常特定的堆叠条,需要在我的条中有两种不同的颜色/文本对齐数据标签。我有系列['1'、'2'、'3'等]的名称,并在以下条件下使用它: 格式化程序:函数{ 如果parseIntthis.series.name%2==0{ this.series.options.dataLabels.color='white'; 如果这个.y!=0{ 把这个还给我; }否则{ 返回null; } }否则{ this.series.options.dataLabels.color='black'

我从数组中得到了非常特定的堆叠条,需要在我的条中有两种不同的颜色/文本对齐数据标签。我有系列['1'、'2'、'3'等]的名称,并在以下条件下使用它:

格式化程序:函数{ 如果parseIntthis.series.name%2==0{ this.series.options.dataLabels.color='white'; 如果这个.y!=0{ 把这个还给我; }否则{ 返回null; } }否则{ this.series.options.dataLabels.color='black'; this.series.options.dataLabels.align='right'; 如果这个.y!=0{ 返回这个.total; }否则{ 返回null; } } } 它还会更改数据标签的值。 它适用于类别“2”和“3”,但不适用于类别“1”更改值,但不更改颜色/文本对齐。以下是JSFIDLE: 为什么会这样?
有一种可能的解决方法-创建一个空的第一个栏并使其不可见,在这种情况下,formatter可以很好地用于其他栏,但这不是一个好主意。

问题是,只有当this.series.name%2等于0时,您才将align属性设置为“right”,将color属性设置为“black”。您的第一个类别的名称是1,1%2等于1,而不是0。

在询问有关代码的问题之前,请花时间正确缩进代码。它使代码更容易阅读。我不明白为什么我不能访问第一条属性,但我已经用以下方法解决了颜色问题:return+this.y+;但是,对于名称为奇数的条,右对齐仍然是实际的否,对于this.series.name%2==0的情况,我需要对齐:'left'和颜色:'white',这些是“有色”的左条,而对于所有其他情况,右对齐:'right'和颜色:'black',这些是“灰色”的右条,对了。问题是,这根本不会影响第一个上横杆