簡體   English   中英

防止使用d3.js中的域進行裁剪

[英]Prevent clipping using domain in d3.js

我試圖通過像這樣增加yAxis上的域來防止在圖表的最頂部yAxis

mainHeight = 640;
yScale = d3.scale.linear()
    .range([mainHeight, 0])
    .domain(d3.extent([0, d3.max(data, function (d) {
        return (d.total)+1000;
    })]));

這個想法是獲取yAxis的最大數據並將其增加1000。

最高的總數是14348因此加上1000就會創建15348

但是,圖表的頂部仍被剪裁,並且我的軸沒有增加以防止剪裁。 即使我將數字增加了9999999999也仍然不會發生。

該行使用以下命令生成:

var totalLine = d3.svg.line()
            .interpolate('monotone')
            .x(function (d) {
                return xScale(d.date);
            })
            .y(function (d) {
                return yScale(d.total);
            });

在此處輸入圖片說明

嘗試在結尾處拋出.nice()

yScale = d3.scale.linear()
    .range([mainHeight, 0])
    .domain(d3.extent([0, d3.max(data, function (d) {
        return (d.total)+1000;
    })]))
    .nice();

這將嘗試使軸以漂亮的整數結束。 您可以在此處閱讀更多信息: https : //github.com/d3/d3-3.x-api-reference/blob/master/Quantitative-Scales.md#linear_nice

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM