如何从 Highcharts 中删除按钮

Posted

技术标签:

【中文标题】如何从 Highcharts 中删除按钮【英文标题】:How to remove button from Highcharts 【发布时间】:2012-03-29 22:49:41 【问题描述】:

我正在使用 Highcharts 库创建图表,我想知道如何删除右上角的 2 个小按钮,哪个可以打印和下载图表,我想添加一个新按钮。

也许有人可以帮助我?

【问题讨论】:

通过萤火虫检查他们,如果他们有身份或其他东西。使用 css 选择器并在它们上调用 .remove() 方法。 使用 firebug 并找到那些特定的按钮 id,在你的 css 中你可以说 display:none 用于那个特定的 id 或类 【参考方案1】:

尝试将exporting: enabled: false 添加到您的图表生成中。

【讨论】:

非常感谢,它有效:D。也许你知道我怎样才能添加一个新的? 不,不是真的创建一个新的。但也许您可以修改其中一个打印/导出按钮。文档提示这个方向highcharts.com/ref/#exporting-buttons ...玩onClick exporting: false 就够了【参考方案2】:

选中此项以创建新按钮:

示例:http://jsfiddle.net/fXHB5/3496/

exporting: 
    buttons: [
        
            symbol: 'diamond',
            x: -62,
            symbolFill: '#B5C9DF',
            hoverSymbolFill: '#779ABF',
            _titleKey: 'printButtonTitle',
            onclick: function() 
                alert('click!')
            
        
    ]

【讨论】:

这个 jsfiddle 不再工作了。 "NetworkError: 404 Not Found - highcharts.com/js/testing-exporting.js"【参考方案3】:

替换汉堡图标的最佳方法是禁用导航按钮选项,然后创建自己的菜单并按照documentation 中的说明一一自定义上下文。从这里您可以使用您自己的下拉菜单中的任何图标。

这会禁用汉堡图标。

navigation: 
buttonOptions: 
  enabled: false
  
 

这是您为自己的列表自定义导出选项的方式。

$('#print').click(function() 
chart.print();
);
$('#pdf').click(function() 
chart.exportChart(
  type: 'application/pdf',
  filename: 'my-pdf'
 );
);
$('#png').click(function() 
chart.exportChart(
  type: 'image/png',
  filename: 'my-png'
 );
);
$('#jpeg').click(function() 
chart.exportChart(
  type: 'image/jpeg',
  filename: 'my-jpeg'
 );
);
$('#svg').click(function() 
chart.exportChart(
  type: 'image/svg+xml',
  filename: 'my-svg'
 );
);

jsfiddle

【讨论】:

感谢哥们,这有助于在 6 年后隐藏汉堡图标而不禁用导出;) 请注意,此修复还删除了 x 轴标签的更改选择(如果有) Obrigado,阿朱杜巴斯坦特。 nesse exemplo ta foltando o "viewfullscrean" então pra quem estiver precisando jsfiddle.net/BlackLabel/1ga2fqL0 feliz por poder ajudar!【参考方案4】:
exporting: 
    buttons: 
        contextButton: 
            enabled: false
        
    

您必须只禁用 contextButton。

【讨论】:

【参考方案5】:
exporting:false,

添加上述代码以禁用导出选项。

【讨论】:

【参考方案6】:

@dgw 有删除导出按钮的正确想法,但我对“我想添加一个新的”建议并不满意,直到我意识到我应该只制作按钮 outside the graph。除非您的数据是静态的,否则您真的不知道是否有空间来显示您的控件。

<div id="container" style="height: 400px; min-width: 600px"></div>
<button id="button" class="autocompare">new button</button>

【讨论】:

【参考方案7】:

其他选项是: 如果您根本不需要它,您可以从整个项目中删除“node_modules/highcharts/modules/exporting.js”的导入。

这对我来说是一个解决方案!

【讨论】:

【参考方案8】:

最好的方法是更新exporting.buttons.contextButton.menuItems 数组以仅包含您想要的菜单项。以下是排除“打印图表”和“查看全屏”选项的示例。

exporting: 
    buttons: 
        contextButton: 
            menuItems: ["downloadPNG", "downloadJPEG", "downloadPDF", "downloadSVG"]
        
    

Highcharts Example

【讨论】:

以上是关于如何从 Highcharts 中删除按钮的主要内容,如果未能解决你的问题,请参考以下文章

HighCharts使用心得

Highcharts 气泡图

Vue+Highcharts完全使用

Highcharts:无法使用AngularJS读取未定义的属性'parentGroup'

Highcharts:legendItemClick:使背景透明而不是删除它

如何在highcharts中调整自定义按钮的宽度和高度