AMCharts显示零值的条形图

时间:2017-01-03 10:41:15

标签: javascript amcharts

是否有可能制作一个"假的"堆叠条形图,其中0值被推,即10px向上,所以0值将有10px条,所以用户总是有点击的东西?

1 个答案:

答案 0 :(得分:0)

没有允许您执行此操作的属性,但是您有一些解决方法。

您可以通过设置angledepth3D属性来制作图表3D。这为零大小的条形提供了更多的表面区域,可以在轴级别点击。但是,对于堆积图表,这并不能很好地工作。

或者,您可以向列添加不可见的项目符号。您可以在图表中指定bullet形状,然后将bulletAlpha设置为0,以便它们不可见但仍可点击。您还可以通过将bulletSize设置为更大的数字来增加尺寸,这会增加hitbox:

  "graphs": [{
    "fillAlphas": 0.9,
    "bullet": "round",
    "bulletSize": 20, //used to increase the hitbox
    "bulletAlpha": 0,
    "type": "column",
    "valueField": "visits"
  },
  // ...
  ]

我创建了一个带有隐形子弹和可见子弹的演示来说明命中箱和位置here。我将bulletSize设置为20以使其足够大以覆盖气球出现的某些区域,以便用户可以点击那里的圆形

作为最后一种选择,您可以创建一个不可见的非聚集图形,该图形指向与数据中最大值对应的valueField。这个不可见的列将包含每个类别上方的空间,直到valueField中的值,因此列上方的任何空白空间也将触发click事件。

  "dataProvider": [{
    "country": "Netherlands",
    "visits": 665,
    "max": 665
  }, {
    "country": "Russia",
    "visits": 0,
    "max": 665
  },
  // ...
  ],
  "graphs": [{
    // invisible graph - set clustered to false and all other visible properties and interactive properties to 0 or false
    "clustered": false,
    "visibleInLegend": false,
    "fillAlphas": 0,
    "lineAlpha": 0,
    "showBalloon": false,
    "type": "column",
    "valueField": "max"
  }, {
    // real graph
    "fillAlphas": 0.9,
    "type": "column",
    "valueField": "visits"
  }],

这是此方法的demo