是否有任何选项可以使下方的图表 (amcharts4) 可以从两侧(左右)拖动?
Is there any option to make the chart (amcharts4) below draggable from both sides (left and right)?
我正在制作工作日 starting/ending 小时的图表,我想让它可以拖动。我找到了如何拖动右侧 (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;
}
刚刚找到我的解决方案。我添加了另一个 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;
}
我正在制作工作日 starting/ending 小时的图表,我想让它可以拖动。我找到了如何拖动右侧 (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;
}
刚刚找到我的解决方案。我添加了另一个 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;
}