效果:

源码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>坐标系绘制</title>
</head>
<body>
<canvas id="canvas"></canvas>
<script>
(function () {
//canvas布局
var canvas = document.getElementById("canvas");
canvas.width = 600;
canvas.height = 600;
canvas.style.border = "1px solid red";
//获取上下文
var ctx = canvas.getContext("2d"); //绘制坐标轴
var x0 = 100,y0 = 500;// xy轴原点
var maxX = 500,maxY = 100;
var lineWidth = 10;//箭头宽度
//x轴
ctx.beginPath();
ctx.moveTo(x0,y0);
ctx.lineTo(maxX,y0);
ctx.lineTo(maxX-lineWidth,y0+lineWidth);
ctx.moveTo(maxX,y0);
ctx.lineTo(maxX-lineWidth,y0-lineWidth);
ctx.stroke();
//y轴
ctx.beginPath();
ctx.moveTo(x0,y0);
ctx.lineTo(x0,maxY);
ctx.lineTo(x0-lineWidth,maxY+lineWidth);
ctx.lineTo(x0,maxY);
ctx.lineTo(x0+lineWidth,maxY+lineWidth);
ctx.stroke(); //折线
var data = [.5,.4,.6,.8,.7,.9,.3];
var xWidht = 400/(data.length+1);//x轴间距
ctx.beginPath();
for(var i = 0;i<data.length;i++){
ctx.lineTo(100+xWidht*(i+1),500-400*data[i]);
}
ctx.strokeStyle = 'blue';
ctx.stroke(); }())
</script>
</body>
</html>

canvas+js绘制折线图的更多相关文章

  1. 使用canvas来绘制折线图

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. canvas学习之折线图

    接着上一张柱状图讲,我们是使用折线图: import {canvasPoint} from '../../assets/js/canvas';import {basicInfo,histogramMo ...

  3. 用canvas绘制折线图

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. Android自己定义组件系列【9】——Canvas绘制折线图

    有时候我们在项目中会遇到使用折线图等图形,Android的开源项目中为我们提供了非常多插件,可是非常多时候我们须要依据详细项目自己定义这些图表,这一篇文章我们一起来看看怎样在Android中使用Can ...

  5. 【带着canvas去流浪】(2)绘制折线图

    目录 一. 任务说明 二. 重点提示 三. 示例代码 3.1 一般折线图 3.2 用贝塞尔曲线绘制平滑折线图 四. 大数据量场景 示例代码托管在:https://github.com/dashnowo ...

  6. Android自定义控件 -Canvas绘制折线图(实现动态报表效果)

    有时候我们在项目中会遇到使用折线图等图形,Android的开源项目中为我们提供了很多插件,但是很多时候我们需要根据具体项目自定义这些图表,这一篇文章我们一起来看看如何在Android中使用Canvas ...

  7. Android自定义组件系列【9】——Canvas绘制折线图

    有时候我们在项目中会遇到使用折线图等图形,Android的开源项目中为我们提供了很多插件,但是很多时候我们需要根据具体项目自定义这些图表,这一篇文章我们一起来看看如何在Android中使用Canvas ...

  8. 带着canvas去流浪系列之二 绘制折线图

    [摘要] 用canvasAPI实现echarts简易图表 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 任务说明 使用原生canvasAPI绘制 ...

  9. 【Canvas】(2)---绘制折线图

    绘制折线图 之前在工作的时候,用过百度的ECharts绘制折线图,上手很简单,这里通过canvas绘制一个简单的折线图.这里将一整个绘制过程分为几个步骤: 1.绘制网格 2.绘制坐标系 3.绘制点 4 ...

随机推荐

  1. MVC页面和表单

    @Styles.Render("~/Content/css")//在head中引用css @Scripts.Render("~/bundles/modernizr&quo ...

  2. Linux enca命令

    一.简介 enca是Linux下的文件编码转换工具. 二.安装 http://dl.cihar.com/enca/   http://www.2cto.com/os/201404/295528.htm ...

  3. Python服务器开发 -- 网络基础-乾颐堂

    网络由下往上分为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. HTTP是高层协议,而TCP/IP是个协议集,包过许多的子协议.包括:传输层的 FTP,UDP,TCP协议等,网络层的ip ...

  4. Spring JMX之三:通知的处理及监听

    通过查询MBean获得信息只是查看应用状态的一种方法.但当应用发生重要事件时,如果希望 能够及时告知我们,这通常不是最有效的方法. 例如,假设Spittr应用保存了已发布的Spittle数量,而我们希 ...

  5. python机器学习工具包scikit-learn

    scikit-learn这个非常强大的python机器学习工具包 http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.ht ...

  6. 学习C++的50条忠告

    1. 把C++当成一门新的语言学习: 2. 看<Thinking In C++>,不要看<C++变成死相>: 3. 看<The C++ Programming Langu ...

  7. markdown你的生活 | markdown编辑器简介

    前言 你是否有这样的困扰?希望找一个笔记本记录东西,window自带的notepad(记事本)?,轻量但是功能太有限.word文档?功能虽多,但是很沉重,我们需要花很多时间去想如何排版会更记录会清晰, ...

  8. android分屏

    上手了Android N Preview,第一个不能错过的新特性就是App分屏的支持.Android7.0原生系统就可以支持两个App横屏并排或者竖屏上下摆放了.第二个新特性就是在Android TV ...

  9. [Delphi]编译条件

    当软件在多个DELPHI版本下编译时,需要处理各版本的不同情况,使用编译条件技术实现. 万一博客,编译指令基础使用介绍:http://www.cnblogs.com/del/category/1686 ...

  10. tomcat-java_opts设置说明

    The JAVA_OPTS environment variable can be used to specify additional arguments to the JVM JBoss will ...