介绍
这篇文章给大家分享的是有关d3怎么绘制基本的柱形图的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
柱形图,是使用柱形的长短来表示数据变化的图表,也是最简单的图表之一。一般情况下,柱形图包括:矩形,坐标轴和文字。
d3简单理解就是通过在svg画布上绘制基本图形,本文将介绍d3绘制基本的柱形图
<强>绘制画布强>
import *, as d3 得到“d3"; var 宽度=300;//svg画布宽 var 身高=200;//svg画布高//定义画布 var svg=d3.select (“body") .append才能(“svg") .attr才能(“width"、宽度) .attr才能(“height"、高度) .style才能(“background-color",“yellow")
<强>绘制矩形强>
var rectWidth=30;//每个矩形的默认宽度 svg.append (“rect") .attr (“width" rectWidth-2) .attr (“height" 40) .attr (“x", 0) .attr (“y", 200) .attr (“transform", '翻译(0,$ {-40})) svg.append (“rect") .attr (“width" rectWidth-2) .attr (“height", 20) .attr (“x" rectWidth) .attr (“y", 200) .attr (“transform", '翻译(0,$ {-20}))
结果
<李>
x轴方向为水平向右;
李> <李>y轴方向为垂直向下;
李>2。矩形的基本属性:
- <李>
x, y分别对应矩形左上角的坐标轴;
李> <李>宽度、高度分别对应矩形的宽和高;
李> <李>(本示例的数据可视化通过高度来体现)
李> 3。由于默认的y轴方向为垂直向下,所以为了绘制柱形图,我们需要通过attr矩形的变换属性对矩形进行翻转;
4。默认的矩形填充颜色为黑色;
<>强绑定数据强>
var 数据集=[79年45岁,70年,12日,4127年,33岁,90年); svg.selectAll (“rect") . data(数据集)//,.attr (“fill",“white") .enter () .append (“rect") .attr (“width" rectWidth-2) .attr (“height" function (d i), { ,,return d }) .attr (“x" function (d i), { ,,return rectWidth *我 }) .attr (“y", 200) .attr (“transform" function (d i), { return 才能,“翻译(0,$ {-})” }) .attr (“fill",“blue")
结果
可以发现前两个矩形的填充颜色和数据并没有发生变化,后面的蓝色矩形为绑定数据后新添加的元素;
如果前两个矩形我们不设置高度,是否会通过数据集绑定上相关数据呢?
svg.append (“rect") svg.append (“rect") var 数据集=[79年45岁,70年,12日,4127年,33岁,90年); svg.selectAll (“rect") . data(数据集)//,.attr (“fill",“white") .enter () .append (“rect") .attr (“width" rectWidth-2) .attr (“height" function (d i), { ,,return d }) .attr (“x" function (d i), { ,,return rectWidth *我 }) .attr (“y", 200) .attr (“transform" function (d i), { return 才能,“翻译(0,$ {-})” }) .attr (“fill",“blue")
结果
结果发现前两个矩形不设置相关属性和值的情况下,也没有和数据集进行绑定,进行相关的可视化工作。
如果我们在绑定数据后立刻attr矩形的属性呢?是否会有所改变呢?
svg.append (“rect") .attr (“width" rectWidth-2) .attr (“height" 40) .attr (“x", 0) .attr (“y", 200) .attr (“transform", '翻译(0,$ {-40})) svg.append (“rect") .attr (“width" rectWidth-2) .attr (“height", 20) .attr (“x" rectWidth) .attr (“y", 200) .attr (“transform", '翻译(0,$ {-20})) var 数据集=[79年45岁,70年,12日,4127年,33岁,90年); svg.selectAll (“rect") . data(数据集) .attr (“fill",“pink") .enter () .append (“rect") .attr (“width" rectWidth-2) .attr (“height" function (d i), { ,,return d }) .attr (“x" function (d i), { ,,return rectWidth *我 }) .attr (“y", 200) .attr (“transform" function (d i), { return 才能,“翻译(0,$ {-})” }) .attr (“fill",“blue")d3怎么绘制基本的柱形图