javascript - Highcharts 区域范围draggableHigh 和draggableLow 不起作用

标签 javascript reactjs charts highcharts react-highcharts

根据文档,series.arearange.dragDrop应接受 draggableHighdraggableLow (均默认为 true)以允许单独拖动范围的高点和低点。换句话说,不仅可以向上或向下移动范围,还可以使其变窄或变宽。但我无法让它发挥作用。代码:

import React from "react";
import { render } from "react-dom";
// Import Highcharts
import Highcharts from "highcharts";
import more from "highcharts/highcharts-more";
import draggable from "highcharts/modules/draggable-points";

import HighchartsReact from "highcharts-react-official";

if (typeof Highcharts === "object") {
  more(Highcharts);
  draggable(Highcharts);
}

class App extends React.Component {
  render() {
    return (
      <div>
        <HighchartsReact
          highcharts={Highcharts}
          constructorType={"chart"}
          options={{
            credits: {
              enabled: false
            },
            title: {
              text: ""
            },
            tooltip: {
              valueDecimals: 2,
              shared: true
            },
            legend: {
              enabled: false
            },
            xAxis: {
              type: "datetime"
            },
            yAxis: {
              title: {
                text: ""
              },
              min: 0
            },
            series: [
              // …
              {
                name: "Range",
                data: [[0, 8, 3], [1, 1, 1], [2, 6, 8]],
                type: "arearange",
                dragDrop: {
                  draggableY: true,
                  draggableHigh: true,
                  draggableLow: true
                },
                lineWidth: 0,
                linkedTo: ":previous",
                color: "lightBlue",
                fillOpacity: 0.3,
                zIndex: 0,
                marker: {
                  enabled: false
                }
              }
            ]
          }}
        />
      </div>
    );
  }
}

render(<App />, document.getElementById("root"));

演示:https://codesandbox.io/s/highcharts-react-demo-u151p

最佳答案

您的数据结构不正确:

data: [
  [0, 8, 3],
  [1, 1, 1],
  [2, 6, 8]
]

映射到'x'、'low'、'high',并且low不能大于high

您需要更改数据顺序或使用keys属性。

此外,您需要启用标记。删除以下内容:

marker: {
  enabled: false
}
<小时/>

API引用:

https://api.highcharts.com/highcharts/series.arearange.data

https://api.highcharts.com/highcharts/series.arearange.keys

关于javascript - Highcharts 区域范围draggableHigh 和draggableLow 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59964770/

相关文章:

javascript - AngularJS:在 ng-data-repeat 结构中检索(或设置全局变量)

javascript - 如何在React中将温度以摄氏度显示为RGB?

c# - 可以推荐 .NET 的 ZedGraph 图表库吗?

charts - 在 Google 表格中创建周/月/年折线图以汇总同一周/月/年范围内的金额

javascript - 在纯 JavaScript 中让文本区域自动增长的最简单方法是什么?

javascript用于更改html页面中链接的href

javascript - 如何使用 jquery 从输入框中克隆键入/键入值并将其掩码为星号 (*)

javascript - 为什么 Date.now() 是一个非纯函数?

javascript - 无法在 typescript 上分配 reducer?

vba - 将新系列添加到图表 (VBA) 时出现应用程序定义或对象定义错误