Highcharts:底部的图例已带有自定义边框底部

Highcharts:底部的图例已带有自定义边框底部,highcharts,Highcharts,当图例放在图表下方时,通常会自动确定底部边距,以使所有内容都符合要求 但是我有一个图表,它在下页边距中包含了一些自定义内容,因此我不得不覆盖marginBottom。当图例也放在图表下时,这会干扰自动计算 我在中做了一个简单的模型,您可以在其中启用/禁用图例并更改系列的数量,以查看事情看起来有多糟 我猜我可能必须对自己的marginBottom进行必要的调整才能解释这个传奇,但是如何调整呢 你知道我该怎么做吗 编辑:我想我快接近了。。。但我不确定我是否会用最好的方式。。。请参阅。我已经仔细考虑了

当图例放在图表下方时,通常会自动确定底部边距,以使所有内容都符合要求

但是我有一个图表,它在下页边距中包含了一些自定义内容,因此我不得不覆盖
marginBottom
。当图例也放在图表下时,这会干扰自动计算

我在中做了一个简单的模型,您可以在其中启用/禁用图例并更改系列的数量,以查看事情看起来有多糟

我猜我可能必须对自己的
marginBottom
进行必要的调整才能解释这个传奇,但是如何调整呢

你知道我该怎么做吗


编辑:我想我快接近了。。。但我不确定我是否会用最好的方式。。。请参阅。

我已经仔细考虑了这个问题和您更新的小提琴几个星期了,我想我已经解决了您最初的问题和我在评论中提出的响应错误

在您的
图表
选项中,我添加了一个加载事件,该事件在渲染时拉入序列,而不是在选项后使用的附加函数。我还删除了显式的
marginBottom
声明

    chart: {
        type: 'line',
        borderWidth: 1,
        plotBorderWidth: 1,
        events: {
            load: function () {
            for (var i = 0; i < numberOfSeries; i++) this.addSeries(basicSeries);
          }
        }
    },
图表:{
键入:“行”,
边框宽度:1,
打印边框宽度:1,
活动:{
加载:函数(){
对于(var i=0;i
这样做的目的是拉入序列号(在代码顶部声明为静态变量),并在运行时添加它们。Highcharts的代码将自动调整图表下所需的空间,以适应图例及其项目的大小

以下是您的(更新)小提琴的更新版本,其中包含以下更改:


旁注:打破图表响应特性的是
chart.setSize()函数中的固定宽度值。似乎将宽度设置为
auto
或百分比(例如
100%
)将保持其调整大小的能力,但在执行该功能后,可能需要重新绘制图表。

从我所看到的情况来看,您在第二个提琴中的内容似乎非常合理。我自己的一些图表也有类似的情况,您所构建的将对我非常有帮助。请注意,您的调整正在破坏图表的本机响应性(我不太清楚为什么,这对您来说可能不是一个破坏交易的因素)。@brightmatrix本机响应性的哪一方面被破坏?当您调整包含图表的fiddle窗口的大小时,它应该自动调整以适应其内容。比较你的小提琴和这里的演示:。啊,好的。就我而言,这不是一个问题,但如果能找到一个没有这个缺陷的解决方案,那就太好了。