美文网首页HTML5HTML5 CanvasF2e踩坑之路
canvas系列教程03-柱状图项目1

canvas系列教程03-柱状图项目1

作者: 彬哥头发多 | 来源:发表于2017-12-20 11:11 被阅读52次

弄了一堆线方块和函数,感觉挺玄乎,然并卵。我们直接写个项目看看。

canvas一个比较拽的应用就是图表和游戏,我们从浅入深,先玩图表,图表我们今天说一个最简单柱状图。


柱状图.png

柱状图很多人用百度的echars,那么我们会用更要会写,为啥?我见过太多的人问我echarts不可能完全符合他们公司的需求,随便改一点东西就不搞了,简单的说我们要做开发者,而不是一个js库的搬运工,我们今天就参考这个效果http://echarts.baidu.com/demo.html#bar-gradient,写一个。

无话可说先搭架子。

index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>尼古拉斯·屌·大彬哥</title>
  <link rel="stylesheet" href="style.css" rel="stylesheet">
  <script src="index.js"></script>
</head>
<body>
  <div id="div1">
    这里留着画图用
  </div>
</body>
</html>

index.js

'use strict';
//模仿 http://echarts.baidu.com/demo.html#bar-gradient
window.onload = function(){
    var data = [
      {"label":"一月","value":getRandomInt(0,400)},
      {"label":"一月","value":getRandomInt(1,400)},
      {"label":"一月","value":getRandomInt(1,400)}
    ];

    var targetId = 'bchart';
    var cw = 800;
    var ch = 600;

    function Bcharts(targetId,cw,ch,data){
        console.log(arguments);
    }

    var charts = new Bcharts(targetId,cw,ch,data);
};
//https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/random
// 偷个懒,基础函数不写了
function getRandomInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min)) + min; //The maximum is exclusive and the minimum is inclusive
}

style.css

#div1{
  width:800px;
  height:600px;
  border: 1px solid #000;
  margin: 0 auto;
}

说三件事,

第一件事,搭好架子,后面写代码舒服。这里用的面向对象方式。

第二件事,基础的函数我就不写了,但是你写过100遍以上完全懂可以偷懒,否则老老实实自己研究明白他。

第三件事,数据我用的data模拟,实际项目一般是后台提供。

相关文章

  • canvas系列教程03-柱状图项目1

    弄了一堆线方块和函数,感觉挺玄乎,然并卵。我们直接写个项目看看。 canvas一个比较拽的应用就是图表和游戏,我们...

  • canvas系列教程04-柱状图项目2

    我们提前做些准备工作,比如画图前先把坐标边距做出来,还有各种字体大小算出来。 这里需要一点面向对象的知识, 说一点...

  • canvas系列教程06-柱状图项目4

    上一篇文章我已经说过数据准备好画图就非常简单了,如果你担心不回话好办,我给你个最简单的小例子, 你先练练。 这个很...

  • canvas系列教程05-柱状图项目3

    书接上文,我们提前做些准备工作,比如画图前先把坐标边距做出来,还有各种字体大小算出来。 这里需要一点面向对象的知识...

  • html5 Canvas画图5:曲线之arc

    本文属于《html5 Canvas画图系列教程》 在《html5 Canvas画图教程2:Canvas画线条 基础...

  • canvas图表(1) - 柱状图

      原文地址:canvas图表(1) - 柱状图  图表一般使用到svg或canvas,其中canvas图表在处理...

  • bokeh绘制柱状图——堆叠图——直方图

    1、单系列柱状图-vbar 2.单系列柱状图 - 分类设置标签-ColumnDataSource 2、多系列柱状图...

  • canvas基础

    html5 Canvas画图系列教程目录http://jo2.org/html5-canvas-tutorial-...

  • html5 Canvas画图3:Canvas画线条 提升

    本文属于《html5 Canvas画图系列教程》 上次我们讲到,canvas有时候会出现1像素的线条模糊不清且好像...

  • 2019-03-21

    JavaScript canvas canvas 绘制图形,结合逻辑整理动画效果,页面柱状图等 基本操作 1.xx...

网友评论

    本文标题:canvas系列教程03-柱状图项目1

    本文链接:https://www.haomeiwen.com/subject/cvxgwxtx.html