charts - 设置 Apexcharts 图表列的最小高度或宽度

标签 charts apexcharts

如果数据比其他数据低很多,则几乎为零,并且用户无法点击,因为它太小。

如何设置小数字的最小高度或宽度?

Gif

enter image description here

最佳答案

图表渲染结束时使用此函数

function svgBalancer(minHeight, absUnit, bool) {
  let cols = document.getElementsByClassName("apexcharts-bar-area");
  let labels = document.getElementsByClassName("apexcharts-datalabel");
  for (let i = 0; i < cols.length; i++) {
    if (parseFloat(cols[i].getAttribute("barHeight")) <= minHeight && parseFloat(cols[i].getAttribute("barHeight")) != 0) {
      let d = cols[i].getAttribute("d");
      d = d.split(" ");
      if (bool == false) {
        let d2 = d[2].split(".");
        d2[0] = absUnit;
        d[2] = d2.join(".");
        let d3 = d[3].split(".");
        d3[0] = absUnit;
        d[3] = d3.join(".");
      } else {
        let d4 = d[4].split(".");
        d4[0] = absUnit;
        d[4] = d4.join(".");
        let d6 = d[6].split(".");
        d6[0] = absUnit;
        d[6] = d6.join(".");
      }
      cols[i].setAttribute("d", d.join(" "));
      let yLabel = parseFloat(labels[i].getAttribute("y"));
      let delta = yLabel - absUnit;
      yLabel = yLabel - delta - 8;
      labels[i].setAttribute("y", yLabel);
    }
  }
}

updated: function(chartContext, config) {
    svgBalancer(8, 313, true);
},
animationEnd: function(chartContext, options) {
    svgBalancer(8, 313, false);
}

代码不能很好地工作,但总比没有好。

enter image description here

enter image description here

关于charts - 设置 Apexcharts 图表列的最小高度或宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61812489/

相关文章:

android - android中的半饼图

javascript - 谷歌在一页上绘制两个条形图

javascript - 顶点图表 : how do I change tooltip position to be always on top?

javascript - Chart JS - 为 x 轴时间序列设置一周的开始

mysql - 图表与MySql的连接

javascript - 如何为 apexcharts y 轴添加背景颜色?

apexcharts - 在 ApexCharts 中为 xAxis 类型类别隐藏重叠标签

reactjs - 如何重命名 Apex 圆环图标签

javascript - Apexcharts 工具提示 - 如何为烛台图表添加额外数据?

java - 如何在jfreechart中用两个系列动态更新HistogramDataset?