Javascript dimple.js中测量轴的动态过盈导致浮滴

Javascript dimple.js中测量轴的动态过盈导致浮滴,javascript,dimple.js,Javascript,Dimple.js,我正在使用动态数据集在dimple.js中创建图表。为此,我对x和y都使用addMeasureAxis 我的问题是,我想改变这些轴的范围,因为轴在原点交叉通常会将我的点都留在图形的角上。为了解决这个问题,我尝试通过axis.overrideMin将x/y轴的最小值设置为数据的最低值 这给了我一个更适合我的数据的图表,但轴的最小值仍然不是我设置的,而是稍微低一点。因此,当我将鼠标悬停在下降线上时,下降线不会到达轴,而是在我的overrideMin值处停止。是否覆盖错误,或者是否可以延伸放置线的位置

我正在使用动态数据集在dimple.js中创建图表。为此,我对x和y都使用addMeasureAxis

我的问题是,我想改变这些轴的范围,因为轴在原点交叉通常会将我的点都留在图形的角上。为了解决这个问题,我尝试通过axis.overrideMin将x/y轴的最小值设置为数据的最低值

这给了我一个更适合我的数据的图表,但轴的最小值仍然不是我设置的,而是稍微低一点。因此,当我将鼠标悬停在下降线上时,下降线不会到达轴,而是在我的overrideMin值处停止。是否覆盖错误,或者是否可以延伸放置线的位置

$scope.svg = new dimple.newSvg("dimple-chart", 800, 600);
$scope.chart = new dimple.chart($scope.svg, $scope.chartData);
$scope.chart.data = $scope.chartData;
$scope.chart.setBounds(60, 30, 500, 330);

var x,y,dataSeries;

x = $scope.chart.addMeasureAxis("x", xStatProperty);
y = $scope.chart.addMeasureAxis("y", yStatProperty);

$scope.chartData = _.sortBy($scope.chartData, xStatProperty);   \\Sorts data
x.overrideMin = $scope.chartData[0][xStatProperty];             \\Overides to min value
$scope.chartData = _.sortBy($scope.chartData, yStatProperty);
y.overrideMin = $scope.chartData[0][yStatProperty];

dataSeries = $scope.chart.addSeries("Team", dimple.plot.bubble);
$scope.chart.draw();

您正在使用的重写方法没有任何问题,听起来您可能正在使用旧版本的库。更新到2.1版应该可以解决此问题

编辑:

根据您下面的评论,我做了更多的调查,这是由轴值舍入引起的。以下是问题的一个示例:

为了确保轴在一个标记点上完成,dimple将围绕轴旋转到下一个标记值,这可能不适用于被覆盖的轴,因此请在Git Hub中为此创建一个问题

以灵活的方式解决这一问题很棘手,因为您需要知道轴的粒度。上述示例可通过使用楼层计算进行修正:

但如果轴心看起来像这样,那就行不通了:

我能想到的唯一解决方法依赖于一些内部API知识,因此非常粗糙,但我认为这适用于所有情况:

chart.draw();

if (x.overrideMin > 0) {
   x._origin = chart._xPixels();
}
if (y.overrideMin > 0) {
   y._origin = chart._yPixels() + chart._heightPixels();
}

我使用的是src='',因此我相信我使用的是最新版本。就这个问题给出一个更详细的例子;如果我的xStatProperty最小值为47,则轴最小值为~45,且液滴停止在47。如果我试图覆盖emin=46,同样的事情也会发生。但是,如果我使用小于45的值,则轴和液滴可以正常工作,并且它们显示在overrideMin设置它们的位置。也许是因为我使用的是气泡图,所以有一个内置的缓冲垫?