用html5绘制折线图的实例代码_html5教程技巧

canvas>

(function (){

window.addEventListener("load", function(){

var data = [100,-1000,0,700];

// 获取上下文

var a_canvas = document.getElementById('a_canvas');

var context = a_canvas.getContext("2d");

// 绘制背景

var gradient = context.createLinearGradient(0,0,0,300);

// gradient.addColorStop(0,"#e0e0e0");

//gradient.addColorStop(1,"#ffffff");

context.fillStyle = gradient;

context.fillRect(0,0,a_canvas.width,a_canvas.height);

// 描绘边框

var grid_cols = data.length + 1;

var grid_rows = 4;

var cell_height = a_canvas.height / grid_rows;

var cell_width = a_canvas.width / grid_cols;

context.lineWidth = 1;

context.strokeStyle = "#a0a0a0";

// 结束边框描绘

context.beginPath();

// 准备画横线

/*for (var col = 0; col <= grid_cols; col++) {

var x = col * cell_width;

context.moveTo(x,0);

context.lineTo(x,a_canvas.height);

}

// 准备画竖线

for(var row = 0; row <= grid_rows; row++){

var y = row * cell_height;

context.moveTo(0,y);

context.lineTo(a_canvas.width, y);

}*/

//划横线

context.moveTo(0,a_canvas.height/2);

context.lineTo(a_canvas.width,a_canvas.height/2);

//画竖线

context.moveTo(0,0);

context.lineTo(0,a_canvas.height);

context.lineWidth = 1;

context.strokeStyle = "#c0c0c0";

context.stroke();

var max_v =0;

for(var i = 0; i

var d=0;

if(data[i]<0)

{dd=d-data[i];

}

else{d=data[i];};

if (d > max_v) { max_v =d};

}

max_vmax_v = max_v * 1.1;

// 将数据换算为坐标

var points = [];

for( var i=0; i < data.length; i++){

var v= data[i];

var px = cell_width * (i +1);

var py = a_canvas.height/2 - a_canvas.height*(v / max_v)/2;

points.push({"x":px,"y":py});

}

// 绘制折现

context.beginPath();

context.moveTo(points[0].x, points[0].y);

for(var i= 1; i< points.length; i++){

context.lineTo(points[i].x,points[i].y);

}

context.lineWidth = 2;

context.strokeStyle = "#8BA9FF";

context.stroke();

//绘制坐标图形

for(var i in points){

var p = points[i];

context.beginPath();

context.arc(p.x,p.y,4,0,2*Math.PI);

//实心圆

/*

context.fillStyle = "#000";*/

//空心圆

context.strokeStyle = "#000";

context.stroke();

context.fillStyle="white";

context.fill();

}

//添加文字

for(var i in points)

{ var p = points[i];

context.beginPath();

context.fillStyle="black";

context.fillText(data[i], p.x + 1, p.y - 15);

}

},false);

})();

script>

html>

运行结果如下:

以上就是用html5绘制折线图的实例代码_html5教程技巧的内容,更多相关内容请关注PHP中文网(www.gxlcms.com)!

