【前端/chart.js】各种属性记录(二/多图预警)

说在前面

测试用代码

  • html
    (我将canvas放在了一个div中)
    <canvas id="testCanvas" width="80%" height="20%"></canvas>
    
  • javasript
    <script src="static/js/Chart.js"></script>
    <script type="text/javascript">
        var ctx = document.getElementById("testCanvas").getContext("2d");
        var data = {
            type: "line",
            data: {
                labels: ["1", "2", "3", "4", "5", "6", "7"],
                datasets: [{
                        label: "data1",
                        data: [20, 59, 80, 81, 56, 56, 40]
                    }
                ]
            },
            options: {
                responsiveAnimationDuration: 5000
            }
        };
        //创建
        var myLineChart = new Chart(ctx, data);
    </script>
    

Configuration

  • 动画(Animations)

    • 属性
      名称数据类型默认值说明
      durationnumber1000动画持续时间
      easingstring'easeOutQuart'指定动画在不同点上的行进速度,详见jQuery UI API - Easings
      onProgressfunctionnull动画持续过程中调用的函数
      onCompletefunctionnull动画完成时调用的函数
    • 全局访问
      Chart.defaults.global.animation.duration = 5000
    • options访问
      options: {
      	animation: {
          	duration: 1000,
          	onComplete: function(){
      			alert("animation finished!");
      		}
          }
      }
      
      在这里插入图片描述
    • easing
      easingsRobert Penner’s easing equationsjQuery UI API - Easings
      在这里插入图片描述
          var easing_type = ['linear', 'easeInQuad', 'easeOutQuad', 'easeInOutQuad',
              'easeInCubic', 'easeOutCubic', 'easeInOutCubic', 'easeInQuart',
              'easeOutQuart', 'easeInOutQuart', 'easeInQuint', 'easeOutQuint',
              'easeInOutQuint', 'easeInSine', 'easeOutSine', 'easeInOutSine',
              'easeInExpo', 'easeOutExpo', 'easeInOutExpo', 'easeInCirc',
              'easeOutCirc', 'easeInOutCirc', 'easeInElastic', 'easeOutElastic',
              'easeInOutElastic', 'easeInBack', 'easeOutBack', 'easeInOutBack',
              'easeInBounce', 'easeOutBounce', 'easeInOutBounce' ];
          var i = 0;
          setInterval(function () {
              i = (i) % easing_type.length;
              console.log(i);
              myLineChart.data.datasets[0].label = easing_type[i];
              myLineChart.data.datasets[0].data.splice(0, 1);
              myLineChart.data.datasets[0].data.push(parseInt(Math.random() * 50) + 20);
              myLineChart.update({
                  easing: easing_type[i]
              });
              i = i + 1;
          }, 1500);*/
      
  • 布局(Layout)

    • 属性
      名称数据类型默认值说明
      paddingnumber|object0chart与canvas之间的间隔
    • 全局访问
      Chart.defaults.global.layout.padding = 10
    • options访问
      options: {
      	padding: {
          	top: 10
      	}
      }
      
  • 图例(Legend)

    • 全局访问
      Chart.defaults.global.legend.display = false

    • options访问

      options: {
      	legend: {
          	display: false
          	}
      	}
      
    • 属性

      名称数据类型默认值说明
      displaybooleantrue是否显示图例

      设置为 false 时可以看到datasetlabel不显示了

      在这里插入图片描述

      名称数据类型默认值说明
      positionstring'top'图例的位置, top, bottom, right, left

      positionright
      在这里插入图片描述

      名称数据类型默认值说明
      alignstring'center'图例在行或列中的位置, start, center, end

      positiontopalignstart在这里插入图片描述

      名称数据类型默认值说明
      fullWidthbooleantrue图例是否需要占据整个canvas的宽度

      fullWidth这个属性好似乎没啥用,用了下,感jio没啥区别

      名称数据类型默认值说明
      onClickfunction点击标签时调用的函数
      onHoverfunction光标进入标签时调用的函数
      onLeavefunction光标离开标签时调用的函数
      // <h1 id='TitleID'>ChartJS TEST</h1>
      options: {
      	legend: {
          	onClick: function(){document.getElementById('TitleID').innerHTML="Click Item";},
              onHover: function(){document.getElementById('TitleID').innerHTML="In Item";},
              onLeave: function(){document.getElementById('TitleID').innerHTML="Out Item";}
                  }
              }
      

      在这里插入图片描述

      名称数据类型默认值说明
      reversebooleanfalselabels反序

      在这里插入图片描述
      reversetrue
      在这里插入图片描述

      名称数据类型默认值说明
      rtlboolean从右向左生成标签

      reverse效果差不多,rtltrue
      在这里插入图片描述

      名称数据类型默认值说明
      labelsobject图例中的标签对象
      options: {
          legend: {
              labels: {
              	boxWidth: 100, # label旁边小方框的宽度
              	fontSize: 16,  # label字体大小
              	fontStyle: ,   # label字体风格
              	fontFamily: ,  # label字体样式
              	padding: ,     # label小方框间隔
              	generateLabels: ,
              	filter: ,
              	usePointStyle: ,
                  fontColor: 'rgb(255, 99, 132)'
              }
          }
      }
      
    • 东西太多,写起来有点卡,,,这部分其他就详见官网

  • 太卡了,拆开来吧

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值