Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何强制长方体选择工具显示在绘图仪中?_Javascript_Plotly - Fatal编程技术网

Javascript 如何强制长方体选择工具显示在绘图仪中?

Javascript 如何强制长方体选择工具显示在绘图仪中?,javascript,plotly,Javascript,Plotly,下面是在plotly中选择感兴趣区域的示例: var gd=document.getElementById('graph'); 变量d3=Plotly.d3; var formatter=d3.format('.2f'); 绘图。绘图(gd[{ 模式:“行”, x:Array.apply(null,数组(100)).map(()=>Math.random()), y:Array.apply(null,数组(100)).map(()=>Math.random()), }], { dragmod

下面是在plotly中选择感兴趣区域的示例:


var gd=document.getElementById('graph');
变量d3=Plotly.d3;
var formatter=d3.format('.2f');
绘图。绘图(gd[{
模式:“行”,
x:Array.apply(null,数组(100)).map(()=>Math.random()),
y:Array.apply(null,数组(100)).map(()=>Math.random()),
}], {
dragmode:'选择'
});
gd.on('plotly_selected',(eventData)=>{
var xRange=eventData.range.x;
var yRange=eventData.range.y;
Plotly.relayat('图形','标题',
`x范围:[${xRange.map(格式化程序).join(',')}]
y范围:[${yRange.map(格式化程序).join(',')}]` ); });

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

我认为这是出于设计,因为您只能真正选择标记,因此如果没有标记,则无需选择。没有什么可以阻止您同时使用这两者,但是,修改代码使其看起来像这样:

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

如果需要标记不可见,可以将其大小调整为小于线宽,并使
标记
具有相同的颜色。

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

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

这似乎迫使这些按钮在不考虑打印类型的情况下出现。

有任何反馈吗?嗨,Jon,你看到我的答案了吗?
Plotly.plot(gd,
            [
                {
                    type: "scatter",
                    x: time,
                    y: current,
                }
            ],
            {},
            {modeBarButtons:
             [
                 ['zoom2d'],
                 ['zoomIn2d'],
                 ['zoomOut2d'],
                 ['autoScale2d'],
                 ['select2d'],
                 ['toImage']
             ]
            }
           );