Chart Js V2 在垂直条上绘制水平条(平均)

2023-12-01

我想在垂直条上绘制一个条(绿色条)。我正在使用 Chart JS V2 和 Angular 4。

enter image description here

我找到了一些画线的代码,但它在 Angular 4 中不起作用。

我用过也尝试过使用annotation但它不起作用。 添加注释的命令:npm 安装 Chartjs-plugin-annotation --save

下面是我的代码,可以很好地仅绘制垂直条。谁能帮我在上面画一条水平线。

Answer:

Install npm install chartjs-plugin-annotation --save

Then import 'chartjs-plugin-annotation';

this.ctx = document.getElementById("myChart");
    this.myChart = new Chart(this.ctx, {
        type: 'bar',
        data: {
            labels: this.barData.getLabels(),
            datasets: [{
                label: this.barData.actualLegendLabel,
                data: this.barData.getLineData(),
                backgroundColor: this.backgroundColorBarOne,
                borderColor: [
                    'rgba(81,117, 194,1)',
                ]}]
        },
        options: {
            scales: {
                responsive: true,
                scaleBeginAtZero: false,
                barBeginAtOrigin: true,
                yAxes: [{
                    ticks: {
                        beginAtZero: true
                    },
                    gridLines: {
                        display: false
                    }
                }],
                xAxes: [{
                    ticks: {
                        beginAtZero: true
                    },
                    gridLines: {
                        display: false
                    }
                }]
            },
            legend: {
                cursor: "line",
                position: 'top',
                labels: {
                    fontSize: 10,                       
                }
            },
            layout: {
                padding: {
                    left: 3,
                    right: 3,
                    top: 5,
                    bottom: 5
                }
            }, annotation: {
                annotations: [{
                    drawTime: 'afterDraw', // overrides annotation.drawTime if set
                    id: 'a-line-1', // optional
                    type: 'line',
                    mode: 'horizontal',
                    scaleID: 'y-axis-0',
                    value: '25',
                    borderColor: 'red',
                    borderWidth: 2,           
                    // Fires when the user clicks this annotation on the chart
                    // (be sure to enable the event in the events array below).
                    onClick: function(e) {
                        // `this` is bound to the annotation element
                    }
                }]
            }
        }
    });      

您可以向图表添加一个插件,该插件可以在图表上绘制您想要的任何内容,例如绿线。您可以阅读有关插件的信息ChartJS 的文档。由于您希望绿线出现在垂直条上方,因此您应该使用afterDraw方法。

设置插件后,完成此操作的步骤如下:

  1. 计算图表中所有条形的平均值(将它们相加并除以条形数量)
  2. 根据之前的计算:确定线的 Y 位置,并据此在画布上绘制绿线。

查看CanvasRenderingContext2D如果您不熟悉浏览器画布的工作原理。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chart Js V2 在垂直条上绘制水平条(平均) 的相关文章

