第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何在 D3 Js 中將 y 軸(yDomain)值設(shè)置為最大值

如何在 D3 Js 中將 y 軸(yDomain)值設(shè)置為最大值

藍(lán)山帝景 2021-10-14 13:01:28
在我的 D3 圖表中,如何設(shè)置yDomain為最大值。有什么建議 ?如果我們看到nov 10我的line并且area是開(kāi)箱即用的。我的代碼沙箱在這里我正在分別計(jì)算 yDomainMagnitude 和 yDomainStartupMagnitude 的兩個(gè)域,但現(xiàn)在如何合并或采用兩者的并集并分配給 yDomain。   var yDomainMagnitude = d3.extent(data, function(d) {      return d.magnitude;    });    var yDomainStartupMagnitude = d3.extent(data, function(d) {      return d.startupMagnitude;    });    var yDomain = yDomainStartupMagnitude; // here I have to have union of both and assign.    var xScale = d3      .scaleTime()      .range([0, width])      .domain(xDomain);    var yScale = d3      .scaleLinear()      .range([height, 0])      .domain(yDomain);
查看完整描述

3 回答

?
千萬(wàn)里不及你

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊

由于您的函數(shù)中有一個(gè)關(guān)系條件,它總是會(huì)取較大的值。你可以代替分別計(jì)算出兩個(gè)結(jié)構(gòu)域?yàn)閟tartupMagnitude和magnitude,然后聯(lián)合的盤區(qū)(分別取最小值和最大范圍內(nèi)的值,的最小值和最大值)。


const magnitude = d3.extent(data, d => d.magnitude);

const startup = d3.extent(data, d => d.startupMagnitude);

const yDomain = [

    d3.min([magnitude[0], startup[0]]),

    d3.max([magnitude[1], startup[1]])

];

或者,單分配版本,利用您只是聯(lián)合范圍:


const yDomain = d3.extent([

    ...d3.extent(data, d => d.magnitude), 

    ...d3.extent(data, d => d.startupMagnitude)

]);

另一種方法是先聯(lián)合數(shù)據(jù),然后計(jì)算范圍:


const yDomain = d3.extent([

    ...data.map(d => d.magnitude), 

    ...data.map(d => d.startupMagnitude)

]);

這些不混合計(jì)算與所述最小/最大/程度的D3方式不同的語(yǔ)義的Math.min/ Math.max,例如。如果數(shù)組為空,則處理字符串、空值和結(jié)果。在這方面,最后一個(gè)版本最忠實(shí)于 D3 方式,因?yàn)樗褂脝蝹€(gè)d3.extent.



查看完整回答
反對(duì) 回復(fù) 2021-10-14
?
桃花長(zhǎng)相依

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊

有幾種方法可以計(jì)算yDomain到位。您的顯然有效,但可以顯著簡(jiǎn)化:


var yDomain = [

  d3.min(data, d => Math.min(d.magnitude, d.startupMagnitude)),

  d3.max(data, d => Math.max(d.magnitude, d.startupMagnitude))

];

對(duì)于任何數(shù)據(jù)點(diǎn),此方法分別使用/來(lái)檢查任何值magnitude或startupMagnitude更小/更大。然后利用并計(jì)算這些值的全局范圍。Math.min()Math.max()d3.min()d3.max()


查看完整回答
反對(duì) 回復(fù) 2021-10-14
?
明月笑刀無(wú)情

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊

這就是我分別計(jì)算啟動(dòng)幅度和幅度的兩個(gè)域的方式,然后比較最大值和最小值并創(chuàng)建 yDomain。


我不確定這是正確的還是有任何其他 d3 方法,


    var yDomainMagnitude = d3.extent(data, function(d) {

        return d.magnitude;

    });


    var yDomainStartupMagnitude = d3.extent(data, function(d) {

        return d.startupMagnitude;

    });


    var max =

        d3.max(d3.values(yDomainMagnitude)) >

        d3.max(d3.values(yDomainStartupMagnitude))

            ? d3.max(d3.values(yDomainMagnitude))

            : d3.max(d3.values(yDomainStartupMagnitude));

    var min =

        d3.min(d3.values(yDomainMagnitude)) <

        d3.min(d3.values(yDomainStartupMagnitude))

            ? d3.min(d3.values(yDomainMagnitude))

            : d3.min(d3.values(yDomainStartupMagnitude));

    var yDomain = [min, max];


查看完整回答
反對(duì) 回復(fù) 2021-10-14
  • 3 回答
  • 0 關(guān)注
  • 271 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)