数据可视化-svg入门基础(二) (2)

实例代码:

<svg width="200" height="200"> <path d="M 10 10 L 180 180" stroke="#fb3" stroke-width="4" fill="transparent"></path> </svg>

 

6.2绘制直线类参数

L:lineto,绘制直线到指定坐标,如:d="M 10 10 L 80 80",表示绘制一条起点坐标为(10,10),终点坐标为(80,80)的直线。

H:horizontal  lineto,绘制水平直线到指定坐标,如:d="M 10 10 H 100",表示是绘制一条起点坐标为(10,10),终点坐标为(100,10)的直线,注意:H只需要设置一个值,如果设置了多个值,则最后取最后一个值。

V:vertical,绘制垂直直线到指定坐标,如:d="M 10 10 V 100",表示绘制一条起点坐标(10,10),终点坐标为(10,100)的直线,注意:V只需要设置一个值,如果是多个值,则取最后一个值。

 

6.3绘制曲线类参数

C:curveto,绘制三次方贝塞尔曲线到终点坐标,中间经过两个控制点控制曲线的弧度,所以需要制定三个坐标来实现绘制曲线,如:d="M10,10 C40,5 40,140 100,100"

S:shorthand/smooth curveto,绘制平滑三次方贝塞尔曲线到终点坐标,与上一条三次方贝塞尔曲线相连,第一个控制点为上一条曲线第二个控制点的对称点,所以还需制定一个控制点坐标和终点坐标。如:d="M10,10 C40,5 40,140 100,100 S140,180 160,160",如果不与贝塞尔曲线相连,即:d="M10,10 S140,180 160,160",则绘制的图线接近于二次贝塞尔曲线

Q:quadratic Bezier curveto,绘制二次贝塞尔曲线到终点坐标,中间经过一个控制点控制曲线的弧度,如:d="M10,10 Q40,140 100,100"

T:shorthand/smooth quadratic Bezier curveto,绘制平湖二次贝塞尔曲线到终点坐标,与上一条二次贝塞尔曲线相连,控制点为上一条曲线控制点的对称点,所以还需指定一个终点坐标,如:d="M10,10 Q40,140 100,100 T160,160",如果不与贝塞尔曲线相连,即:d="M10,10 T160,160",则绘制的图线是一条直线。

示例图:

数据可视化-svg入门基础(二)

实例代码:

/* 图一 三次方贝塞尔曲线 */ <svg width="200" height="200"> <path d="M10,10 C40,5 40,140 100,100" stroke="#fb3" stroke-width="4px" fill="transparent"></path> </svg> /* 图二 三次方贝塞尔曲线,与上一条曲线相连 */ <svg> <path d="M10,10 C40,5 40,140 100,100 S140,180 160,160" stroke="#fb3" stroke-width="4px" fill="transparent"></path> </svg> /* 图三 二次贝塞尔曲线 */ <svg width="200" height="200"> <path d="M10,10 Q40,140 100,100" stroke="#fb3" stroke-width="4px" fill="transparent"></path> </svg> /* 图四 二次方贝塞尔曲线,与上一条曲线相连 */ <svg> <path d="M10,10 Q40,140 100,100 T160,160" stroke="#fb3" stroke-width="4px" fill="transparent"></path> </svg>

 

6.4绘制弧线类参数

A:el liptical arc,绘制椭圆曲线到指定坐标,需设置的参数有:

(1)rx,ry:x轴方向半径,y轴方向半径;

(2)x-axis-rotation:x轴与水平顺时针方向夹角;

(3)large-arc-flag:角度弧线大小(1:大,0:小);

(4)sweep-flag:绘制方向(1:顺时针,0:逆时针);

(5)x y:终点坐标

示例图:

数据可视化-svg入门基础(二)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyfwjw.html