`

VML之Line

vml 
阅读更多
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns:v>
<head>
<title> VML-Line </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<style>
v\:*{behavior:url(#default#VML);}
</style>
</head>

<body>

	<script language="JavaScript">
	<!--
		var data = "联想|1000;HTC|200;诺基亚|600;摩托罗拉|400;微软|300;三星|550;LG|300;Google|700";
		var dataArr = data.split(';');

		var oMinX = 100; // 最小的X坐标和Y坐标
		var oMinY = 0;

		var oMaxX = dataArr.length*85 + oMinX; // 坐标轴的最大延伸
		var oMaxY = 0;


		//坐标的结束点
		var startX = 100;
		var startY = 0;

		// 坐标起始点
		var beginPx = oMinX;
		var beginPy = oMaxY;
		var s = "";

		// 线的颜色
		var color = "";

		// 计算最小的Y坐标
		var a  = parseInt(dataArr[0].split('|')[1]);
		// 最大的Y坐标
		var b = parseInt(dataArr[0].split('|')[1]);
		for (var i=0;i<dataArr.length ;i++ )
		{
			if (a > parseInt(dataArr[i].split('|')[1]))
			{
				a = parseInt(dataArr[i].split('|')[1]);
			}
			if (b < parseInt(dataArr[i].split('|')[1]))
			{
				b = parseInt(dataArr[i].split('|')[1]);
			}
		}
		
		// 最小的Y坐标
		oMinY = (a/10)*3 - 20; // 多出一个箭头的长度,所以又减去了20
		// 最大的Y坐标
		oMaxY = (b/10)*3 + 100; // 只要保证最大的Y坐标大于 (b / 10)*3即可,最大Y坐标越大,效果越明细。
		beginPy = oMaxY; // 起始位置(y)

		// 画x坐标
		document.writeln('<v:line from="'+oMinX+'px,'+oMaxY+'px" to="'+oMaxX+'px,'+oMaxY+'"px" strokecolor="green"><v:Stroke dashstyle="Solid" endarrow="classic"/></v:line><span style="top:'+oMaxY+'px;left:'+oMaxX+'px;position:absolute;">分类</span>');
		// 画y坐标
		document.writeln('<v:line from="'+oMinX+'px,'+oMaxY+'px" to="'+oMinX+'px,'+oMinY+'px" strokecolor="green"><v:Stroke dashstyle="Solid" endarrow="classic"/></v:line><span style="top:'+oMinY+'px;left:'+oMinX+'px;position:absolute;">数量</span>');

		for (var i=0;i<dataArr.length ;i++ )
		{
			// 得到某一个分类数据
			var product = dataArr[i].split('|')[0];
			var number = dataArr[i].split('|')[1];

			// 计算坐标
			startX = startX + 80;
			startY = oMaxY-(parseInt(number) / 10) * 3;

			color = "rgb(" + parseInt(Math.random()*255)+ "," + parseInt(Math.random()*255) + "," + parseInt(Math.random()*255) + ")";
			
			document.writeln("<v:line from='" + beginPx + "px," + beginPy + "px' to='" + startX + "px," + startY + "px' strokeColor='"+color+"' strokeWeight=2></v:line>");
			// 画一条平行于X轴的线(标识数量)
			document.writeln("<v:line from='" + startX + "px," + startY + "px' to='" + oMinX + "px," + startY + "px' strokeColor='"+color+"' strokeWeight=1></v:line><span style='position:absolute;top:" + startY + "px;left:" + oMinX + "px;'>"+number+"</span>");
			// 画一条平行于Y轴的线(标识种类)
			document.writeln("<v:line from='" + startX + "px," + startY + "px' to='" + startX + "px," + oMaxY + "px' strokeColor='"+color+"' strokeWeight=1></v:line><span style='position:absolute;top:" + oMaxY + "px;left:" + startX + "px;'>"+product+"</span>");
			
			beginPx = startX;
			beginPy = startY;
		}

	//-->
	</script>
</body>
</html>

 

效果图:

分享到:
评论

相关推荐

    VML(IE绘图)

    1. **元素**:VML中的图形由不同的元素组成,如`&lt;v:rect&gt;`(矩形)、`&lt;v:line&gt;`(直线)、`&lt;v:polyline&gt;`(多边形)和`&lt;v:arc&gt;`(弧线)等。每个元素都具有特定的属性来定义形状、大小、位置和样式。 2. **属性**:...

    VML技术 简明教程

    ### VML技术简明教程 #### 一、VML简介 VML(Vector Markup Language)是一种用于在Web页面上绘制矢量图形的技术。它是由微软在1999年之前推出的一种浏览器图形渲染技术,并且被集成到了IE5及以后的版本中。通过...

    VML极道教程 VML极道教程

    VML使用一系列的形状标签,如`&lt;rect&gt;`(矩形)、`&lt;circle&gt;`(圆形)和`&lt;line&gt;`(线条)等,来绘制图形。 2. **图形绘制**:教程会详细解释如何使用VML指令来绘制不同类型的图形,包括直线、曲线、多边形、圆形、...

    VML图像画版

    2. **&lt;v:line&gt;**: 用于绘制直线,有开始点和结束点。 3. ****: 创建矩形,可以通过设置`width`和`height`属性定义大小,`fill`和`stroke`属性控制填充色和边框。 4. ****: 画圆或椭圆,通过`width`和`height`决定其...

    VML极道教程 vml学习

    除了矩形,`&lt;v:line&gt;`可用于绘制线条,`&lt;v:polyline&gt;`和`&lt;v:path&gt;`则提供了更复杂的线条和路径绘制功能。这些元素的属性类似,都是通过XML属性来控制图形的不同视觉效果。 ### 三、VML与SVG的对比 SVG是另一种用于...

    vml技术相关详细文档,介绍的vml的相关函数的应用和介绍

    VML(Vector Markup Language)是一种用于在网页上呈现矢量图形的标记语言,尤其在早期的Internet Explorer浏览器中被广泛使用。它通过XML扩展来创建和控制图形,从而实现复杂和高质量的图形显示。以下是对VML技术...

    VML使用范例,包括有VML的WEB编辑器

    1. **VML的基本结构**:VML的文档结构类似于XML,由一系列的形状元素(如`&lt;rect&gt;`, `&lt;circle&gt;`, `&lt;line&gt;`等)组成,每个元素都有自己的属性来定义形状的外观和行为。例如,`&lt;rect&gt;`元素用于绘制矩形,可以通过`width...

    Think in VML教程

    在VML中,可以使用`&lt;v:oval&gt;`、`&lt;v:rect&gt;` 和 `&lt;v:line&gt;` 结合数据来构造表、字段和关联。通过动态调整图形大小和位置,可以适应各种复杂的数据模型。 曲线图和柱状图则常用于数据可视化。曲线图(折线图)可以用 `...

    vml+javascript直接在浏览器中绘制动态曲线图实例(源码-+Think+in+vml++vml+极道教程)

    JavaScript与VML结合,可以实现动态、交互式的图形绘制,比如在本实例中,我们将探讨如何利用这两种技术在浏览器中绘制动态曲线图。 在浏览器的早期版本,特别是那些不支持SVG(Scalable Vector Graphics)或者...

    VML极道教程

    - **线条(Line)**:VML支持直线的绘制,可以通过起点和终点坐标来定义。 - **曲线(Path)**:使用贝塞尔曲线实现平滑的曲线路径,可以绘制出复杂的图形。 - **形状(Shape)**:包括矩形(Rect)、椭圆(Oval...

    VML.rar_DEMO_VML_vml API_vml包含哪些图_vml教程

    1. **VML结构**:VML基于XML,通过定义一系列的形状元素(如`&lt;shape&gt;`, `&lt;rect&gt;`, `&lt;line&gt;`, `&lt;polyline&gt;`, `&lt;arc&gt;`等)来绘制图形。每个元素都有特定的属性,如位置、尺寸、颜色、填充和描边样式等。 2. **VML API...

    VML中文参考手册解析

    3. `Line` - 直线 4. `Polyline` - 多边形线 5. `Curve` - 曲线 6. `Rect` - 矩形 7. `Roundrect` - 圆角矩形 8. `Oval` - 椭圆 9. `Arc` - 弧形 10. `Group` - 组合图形 除了图形绘制,VML还支持文本集成、超链接...

    VML的最全的例子,功能很全

    1. **形状(Shapes)**:包括矩形(`&lt;vml:rect&gt;`)、圆形(`&lt;vml:oval&gt;`)、线条(`&lt;vml:line&gt;`)、曲线(`&lt;vml:arc&gt;`)等基本形状。 2. **路径(Paths)**:使用`&lt;vml:path&gt;`元素,通过路径数据(如`m`移动、`l`...

    HTML手写代码VML

    这包括理解VML的基本结构,比如`&lt;v:shape&gt;`用于定义形状,`&lt;v:line&gt;`用于绘制直线,`&lt;v:textbox&gt;`用于添加文本等。此外,还要掌握如何通过CSS来控制这些图形的样式,以及如何利用JavaScript进行动态交互,比如响应...

    vml入门教程 适合初学者

    例如,你可以使用`&lt;v:line&gt;`创建直线,`&lt;v:oval&gt;`创建圆形,`&lt;v:rect&gt;`创建矩形。每个形状都可以通过`style`属性来设置填充颜色、边框宽度和颜色等样式。另外,`&lt;v:path&gt;`元素可以用来绘制更复杂的路径,包括贝塞尔...

    经典VML绘画源代码(基本包括所有图形的VML绘制)

    VML(Vector Markup Language)是一种基于XML的矢量图形语言,主要在Internet Explorer浏览器中使用,用于在网页上创建和展示复杂的图形。以下是对标题、描述和标签中提及的VML绘画知识点的详细解释: 1. **饼图...

    VML教程

    VML还提供了多种形状对象,如`Rect`(矩形),`RoundRect`(圆角矩形),`Oval`(圆形),`Line`(直线),`PolyLine`(多边形折线)和`Image`(图像)等,可以创建出丰富的图形效果。 在后续的教程中,将会进一步探讨如何利用`...

    vml实例,实现画流程

    VML是XML的子集,因此它使用XML的结构化语法,允许开发者创建可缩放的矢量图形。在本实例中,我们将深入探讨如何使用VML来实现画流程图。 流程图是一种可视化表示流程或工作流的工具,它通过各种形状和连接线来展示...

    vml使用手册_包含多种示例

    VML中的基本形状包括线(line)、矩形(rect)、椭圆(oval)、圆(circle)等。路径(path)元素则允许创建更复杂的形状,通过指令序列如“M”(move到)、“L”(直线到)、“C”(三次贝塞尔曲线到)等来定义路径...

    VmL 参考文档 很好得学习文档

    `&lt;v:line&gt;`用于绘制直线;`&lt;v:textbox&gt;`则用于添加文本内容。每个Vml元素都有自己的样式属性,比如颜色、填充、描边等,可以使用CSS来控制。 在Vml中,`&lt;v:group&gt;`标签用于组合多个图形元素,方便进行整体操作,如...

Global site tag (gtag.js) - Google Analytics