Javascript 如何强制长方体选择工具显示在绘图仪中?
下面是在plotly中选择感兴趣区域的示例: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
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']
]
}
);