Javascript 如何隐藏溢出的Highcharts树映射数据标签?

Javascript 如何隐藏溢出的Highcharts树映射数据标签?,javascript,highcharts,treemap,Javascript,Highcharts,Treemap,我想配置Highcharts树映射,以便如果datalabel足够长,足以溢出点边界(而不仅仅是图表边界),那么它将被隐藏 这里可以看到问题的一个例子: 我希望最终标签(“Gggggg”)不显示,因为它超出了其点的边界。我尝试了数据标签选项,包括填充、溢出和裁剪,但都没有效果。您可以将该选项用于数据标签 请点击此处: 或者,更具活力的方法: 您可以使用格式化程序选项完全控制标签 要明确地知道标签是否溢出了内容有点困难,但是您可以得到内容的宽度,并计算文本的像素数,然后决定是否显示标签。你甚至可以

我想配置Highcharts树映射,以便如果datalabel足够长,足以溢出点边界(而不仅仅是图表边界),那么它将被隐藏

这里可以看到问题的一个例子:

我希望最终标签(“Gggggg”)不显示,因为它超出了其点的边界。我尝试了
数据标签
选项,包括
填充
溢出
裁剪
,但都没有效果。

您可以将该选项用于数据标签

请点击此处:

或者,更具活力的方法:

您可以使用
格式化程序
选项完全控制标签

要明确地知道标签是否溢出了内容有点困难,但是您可以得到内容的
宽度
,并计算文本的像素数,然后决定是否显示标签。你甚至可以只显示标签的一部分,如果它不能填满整个东西

下面是一个例子: 在本例中,我仅显示值占整个地图5%以上的点的标签

希望有帮助, 关于

您可以使用数据标签选项

请点击此处:

或者,更具活力的方法:

您可以使用
格式化程序
选项完全控制标签

要明确地知道标签是否溢出了内容有点困难,但是您可以得到内容的
宽度
,并计算文本的像素数,然后决定是否显示标签。你甚至可以只显示标签的一部分,如果它不能填满整个东西

下面是一个例子: 在本例中,我仅显示值占整个地图5%以上的点的标签

希望有帮助,
这不能仅仅通过配置预定义的图表选项来实现

这里有一个自定义代码可以完成此任务:

  chart: {
    events: {
      load: function() {
        var points = this.series[0].points;
        points.forEach(function(point) {
          console.log(point);
          if(point.shapeArgs.width < point.dataLabel.width) {
            point.dataLabel.hide();
          }
        });
      }
    }
  },
图表:{
活动:{
加载:函数(){
var points=此.series[0]。点;
点。forEach(函数(点){
控制台日志(点);
if(point.shapeArgs.width

实时演示:

仅通过配置预定义的图表选项无法完成此操作

这里有一个自定义代码可以完成此任务:

  chart: {
    events: {
      load: function() {
        var points = this.series[0].points;
        points.forEach(function(point) {
          console.log(point);
          if(point.shapeArgs.width < point.dataLabel.width) {
            point.dataLabel.hide();
          }
        });
      }
    }
  },
图表:{
活动:{
加载:函数(){
var points=此.series[0]。点;
点。forEach(函数(点){
控制台日志(点);
if(point.shapeArgs.width

现场演示:

谢谢,这正是我想要的。这似乎与Highcharts源代码中的非常相似,其中数据标签的宽度设置为点的宽度(但对我来说似乎没有任何影响)-可能这是预期的行为,是一个bug?它似乎是一个bug。只有当这个词比它的意思更宽时,它才会发生。如果你在中间插入一个空白的话,一切都会很好:当代码<>使用HTML时,会出现另一个问题:-标签没有正确对齐。我报告了这个主题的两个问题:谢谢,订阅!谢谢,这正是我要找的。这似乎与Highcharts源代码中的非常相似,其中数据标签的宽度设置为点的宽度(但对我来说似乎没有任何影响)-可能这是预期的行为,是一个bug?它似乎是一个bug。只有当这个词比它的意思更宽时,它才会发生。如果你在中间插入一个空白的话,一切都会很好:当代码<>使用HTML时,会出现另一个问题:-标签没有正确对齐。我报告了这个主题的两个问题:谢谢,订阅!谢谢,这是一个有趣的方法,但不幸的是并没有解决我的问题,即标签可以是任意长度的-例如,即使是>50%的点也可能有一个太长的标签,不适合点的边界。嗨@BenElliott!昨天我遇到了做这件事的正确方法。在
数据标签
上有一个
溢出
选项。我编辑了我的答案。请检查:)谢谢,但实际上,
overflow:“crop”
似乎只是确保标签不会溢出图表,而不是溢出点。您可以在您的示例中看到这一点。谢谢,这是一个有趣的方法,但不幸的是,这并不能解决我的问题,即标签可能是任意长度的-例如,即使是>50%的点也可能有一个太长的标签,不适合该点的边界。您好@BenElliott!昨天我遇到了做这件事的正确方法。在
数据标签
上有一个
溢出
选项。我编辑了我的答案。请检查:)谢谢,但实际上,
overflow:“crop”
似乎只是确保标签不会溢出图表,而不是溢出点。您可以在示例中看到这一点。