使面板看不到amchart [英] Make Panels invisible amchart

查看:128
本文介绍了使面板看不到amchart的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想通过按钮使面板可见/不可见.

I would like to make panels visible/invisible by button.

在此示例删除/添加面板中. 但是添加时,我需要再次创建一个面板和设置.

in this sample remove/add panels. But when adding, I need to make a panel and settings again.

我只想使面板可见/不可见而不删除.

I would like to just make panels visible/invisible not delete.

我在Google周围搜索,没有找到示例.

I have googled around and not found samples.

有可能吗?

感谢@Robbert回复

我可以隐藏面板.像这样.

I could hide the panel . like this .

    $(".amcharts-stock-panel-div-stockPanel1").hide();

但是,它不会重新调整每个面板的尺寸.

However it does not re-adjust the each panel size.

如果我致电

所以我尝试这样.

$(".amcharts-stock-panel-div-stockPanel1").hide();
chart.panels[1].percentHeight = 1;
chart.validateNow();

它隐藏面板并调整每个面板的高度.

it hide the panel and adjust the each panel height.

但是,如果在percentHeight = 1;

发生此错误.

  amcharts.js:26 Uncaught TypeError: Cannot read property 'translate' of undefined
    at b.fixVLine (amcharts.js:26)
    at b.adjustBalloonCoordinate (serial.js:17)
    at b.showBalloon (amcharts.js:5)
    at b.handleCursorMove (serial.js:8)
    at b.dispatchMovedEvent (amcharts.js:27)
    at b.syncWithCursorReal (amcharts.js:28)
    at b.syncWithCursor (amcharts.js:28)
    at b.handleCursorChange (amstock.js:2)
    at b.a.inherits.b.fire (amcharts.js:1)
    at b.dispatchMovedEvent (amcharts.js:27)


我的最终解决方案是这样的,不使用css,而是为面板备份准备变量panelBack.

//removing ...
pos = //panel position.
var panelBack = chart.panels[pos];
chart.removePanel(chart.panels[pos]);
chart.validateNow();

//adding...
chart.addPanelAt(panelBack,1);
chart.validateNow();

推荐答案

通过查看演示的源代码,您会看到第二个股票面板"的类名为amcharts-stock-panel-div-stockPanel1.您可以使用CSS隐藏它:

By looking at the source of the demo, you'll see that the second Stock Panel gets a classname of amcharts-stock-panel-div-stockPanel1. You could hide it using CSS:

.amcharts-stock-panel-div-stockPanel1 {
  display: none;
}

.amcharts-stock-panel-div-stockPanel1 * {
  /* hide SVG nodes as well */
  visibility: hidden;
}

但是,amCharts本身并不知道此面板是隐藏的,因此在移除"它时不会重新调整第一个备用面板的高度.

However, amCharts itself is not aware that this panel is hidden, so it will not re-adjust the height of the first stock panel when "removing" it.

我建议您按照示例中的方法进行操作.

I would advice following the method as seen in the example.

这篇关于使面板看不到amchart的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