html 怎么绘制曲线图,用html5绘制折线图的实例代码_html5教程技巧相关推荐

  1. java开源库生成折线图_Android HelloChart开源库图表之折线图的实例代码

    前面我们介绍了开源图表库MPAndroidChart,请参考: 我们今天介绍的将是一个更为优秀的图表库,比MPAndroidChart性能更好,功能更完善,UI风格更美观,坐标轴更精细. 支持缩放.滑 ...

  2. 百叶窗设计原理 html5,Html5百叶窗效果的示例代码_html5教程技巧

    本篇文章主要介绍了Html5百叶窗效果的示例代码,小编觉得挺不错的,现在分享给大家HTML5源码和解释,也给大家做个参考.对HTML5感兴趣的小伙伴可以一起跟随小编过来看看吧 本文介绍了Html5百叶 ...

  3. gd动态曲线 php_PHP GD库动态生成折线图的实例代码

    array_push ($p_x, $zuo+$i*$jiange); array_push ($p_y, $shang+round(($img_gao-$shang-$xia)*(1-$shuju[ ...

  4. html5模仿手机音乐播放器,仿酷狗html5手机音乐播放器主要部分代码_html5教程技巧...

    HTML5作品,经测试,效果确定不错,遗憾的是只支持谷歌和苹果等以webkit核心的浏览器,网友体验的时候请使用谷歌等浏览器来运行,不然的话无法看到效果,不说了,看效果吧 代码如下: 主要部分代码如下 ...

  5. python画两条曲线图_python绘制多个曲线的折线图

    这篇文章利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图: # -*- coding: UTF-8 -*- import numpy as np i ...

  6. iOS 动画绘制线条颜色渐变的折线图

    效果图 .................... 概述 现状 折线图的应用比较广泛,为了增强用户体验,很多应用中都嵌入了折线图.折线图可以更加直观的表示数据的变化.网络上有很多绘制折线图的demo,有 ...

  7. python绘制对比分析图(柱状图、折线图)

    所谓对比分析就是两个相互联系的指标进行比较 下面用例子说明,首先导入库,别名 因为我用的是jupyter notebook,后面需要用matplotlib画图,所以要加上%matplotlib inl ...

  8. matlab画多组数据折线图_使用Origin绘制不相关多组数据折线图的方法

    原标题:使用Origin绘制不相关多组数据折线图的方法 由于不知道这样的标题是否能表达清楚我的意思,我再详细描述一下这几天遇到的问题:首先,想画一个折线图,但又不是普通的y=f(x)这样的图,而是由多 ...

  9. python双柱状图与双折线图_如何绘制双轴柱状图和折线图?

    如何绘制双轴柱状图和折线图? 答:第1步,先将数据作成如下表格. ××市2010--2014年农业灌溉用水有效利用系数 年份灌溉亩数(万亩)毛灌溉用水总量(万米3)净灌溉用水总量(万米3)灌溉水有效利 ...

  10. python实战二:使用CSV数据绘制带数据标志的折线图(matplotlib)

    背景: 自动获取缺陷管理系统中的bug趋势统计数据,并保存到CSV中,读取CSV数据并绘制带数据标志的折线图,并保存为png图片 下面代码仅实现"读取CSV数据并绘制带数据标志的折线图,并保 ...

最新文章

  1. Android--MP3播放器MediaPlayer
  2. C++ Exercises(六)
  3. Apache 启动提示undefined symbol: libiconv_open
  4. Linux内核 sysctl.conf 优化设置
  5. maven整合@data注解_springboot整合spring Cache(redis)
  6. 数值分析方程求根实验matlab,基于matlab的数值分析( 非线性方程求根)上机实验报告1...
  7. memcache的简单应用
  8. php 图片填充图片,php imagefilledrectangle在图片画一矩形并填充
  9. 威纶通触摸屏部分元件下载后不显示且编辑时无法选择
  10. 回文字符串判断python实现
  11. 如鹏java学习进程 模拟小球弹跳
  12. 腾讯越来越不懂游戏了
  13. 输入英文句子,导出英语单词个数和英文字母个数 Python
  14. unity 贴图合并_[2018.4]Unity版本迭代与效果提升
  15. 毕业设计 高校排课系统
  16. 苹果开发者账号注册、申请续费整个流程
  17. UEBA中的行为基线分析
  18. 作为数字化转型的布道者,疫情后我们还需要坚守什么?
  19. c# chart缩放,局部放大
  20. 每日刷题记录 (一)

热门文章

  1. 英雄无敌3_经典地图_下载
  2. 数学建模论文写作方法大总结
  3. Maven 菜鸟教程 4 常用dos命令
  4. 朋友,谁会Symbian S40 Symbian S60 v3/v5 Android?
  5. 服务器提权常见方法介绍
  6. 计算机键盘如何打字课件,电脑键盘打字入门基础.ppt
  7. 2021国内市场CRM软件排行榜
  8. excel文件工作表保护没有密码进行撤销
  9. 网络PPTP协议代理加速器的应用
  10. 十字线阵---CBF,传统波束形成