Javascript Highcharts v3.0.5 - 如何在使用多个Y轴时隐藏Y轴标题

9
使用Highcharts(v.3.0.5)时,我在同一图表中显示了多个Y轴。使用图例,用户可以选择隐藏或显示任何他们想要的Y轴。所有这些都是Highcharts JavaScript库的内置功能。然而,当一个Y轴被隐藏时,它的标题仍然出现在图表中。我希望在其余Y轴被隐藏时也隐藏它。惊讶的是,这不是默认行为。有人知道如何做到这一点吗?
通过查看Highcharts示例页面上提供的示例,可以看到这种行为。

http://www.highcharts.com/demo/combo-multi-axes

如果您隐藏了“降雨量”轴,例如,标题仍然会显示为“Rainfall”。
我发现这篇文章(几年前的)中提出了完全相同的问题。然而,所提出的解决方案并不起作用。显示和隐藏事件会重新显示所有内容。

http://forum.highcharts.com/highcharts-usage/how-to-hide-y-axis-title-multiple-axis-t6973/#p32842


这里的一些信息可能会有所帮助:http://forum.highcharts.com/highcharts-usage/2nd-yaxis-visible-with-no-series-if-min-and-max-set-t25731/?hilit=%20title - jlbriggs
在 Highcharts 论坛上找到了这个。现在要检查一下,如果它有效,那么将把它标记为正确答案:http://highcharts.uservoice.com/forums/55896-general/suggestions/1813731-hiding-of-y-axis - arcseldon
3个回答

13

这实际上是一个备受追捧的问题/答案。自 Highcharts V2.2 以来,可以将"showEmpty: false"分配给 y 轴定义,并确保在隐藏时,Y 轴文本标签也会被隐藏。以下是配置示例片段:

                 yAxis: [{
                min: 0,
                showEmpty: false,
                labels: {
                    formatter: function() {
                        return this.value;
                    },
                    style: {
                        color: '#3366CC'
                    }
                },
                title: {
                    text: 'Clicks',
                    style: {
                        color: '#3366CC'
                    }
                },
                id: 'Clicks'
            }, 
                 ...

我曾看到一些报告称,如果同时设置了min和max,那么showEnabled = false会失效。在上面的情况中,只设置了min,在使用Highcharts V3.0.5时,它对我很有效。


1
您可以使用 yAxis.setTitle() 并在需要时设置/删除标题。
这里是 API 文档 link

感谢您的贡献。我已经设置了标题。真正的问题是,是否有a)一个开箱即用的解决方案来隐藏/显示系列通过图例,或者b)是否有一个简单的重写涉及事件处理隐藏/显示 - 这就是旧问题答案链接尝试的内容(http://forum.highcharts.com/highcharts-usage/how-to-hide-y-axis-title-multiple-axis-t6973/#p32842) - arcseldon

0

@arcseldon,确实如此,如果同时设置了min和max,则showEnabled = false会出现问题。在这种情况下的一个可能的解决方法是设置floor和max


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接