设置Chart.js默认显示Point点的值不用鼠标经过才显示

Chart.js默认的显示方式是鼠标经过Point点的时候才会显示这个点的值,代码如下:

            var testdata: {
                 periodNum: ["2018121","2018122","2018123","2018124","2018125","2018126","2018127","2018128","2018129","2018130","2018131","2018132","2018133","2018134","2018135","2018136","2018137","2018138","2018139","2018140","2018141","2018142","2018143","2018144","2018145","2018146","2018147","2018148","2018149","2018150","2018151","2018152","2018153","2018154","2018155","2018156","2018157","2018158","2018159","2018160"],
                 prriodvalue: [2,3,3,2,4,4,1,1,3,3,3,2,3,1,1,3,2,3,3,2,2,1,1,1,1,2,3,3,1,3,4,1,5,2,2,3,3,3,1,1]
    }
            var labelData = testdata.periodNum
            var chartData = testdata.prriodvalue
            var ctx = document.getElementById(‘test-canvas‘).getContext(‘2d‘);
            ctx.lineJoin = ‘miter‘
            var chart = new Chart(ctx, {
                type: ‘line‘,
                data: {
                    labels: labelData,
                    datasets: [{
                        label: "Point点",                              //名称
                        borderColor: ‘red‘,                            //线条颜色
                        data: chartData,                               //数据
                        borderWidth: ‘1px‘,                            //线条大小
                        pointBackgroundColor: ‘red‘,                   //点填充颜色
                        pointBorderColor: ‘#000‘,                      //点边框颜色
                        pointBorderWidth: ‘1px‘,                       //点边框大小
                        pointRadius: ‘5‘,                              //点的半径
                        pointStyle: ‘rectRot‘,                         //点样式
                        fill: false,                                   //填充颜色
                        tension: 0                                     //张力,0为没曲线
                    }]
                },
                options: {}

  

这样子所绘制出来的效果如下图所示:

当鼠标经过2018139那个点的时候才会显示3,但是有时候我们需要默认显示这些值,这个时候需要在options中添加如下代码:

                  options: {
                      animation: {
                      onComplete: function() {
                        var chartInstance = this.chart,
                        ctx = chartInstance.ctx;

                        ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontSize, Chart.defaults.global.defaultFontStyle, Chart.defaults.global.defaultFontFamily);
                        ctx.textAlign = ‘center‘;
                        ctx.textBaseline = ‘bottom‘;

                        this.data.datasets.forEach(function(dataset, i) {
                          var meta = chartInstance.controller.getDatasetMeta(i);
                          meta.data.forEach(function(bar, index) {
                            var data = dataset.data[index];
                            ctx.fillText(data, bar._model.x, bar._model.y - 5);
                          });
                        });
                      }
                    }
                }

添加之后你就会发现canvas已经可以默认显示这些值了,如下图所示:

如果需要设置这些值的字体大小、颜色等也可在里面设置。

原文地址:https://www.cnblogs.com/gxsyj/p/9933392.html

时间: 2024-10-10 22:08:56

设置Chart.js默认显示Point点的值不用鼠标经过才显示的相关文章

Selenium3+python3--如何定位鼠标悬停才显示的元素

follow yoyo 定位鼠标悬停才显示的元素,要引入新模块 # coding:utf-8from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChains driver = webdriver.Firefox()driver.get("http://www.baidu.com")# 定位百度页面上鼠标悬停设置按钮mouse = driver.find_eleme

bootstrap怎么设置下拉菜单不点击,改成鼠标悬停直接显示下拉菜单

方法一: 实际上比较简单,只需要加一个css设置下hover的状态,把下拉菜单设置成block,具体css:.nav > li:hover .dropdown-menu {display: block;} 但是主导航失去链接的效果! 方法二: 不仅可以解决Bootstrap鼠标悬停的问题,还可以让一个菜单恢复链接实现点击下拉菜单效果是JS实现的,分析bootstrap.js文件发现,Bootstrap把下拉菜单写成了一个JQuery插件,在dropdown代码段中找到了关键的几句:$(docum

枚举值按视图效果要求显示的处理方法

public Enum demo{ [Description("我")] wo=0; [Description("你")] ni=1; [Description("他")] ta=2;} 通过中间获得枚举的值,0.1.2 1 public static class EnumHelper 2 { 3 public static string GetDescription<T>(this T value) where T : IForma

js设置函数参数默认值的3种方法

js默认是不支持funtion f($a=a){}这种写法的,如果想设置函数参数的默认值,可以参考如下三种方法: 第一种方法: 使用arguments,函数所有的参数都会存入arguments数组离去,所以我们可以从中获取相应的参数然后赋值 function example(a,b){ var a = arguments[0] ? arguments[0] : 1;//设置参数a的默认值为1 var b = arguments[1] ? arguments[1] : 2;//设置参数b的默认值为

js动态设置select的默认值

根据需求动态的设置select的默认值,若要选定默认则代码selected="selected".动态设置则如下所示: <html> <table> <tr> <td width="250" align="left"> <select name="job" size="1" > <option value="普通会员"&g

Chart.js | HTML5 图表绘制工具库(知识整理、中文注释、中文文档)

Chart.js:用不同的方式让你的数据变得可视化.每种类型的图表都有动画效果,并且看上去非常棒,即便是在retina屏幕上.基于HTML5 canvas技术,Chart.js不依赖任何外部工具库,轻量级(压缩之后仅有4.5k).值得推荐学习! GitHub源码: https://github.com/nnnick/Chart.js Chart.js文档:http://www.bootcss.com/p/chart.js/ 步骤: html部分: <canvas id="myChart&q

Html5之高级-7 HTML5 Chart.js(概述、入门、使用)

一.Chart.js 概述 Chart.js 简介 - Chart.js 是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库 - 官方地址: http://www.chartjs.org/ Chart.js 特点 - 基于 HTML 5 - Chart.js 基于 HTML5 canvas技术,支持所有现代浏览器,并且针对IE7/8提供了降级替代方案 - 简单.灵活 - Chart.js 不依赖任何外部工具库,轻量级(压缩之后仅有4.5k),并且提供了加载外部参数的方法 Chart.js

动态设置radio的默认值

根据后台传值动态设置radion的默认值,一般设置默认值的标签为:checked="checked".具体动态设置默认值得代码如下: <tr> <td width="150" height="30" align="right">性  别:</td> <td width="250" align="left"> <input type=&

chart.js插件生成折线图时数据普遍较大时Y轴数据不从0开始的解决办法[bubuko.com]

chart.js插件生成折线图时数据普遍较大时Y轴数据不从0开始的解决办法,原文: 默认情况下如下图 Y轴并不是从0开始,这样折现图的幅度会很大,不是正常的幅度,解决办法如下, 示例代码: window.onload = function () { var ctx = document.getElementById("canvas").getContext("2d"); window.myLine = new Chart(ctx).Line(lineChartDat