随机推荐

  • 如何使用 shell 脚本迭代每行多个单词的文本文件?

    我知道当文本文件的内容如下时如何迭代文本行 abc pqr xyz 但是 如果我的文本文件的内容如下所示 怎么办 abc xyz cdf pqr lmn rst 我需要将值 abc 存储到一个变量 将 xyz 存储到另一个变量 我该怎么做呢
  • INotifyPropertyChange ~ 当属性是集合并且新项目添加到集合中时,PropertyChanged 不会触发

    我有一个实现 INotifyPropertyChanged 接口的类 该类的一些属性是 List 类型 例如 public List
  • 跨浏览器检测浏览器窗口scrollTop的方法

    检测浏览器窗口的scrollTop的最佳跨浏览器方法是什么 我不喜欢使用任何预构建的代码库 因为这是一个非常简单的脚本 而且我不需要所有这些负担 function getScrollTop if typeof pageYOffset und
  • 从按钮命令 xamarin.forms MVVM 获取 ListView

    我在使用 MVVM 模式的 xamarin forms 应用程序中的 ListView 上遇到问题 我希望你能帮助我 这是我的 xaml
  • Elasticsearch 嵌套过滤器包含与排除

    我有一个使用嵌套对象的对象映射 props在我们的示例中 以类似标签的方式 每个标签可以属于一个客户 用户 当我们希望允许我们的用户生成query string风格搜索针对props name 问题是 当我们运行查询时 一个对象是否有多个
  • 如何在 Excel 中生成 GUID?

    我有一个excel文件 每一行都有一个订单 我希望每个订单都有一个唯一的标识符 所以会有一个唯一ID列 每次填充一行时 我希望 Excel 自动为我填充 唯一 ID 列 我做了一些研究 并被指出了 GUID 的方向 我找到了以下代码 Fun
  • android 如何实现 onTouch 功能?

    您好 我想创建一个加载大图像的应用程序 并且我可以通过简单的手势在它上面移动 我必须打印图像 但我无法实现 onTouch 因此它保持静止 任何帮助都可以 谢谢 我绘制图片的代码 Override protected void onDraw
  • 无法使用具体子类在 Swift 中实现协议中的属性

    我正在做类似于JAVA中的桥接模式的事情 DriverType是一个协议需要一个名为vehicle成为一个Drivable目的 Drivable也是一个协议 被 Car 类采用 protocol Drivable var speed Dou
  • 如何将 OpenFileDialog 函数应用到 Web 应用程序

    我正在开发一个Web应用程序 其中一个页面有一些必要性 用户应该选择系统中的任何文件夹 例如如果他选择ex D xyz 那么这个路径应该保存在数据库中 我已经编写了代码用于存储到数据库并保留所有内容 但实际上我认为 如果它就像一个浏览按钮单
  • elisp如何检查Shift键是否被按下

    我需要检查是否按下了 Shift 键 更确切地说 我想根据是否按下 Shift 键来设置直接开关 defadvice find file noselect around find file noselect set switches act
  • 如何在 C# 中跳过第一行并从第二行开始读取文件

    如何从第二行开始读取文件跳过第一行 这似乎可行 但这是最好的方法吗 using StreamReader sr new StreamReader varFile Encoding GetEncoding 1250 string string
  • System.Data.SqlClient.SqlException:用户 XXX 登录失败

    我正在 IIS 7 5 上部署一个 Web 应用程序 该 Web 应用程序有三种自行车供用户选择 山地自行车 公路自行车和旅行自行车 当我点击每个它时 我遇到了问题 System Data SqlClient SqlException 用户
  • 如何禁用 jQuery.Mobile.MVC?

    我为我的网站构建了移动视图 并且仍在创建它们的过程中 我想测试它在实时设备上的外观 所以我想禁用 mobile 文件 下面我厌倦了运行一些脚本来禁用但没有运气 也许这对开发人员来说是一个问题 但如果有人能给我指出正确的方向 你需要禁用自动初
  • JAXB 中的解组如何工作?

    我在 jaxb 中有一个元素的 getter setter 对 XmlElementWrapper name requires required true XmlElement name equals required true List
  • AS3 参数

    为什么您认为下面的代码不起作用 您将更改 添加什么以使其正常工作 任何帮助表示赞赏 function TraceIt message String num int trace message num function aa f Functi
  • 如何允许通过 http 匿名推送到 git 存储库?

    我在这里找不到例子 http www kernel org pub software scm git docs git http backend html 是否可以 将其添加到您的 httpd conf 假设 srv git 包含您的存储库
  • 我可以使用 SQLite 作为基于云的网站的数据库存储吗?

    有没有人启动过使用本地 SQLite DB 作为主要数据源的基于云的应用程序 网站 有这方面的警告吗 我的环境 C 3 0 应用程序 目前使用sql server 2008 db 当前数据库大小 30 mb 如果您预计会有大量流量 那么您确
  • Excel 根据名称查找工作表

    这不是一个问题 而是一个解决方案 但我想在这里分享它 因为我在这里得到了我需要的帮助 我想在活动工作簿中查找特定的 Excel 工作表 并按工作表名称进行搜索 我构建这个是为了找到它 这是一个 包含 搜索 如果找到 会自动转到工作表 或者询
  • web2py 中的复合键

    我在 web2py 中定义了一个表 db define table pairing Field user writable True readable True Field uid writable True readable True 该
  • Chart Js V2 在垂直条上绘制水平条(平均)

    我想在垂直条上绘制一个条 绿色条 我正在使用 Chart JS V2 和 Angular 4 我找到了一些画线的代码 但它在 Angular 4 中不起作用 我用过也尝试过使用annotation但它不起作用 添加注释的命令 npm 安装