javascript - 如何强制 Box Select 工具显示在绘图中?

标签 javascript plotly

我正在按照这个例子来选择 plotly 中的感兴趣区域:

http://codepen.io/etpinard/pen/zBWRZb

<head>
  <script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
</head>
<body>
  <div id="graph"></div>
</body>

<script>
var gd = document.getElementById('graph');
var d3 = Plotly.d3;
var formatter = d3.format('.2f');

Plotly.plot(gd, [{
  mode: 'lines',
  x: Array.apply(null, Array(100)).map(() => Math.random()),
  y: Array.apply(null, Array(100)).map(() => Math.random()),
}], {
  dragmode: 'select'
});

gd.on('plotly_selected', (eventData) => {
  var xRange = eventData.range.x;
  var yRange = eventData.range.y;

  Plotly.relayout('graph', 'title',
`x range: [${xRange.map(formatter).join(', ')}]<br>
 y range: [${yRange.map(formatter).join(', ')}]`
  );
});
</script>

但是,当我将模式值更改为“线”而不是“标记”时,绘图中不存在框选择按钮(通常应位于平移按钮旁边)。我仍然可以在页面呈现后立即进行框选,但如果我选择缩放工具,则无法返回框选。

最佳答案

我发现可以明确指定应显示哪些按钮:

Plotly.plot(gd,
            [
                {
                    type: "scatter",
                    x: time,
                    y: current,
                }
            ],
            {},
            {modeBarButtons:
             [
                 ['zoom2d'],
                 ['zoomIn2d'],
                 ['zoomOut2d'],
                 ['autoScale2d'],
                 ['select2d'],
                 ['toImage']
             ]
            }
           );

无论绘图类型如何,这似乎都会强制显示这些按钮。

关于javascript - 如何强制 Box Select 工具显示在绘图中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44077752/

相关文章:

javascript - 如何根据 form-validator jquery 插件中的条件更改 errorMess 值

javascript - 使用颜色选择器使用 jquery 更改颜色?

r - plotly 3d surface - 将立方体更改为矩形空间

r - R Shiny 中的复选框组输入与 Plotly

python - 如何在Python中排序堆积条形图?

javascript - 匹配字符串中的独占搜索组

javascript - 匹配两个 ng-repeats 的对象属性

python - 在Python中自定义散点图的气泡大小

javascript - Plotly x轴悬停文本问题

javascript - canvas - putImageData 并不总是有效