Javascript HighCharts动态调整渲染器标签或元素的大小

Javascript HighCharts动态调整渲染器标签或元素的大小,javascript,jquery,css,svg,highcharts,Javascript,Jquery,Css,Svg,Highcharts,我需要在我的图表中添加大量的脚注,它们必须用svg导出,所以我不能简单地将它们放在周围的HTML中 我已经尝试了几种策略,我可以定位它,包装文本,操纵图表的大小来腾出空间等等 目的是让他们做出反应。 问题是我找不到如何使用事件和渲染器元素或使用chart.labels更新包含此文本的容器的大小 在这把小提琴中(除其他外): 我试图用每次重画创建一个新标签,但我找不到如何处理和销毁我用onload创建的标签 原来highcharts允许您向标签添加类 var label = this.rende

我需要在我的图表中添加大量的脚注,它们必须用svg导出,所以我不能简单地将它们放在周围的HTML中

我已经尝试了几种策略,我可以定位它,包装文本,操纵图表的大小来腾出空间等等

目的是让他们做出反应。 问题是我找不到如何使用事件和渲染器元素或使用chart.labels更新包含此文本的容器的大小

在这把小提琴中(除其他外): 我试图用每次重画创建一个新标签,但我找不到如何处理和销毁我用onload创建的标签


原来highcharts允许您向标签添加类

var label = this.renderer.label(
     footnote_text, //str
     10,  //x
     200, //y
     'rect', //shape
     1, //anchorX
     1, //anchorY
     1, //useHTML
     1, //baseline
     'deleteme' //className
)
我添加了一个类名
deleteme
,然后使用jQuery将其删除:

$('.highcharts-deletme').remove();
另一个(通用)解决方案是将生成的标签存储在变量中:

var myLabel; // define label
$('#container').highcharts({
    chart: {
       events: {
          load: function () {
              myLabel = this.renderer.label( ... ).add();
          },
          redraw: function () {
              if(myLabel) {
                    myLabel.destroy();
              }
              myLabel = this.renderer.label( ... ).add();
          }
       }
    }
});

这将比使用jQuery按类查找项目更快。

谢谢Pawel,但这是我所做工作之外需要做的事情。它会销毁对象,但不会删除html。你是对的。我没有首先定义变量
var myLabel;//定义标签
谢谢!是的,我知道如何重新调整元素的大小。我将不得不提出一个不同的问题,以便解决如何在重新调整尺寸后为其腾出空间。本质上,Highcharts(顺便说一下,我测试过的最好的图表软件)是为您制作图表而设计的,而不是帮助您从设计的角度操作现有的图表。系列,斧头…是的,太棒了。页边空白、脚注、无关的东西……有些。我不得不使用类名称attr:$(“[className='deleteme']”)。remove();
var myLabel; // define label
$('#container').highcharts({
    chart: {
       events: {
          load: function () {
              myLabel = this.renderer.label( ... ).add();
          },
          redraw: function () {
              if(myLabel) {
                    myLabel.destroy();
              }
              myLabel = this.renderer.label( ... ).add();
          }
       }
    }
});