上一节中咱们已经画出了一个基本的图表,不过忘了给坐标轴添加标签了,因此在本节中咱们要给坐标轴加上标签,目标效果以下app
很明显,标签是否是一个text内容块啊,因此咱们只要在svg中添加一个text而后再给这个text定位和指定内容不就好了么?先来看如何给x轴添加标签svg
//增长一个x轴的标签 svg.append("text") .attr("transform", "translate(" + (width/2) + "," + (height + margin.bottom) + ")") .style("text-anchor", "middle") .text("Date");
上面代码可能又两个地方须要解释,第一,transform属性,详细的介绍能够看我w3c的定义,这里咱们用到的是他的一个translate属性,也就是移动,第一个参数是相对于原点在x轴上的位移距离,第二个是相对于原点在y轴上的位移距离;第二,text-anchor属性,是指文本相对于插件点的对齐方式,咱们这里用到的是中间对齐,也就是说文本的中点与x轴的中点(文本插入点)对齐.spa
同理,给y轴添加一个标签插件
//增长一个y轴的标签 svg.append("text") .attr("transform", "rotate(-90)") .attr("y", 0 - margin.left) .attr("x", 0 - (height/2)) .attr("dy", "1em") .style("text-anchor" , "middle") .text("Value");
这里的rotate值表示文本相对于原点的旋转角度,负数表示逆时针旋转,dy属性表示文本在y轴上的平移距离。
添加标题跟添加坐标轴的标签实际上是同样的,只不过定位有所不一样而已code
//给图表添加一个标题 svg.append("text") .attr("x", (width/2)) .attr("y", 0 - (margin.top /2 )) .attr("text-anchor", "middle") .style("font-size", "16px") .style("text-decoration", "underline") .text("一个简单的图表");
这样,坐标轴的标签和图表的标题咱们就添加上啦。下一节中,咱们将对图表中的path进行处理!blog