首页 > 解决方案 > 如何在 amCharts 中更改甘特图的高度?

问题描述

我们有一个甘特图,其中包含太多标签并且它们重叠。我可以通过图表的属性更改图表或父容器的高度吗?基本上,我们有一个甘特图,其中有一列包含 80 多个项目,但每隔一列大约有 20 个。这会导致附加到较小列的标签重叠,就像它们被挤压在一起一样。

不幸的是,我不能包含代码,因为它不是我的,而是我公司的。

我尝试使用图表向 div 添加样式标签以增加高度,但没有任何变化。

标签: phpheightamchartsgantt-chart

解决方案


嗨,您可以使用样式标签来做到这一点:

#chartdiv {
  width: 100%;
  height: auto;
}

您也可以使用像 boostrap 这样的框架来管理 div 的大小,amchart 还提供了一个如何调整 char 单元格大小的示例,代码如下:

// Set cell size in pixels
var cellSize = 30;
chart.events.on("datavalidated", function(ev) {

  // Get objects of interest
  var chart = ev.target;
  var categoryAxis = chart.yAxes.getIndex(0);

  // Calculate how we need to adjust chart height
  var adjustHeight = chart.data.length * cellSize - categoryAxis.pixelHeight;

  // get current chart height
  var targetHeight = chart.pixelHeight + adjustHeight;

  // Set it on chart's container
  chart.svgContainer.htmlElement.style.height = targetHeight + "px";
});

如果您有任何疑问,最后这里是网站:https ://www.amcharts.com/docs/v4/tutorials/auto-adjusting-chart-height-based-on-a-number-of-data-items/


推荐阅读