打包圖

利用d3.layout.pack布局

 const width = 700, height = 500, padding = {top: 160, left: 130};
    d3.json("city.json", function (error, data) {

        const svg = d3.select("body").append("svg")
            .attr("width", width + padding.left * 2)
            .attr("height", height + padding.top * 2)
            .append("g")
            .attr("transform", `translate(${padding.left },${padding.top})`);
        const pack = d3.layout.pack()
            .size([width, height])
            .padding(19)
            .radius(20);
        const node = pack.nodes(data);
// node格式 用pack(打包布局)把數(shù)據(jù)轉(zhuǎn)換成相應(yīng)半徑和間距的數(shù)據(jù) 然后直接用圓形繪制即可
      /*   {
            children: (12) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}],
            depth: 0,
            name: "中國",
            r: 404.29107179179675,
            value: 0,
            x: 350,
            y: 250
        }*/
        console.log(node);
        const color = d3.scale.category10();
        svg.selectAll(".circle")
            .data(node)
            .enter()
            .append("circle")
            .attr("class", "circle")
            .style("fill", function (d, i) {
                return color(i);
            })
            .style("opacity", function (d, i) {
                return d.children ? .3 : 1;
            })
            .attr("cx", function (d) {
                return d.x
            })
            .attr("cy", function (d) {
                return d.y
            })
            .attr("r", function (d) {
                return d.r
            });
        svg.selectAll(".text")
            .data(node)
            .enter()
            .append("text")
            .attr("class", "text")
            .style("stroke", "black")
            .style("font-size", "12px")
            .style("opacity", function (d, i) {
                return d.children ? 0 : 1;
            })
            .attr("x", function (d) {
                return d.x
            }).attr("y", function (d) {
            return d.y
        }).attr("dy", ".3em")
            .style("text-anchor", "middle")
            .text(d => d.name)
    });

結(jié)果


pack
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末膳殷,一起剝皮案震驚了整個濱河市操骡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌赚窃,老刑警劉巖册招,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異勒极,居然都是意外死亡是掰,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門辱匿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來键痛,“玉大人炫彩,你說我怎么就攤上這事⌒醵蹋” “怎么了江兢?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長丁频。 經(jīng)常有香客問我杉允,道長,這世上最難降的妖魔是什么席里? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任叔磷,我火速辦了婚禮,結(jié)果婚禮上奖磁,老公的妹妹穿的比我還像新娘世澜。我一直安慰自己,他們只是感情好署穗,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布寥裂。 她就那樣靜靜地躺著,像睡著了一般案疲。 火紅的嫁衣襯著肌膚如雪封恰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天褐啡,我揣著相機與錄音诺舔,去河邊找鬼。 笑死备畦,一個胖子當著我的面吹牛低飒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播懂盐,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼褥赊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了莉恼?” 一聲冷哼從身側(cè)響起拌喉,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎俐银,沒想到半個月后尿背,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡捶惜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年田藐,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡汽久,死狀恐怖茴晋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情回窘,我是刑警寧澤诺擅,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站啡直,受9級特大地震影響烁涌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜酒觅,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一撮执、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧舷丹,春花似錦抒钱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至症概,卻和暖如春蕾额,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背彼城。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工诅蝶, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人募壕。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓调炬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親舱馅。 傳聞我的和親對象是個殘疾皇子缰泡,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,138評論 25 707
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽?zāi)J的外補...
    _Yfling閱讀 13,754評論 1 92
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程习柠,因...
    小菜c閱讀 6,419評論 0 17
  • 翻譯自“Collection View Programming Guide for iOS” 0 關(guān)于iOS集合視...
    lakerszhy閱讀 3,864評論 1 22
  • 很快中秋過去匀谣,來到大學(xué)也很快滿一個月了照棋,大姐已經(jīng)因為思念家長和思念她男人躲在被子里哭泣了好多次资溃,每次看她梨花帶雨的...
    Angle果丫閱讀 352評論 0 1