d3之簡單柱狀圖

柱狀圖其實是很簡單阅爽,就是矩形和線的組合路幸,在這里為操作方便我們一般會添加g組。g標(biāo)簽沒有任何別的作用付翁,只是把它的所有children聚到一起而已简肴。下面是800寬,600高的svg上添加了一個柱圖的g組百侧。

效果圖:


p1.png

代碼如下砰识,需要注意的是,g組的transform不會影響坐標(biāo)的改變佣渴。
還有y需要特別注意下辫狼,跟數(shù)學(xué)上的y從下到上不一樣,svg的0點在最上方观话。

<script>
        var dataset=[100,50,80,200];

        var _svg = d3.select("body")
                .append("svg")
                .attr("width","800")
                .attr("height","600")
                .style("background","lightgrey");

        var _g=_svg.append("g");//添加g組

        _g.attr("transform","translate(50,120)");
        
        var barWidth = 20, barPadding = 30;
        var x2 = barPadding * ( dataset.length + 1 ) + barWidth * dataset.length;

        _g.append("line")
                .attr("x1",0)
                .attr("y1","180")
                .attr("x2",x2)
                .attr("y2","180")
                .attr("stroke","steelblue");
        
        _g.selectAll("rect")
                .data(dataset)
                .enter()
                .append("rect")
                .attr("x",function(d,i){
                    //20為柱子寬度予借,30為柱子之間的間距
                    return barPadding + barWidth * i + barPadding * i;
                })
                .attr("y",function(d,i){
                    //d為柱子的高度,180為x軸的y值 
                    return 180 - d;
                })
                .attr("height",function(d){return d})
                .attr("width","20")
                .style("fill","steelblue");

        _g.selectAll("text")
                .data(dataset)
                .enter()
                .append("text")
                .attr("x",function(d,i){
                    return 30+20*i+30*i;
                })
                .attr("y",function(d){
                    return 160-d;
                })
                .text(function(d){return d})
                .attr("text-anchor","middle")
                .attr("fill","darkblue");
    </script>

這里用的是數(shù)組里的真實的數(shù)據(jù)作為坐標(biāo)算的,如果數(shù)據(jù)特別大的話就得用到比例尺了~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末灵迫,一起剝皮案震驚了整個濱河市秦叛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瀑粥,老刑警劉巖挣跋,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異狞换,居然都是意外死亡避咆,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門修噪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來查库,“玉大人,你說我怎么就攤上這事黄琼》” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵脏款,是天一觀的道長围苫。 經(jīng)常有香客問我,道長撤师,這世上最難降的妖魔是什么剂府? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮剃盾,結(jié)果婚禮上腺占,老公的妹妹穿的比我還像新娘。我一直安慰自己痒谴,他們只是感情好湾笛,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著闰歪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蓖墅。 梳的紋絲不亂的頭發(fā)上库倘,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機(jī)與錄音论矾,去河邊找鬼教翩。 笑死,一個胖子當(dāng)著我的面吹牛贪壳,可吹牛的內(nèi)容都是我干的饱亿。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼彪笼!你這毒婦竟也來了钻注?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤配猫,失蹤者是張志新(化名)和其女友劉穎幅恋,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體泵肄,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡捆交,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了腐巢。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片品追。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖冯丙,靈堂內(nèi)的尸體忽然破棺而出肉瓦,到底是詐尸還是另有隱情,我是刑警寧澤银还,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布风宁,位于F島的核電站,受9級特大地震影響蛹疯,放射性物質(zhì)發(fā)生泄漏戒财。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一捺弦、第九天 我趴在偏房一處隱蔽的房頂上張望饮寞。 院中可真熱鬧,春花似錦列吼、人聲如沸幽崩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽慌申。三九已至,卻和暖如春理郑,著一層夾襖步出監(jiān)牢的瞬間蹄溉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工您炉, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留柒爵,地道東北人。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓赚爵,卻偏偏與公主長得像棉胀,于是被迫代替她去往敵國和親法瑟。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

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

  • Data Visualization with D3 D3: SVG中的jQurey 1. Add Documen...
    王策北閱讀 769評論 0 2
  • 近期在做線路圖實時刷新的功能唁奢,用到的技術(shù)主要有d3霎挟、svg、websocket驮瞧。整體思路就是解析線路圖json氓扛,使...
    淼一___閱讀 1,067評論 0 1
  • @(HTML5)[canvas與SVG] [TOC] 十一 、SVG HTML體系中论笔,最常用的繪制矢量圖的技術(shù)是S...
    踏浪free閱讀 4,581評論 0 2
  • 第一章 HTML5 (2014年10月29日發(fā)布)新特性: 10個 (1)新的語義標(biāo)簽 (2)增強(qiáng)型表單 (3)視...
    fastwe閱讀 962評論 0 1
  • d3 (核心部分)選擇集d3.select - 從當(dāng)前文檔中選擇一系列元素采郎。d3.selectAll - 從當(dāng)前文...
    謝大見閱讀 3,451評論 1 4