Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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在用户隐藏图形线时更改图表宽度_Javascript_Jquery_Highcharts_Legend - Fatal编程技术网

Javascript Highchart在用户隐藏图形线时更改图表宽度

Javascript Highchart在用户隐藏图形线时更改图表宽度,javascript,jquery,highcharts,legend,Javascript,Jquery,Highcharts,Legend,我在中显示了太多的行,所以我想添加一个函数来关闭它们,并只打开选定的行。这就是为什么我的图形旁边有一个“显示图例”、“全部显示”和“全部隐藏”按钮: 现在,一件奇怪的事情发生了,当我直接点击按钮“全部隐藏”(通常我先点击“显示图例”,然后点击“全部隐藏”-然后,一切都如预期的那样):图形线消失(好),但图形被向右延伸,通过延伸的X轴线可见(坏): 如果我再次“显示所有”行,图形如下所示: 有人能帮我吗?我试图在“图表”设置中修复图形宽度,但显然被忽略了。那还能是什么 谢谢你的提示 我刚想到

我在中显示了太多的行,所以我想添加一个函数来关闭它们,并只打开选定的行。这就是为什么我的图形旁边有一个“显示图例”、“全部显示”和“全部隐藏”按钮:

现在,一件奇怪的事情发生了,当我直接点击按钮“全部隐藏”(通常我先点击“显示图例”,然后点击“全部隐藏”-然后,一切都如预期的那样):图形线消失(好),但图形被向右延伸,通过延伸的X轴线可见(坏):

如果我再次“显示所有”行,图形如下所示:

有人能帮我吗?我试图在“图表”设置中修复图形宽度,但显然被忽略了。那还能是什么


谢谢你的提示

我刚想到一个你可以试试的主意。事实上,如果您从这样的图形中删除所有序列,您观察到的x轴标签和右侧消失的行为是可以预料的。这种方法怎么样:

有一个“虚拟”系列,其所有值均为零。将其设置为白色或不可见(但不隐藏,意思是不要设置
visible:false
),并仅在该系列上使用
showInLegend:false
enableMouseTracking:false
,这样用户就没有机会与之交互。当您触发按钮隐藏所有序列时,添加一个条件以仅忽略(或恢复)“虚拟”序列


通过这种方式,用户可以删除线束,但“虚拟”系列的存在告诉图形保留轴标签。

我刚刚想到了一个可以尝试的想法。事实上,如果您从这样的图形中删除所有序列,您观察到的x轴标签和右侧消失的行为是可以预料的。这种方法怎么样:

有一个“虚拟”系列,其所有值均为零。将其设置为白色或不可见(但不隐藏,意思是不要设置
visible:false
),并仅在该系列上使用
showInLegend:false
enableMouseTracking:false
,这样用户就没有机会与之交互。当您触发按钮隐藏所有序列时,添加一个条件以仅忽略(或恢复)“虚拟”序列


通过这种方式,用户可以删除线束,但“虚拟”系列的存在会告诉图形保留轴标签。

是否尝试在xAxis上设置标志?尝试过,但没有更改任何内容。在我看来,发生的事情背后的逻辑如下:图表有一定的宽度。为图例“保留”了一个空间。不知何故,通过使用jQuery隐藏行,它突然占据了整个空间。。。奇怪的行为,bug…是否有办法将“HideAll”-函数中的图形设置为正确的图形宽度?类似于
$('#hideAll')。在('click',function(){chart.update{width:'900'};…}
上,您可以将您的示例复制为jsfiddle.net上的实时演示吗?我已经尝试过了。但是按钮还不能工作……不确定为什么,我猜这是“function(chart)”的问题?对不起,我对此相当愚蠢…我想知道这是否适用于这些虚拟数据,或者我是否需要插入整个内容(包括设计)…您是否尝试在xAxis上设置标志?尝试过,但没有改变任何内容。在我看来,发生的事情背后的逻辑是:图形具有一定的宽度。空格是“保留”用于图例。不知何故,通过使用jQuery隐藏线条,它突然占据了整个空间…奇怪的行为,bug…是否有必要将“HideAll”-函数中的图形设置为正确的图形宽度?类似于
$('#HideAll')。on('click',function(){chart.update{width:'900'};}…)
您能在JSFIDLE.net上复制您的示例作为实时演示吗?我已经尝试过了。但是按钮还没有工作……不确定为什么,我猜这是“函数(图表)”的问题?对不起,我对此相当无知……我想知道这是否适用于这些虚拟数据,或者我是否需要插入整个内容(包括设计)…好主意。我只是选择了“平均”线,而其他所有线都被关闭。但是,它仍然会产生同样的问题。它似乎真的与图例的打开和关闭有关,而图表右侧的图例空间突然“可用”“对于图表本身。当单击1)显示图例(实际上,必须单击两次才能看到图例,不知道为什么),2)全部隐藏,3)隐藏图例,4)全部显示==>它会这样做…”。以下是我得出的结论:。在这把小提琴中,我没有隐藏图例(这会导致图表回流到图例原来所在的空间),而是将图例的y值设置为-1000,以将其从绘图区域中推出。因为您无法动态设置图例的y值,所以我将为每个实例绘制一个新图表。但是,我将动画设置为false,这样用户就不会注意到差异。让我知道这是否有帮助!好主意。我只是同意“平均”线被强制留下,而其他所有的线都被关闭了。然而,它仍然会产生同样的问题。它似乎真的与正在打开和关闭的图例相关联——图表右侧的图例空间突然“可用”到图表本身。单击1)显示图例(实际上,必须单击两次才能看到图例,不知道为什么),2)全部隐藏,3)隐藏图例,4)全部显示==>它会这样做。以下是我得出的结论:。在这把小提琴中,我没有隐藏图例(这会导致图表回流到图例原来所在的空间),而是将图例的y值设置为-1000,以将其从绘图区域中推出。因为您无法动态设置图例的y值,所以我将为每个实例绘制一个新图表。但是,我将动画设置为false,以便用户