【问题标题】:Is there any option to make the chart (amcharts4) below draggable from both sides (left and right)?是否有任何选项可以使下方的图表(amcharts4)可以从两侧(左右)拖动?
【发布时间】:2019-05-09 11:50:02
【问题描述】:

我正在制作一个工作日开始/结束时间的图表,我想让它可拖动。我找到了如何拖动右侧(endTime)的解决方案,但左侧(startTime)没有选项。 或者,如果您推荐此图表的任何其他替代方案。

我尝试在左侧添加另一个项目符号,但似乎这不是 amcharts 中的内置选项。

// That's how I'm handling the drag event
 bullet.events.on("drag", event => {
      handleDrag(event);
 });
 bullet.events.on("dragstop", event => {
      handleDrag(event);
      var dataItem = event.target.dataItem;
      dataItem.column.isHover = false;
      event.target.isHover = false;
 });

 function handleDrag(event) {
      var dataItem = event.target.dataItem;
      var value = valueAxis.xToValue(event.target.pixelX);
      dataItem.valueX = value;
      dataItem.column.isHover = true;
      dataItem.column.hideTooltip();
      event.target.isHover = true;
 }

【问题讨论】:

    标签: javascript charts amcharts amcharts4


    【解决方案1】:

    刚刚找到了解决方案。我添加了另一个 Bullet 并更改了子弹获取数据的值(我跟随控制台中的对象)。

    bullet2.events.on("drag", event => {
      handleDrag(event, "start");
    });
    bullet2.events.on("dragstop", event => {
      handleDrag(event, "start");
      var dataItem = event.target.dataItem;
      dataItem.column.isHover = false;
      event.target.isHover = false;
      this.openHours.find(x => x.day === dataItem.dataContext.day).startTime = dataItem.openValueX;
    });
    
    
    function handleDrag(event, position) {
      var dataItem = event.target.dataItem;
      var value = valueAxis.xToValue(event.target.pixelX);
      if (position==="start"){
        dataItem.openValueX = value;
      }else{
        dataItem.valueX = value;
      }
      dataItem.column.isHover = true;
      dataItem.column.hideTooltip();
      event.target.isHover = true;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 2021-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多