在 Chart.js 图表的 x 轴上仅显示第 n 个刻度线

2024-01-12

我一直在寻找这个问题的解决方案一段时间,但由于大量已删除的文档和该库以前版本的黑客答案,我还没有接近解决方案。

我正在使用 ChartJS v2 制作一个图表,x 轴上带有季度月份名称,并且我设置了标签,以便仅显示每 4 个标签(即每年一个)。结果是这样的:

但是,我希望能够勾选lines也仅出现在与标签同一点的每 4 个 x 轴条目上。这可能吗?

我当前的脚本标签如下:

<script>
    var ctx = document.getElementById("myChart").getContext('2d');
    ctx.canvas.width = 600;
    ctx.canvas.height = 420;
    var myChart = new Chart(ctx, {
        type: 'line',
        data: {

          < snipped for brevity >

        },
        options: {
            tooltips: {
              mode: 'index',
              intersect: false
            },
            scales: {
                xAxes: [{
                    ticks: {
                        userCallback: function(item, index) {
                            if (index%4) return "";
                            return item;
                        },
                        autoSkip: false
                    },
                    display: true
                }],
                yAxes: [{
                    ticks: {
                        beginAtZero:true
                    }
                }]
            }
        }
    });
    </script>

这有可能实现吗?提前致谢。


更换您的刻度线's userCallback具有以下功能...

userCallback: function(item, index) {
   if (!(index % 4)) return item;
}

基本上,你不需要return您想要隐藏的标签的任何空字符串。如果你不return任何事物(对于您不想要的标签),它不会绘制任何刻度线(以及网格线)对于那个标签。

ᴅᴇᴍᴏ

var ctx = document.getElementById("myChart").getContext('2d');
var myChart = new Chart(ctx, {
   type: 'line',
   data: {
      labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sept'],
      datasets: [{
         label: 'Standard Rating',
         data: [1, 2, 3, 4, 5, 6, 7, 8, 9],
         backgroundColor: 'rgba(209, 230, 245, 0.5)',
         borderColor: 'rgba(56, 163, 236, 1)',
         borderWidth: 1
      }]
   },
   options: {
      responsive: false,
      tooltips: {
         mode: 'label',
         intersect: false
      },
      scales: {
         xAxes: [{
            ticks: {
               userCallback: function(item, index) {
                  if (!(index % 4)) return item;
               },
               autoSkip: false
            }
         }],
         yAxes: [{
            ticks: {
               beginAtZero: true
            }
         }]
      }
   }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.min.js"></script>
<canvas id="myChart" width="350" height="200"></canvas>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Chart.js 图表的 x 轴上仅显示第 n 个刻度线 的相关文章

  • 如何在chart.js中应用渐变颜色?

    我正在使用 Chart js 库制作折线图 在这里我想将线条的颜色更改为渐变颜色 我试过的代码 const gradientFill ctx createLinearGradient 500 0 100 0 gradientFill add
  • 如何在 Chartjs 中添加图像作为背景?

    我在可编程设备上使用 Chart js lib 我需要添加图像作为图表的背景 如果不可能 我如何将背景颜色更改为黑色 我无法使用 Jquery 因为平台不支持它 谢谢 谢谢你 我没想到CSS 我也以类似的方式添加了图像 canvas bac
  • Chartjs 气泡图中的各个气泡可以有标签吗?

    我正在使用 Chartjs 创建气泡图 我能够创建描述每个气泡的工具提示 但我的图表的用户可能无法将鼠标悬停在其上以查看工具提示 BubbleData 对象格式不包含标签元素 无论如何我都放了一个 不走运 我尝试过图表数据对象的 标签 元素
  • Chart JS:忽略 x 值并将点数据放在第一个可用标签上

    我正在 Chart js 中制作折线图 并且遇到一个问题 我试图在线上绘制点数据 但它忽略了我给出的 x 值 而是将它们放在第一个可用标签上 this myLineChart new Chart this ctx type line dat
  • Chart.js 时间序列跳过几天

    我有一个非常简单的条形图 其中每个数据点由日期 天 和数字组成 也许唯一的特点是并非涵盖每个日期 即有些日子没有数据点 绘制图表时 仅显示那些具有与其关联的数据点的日期 所有其他日期都被简单地省略 因此 x 轴分布不均匀并且会跳过值 如何确
  • Chartjs:如何删除特定标签

    我有一个包含这些数据和选项的条形图 var data labels periodnames datasets yAxisID bar stacked data rcash backgroundColor FFCE56 label yAxis
  • ChartJS 如何设置X轴的最大标签?

    我从数组接收图表数据 其中存储了从 2016 年 1 月到 2018 年 12 月的日期 在图表中 它显示 3 年的所有月份 但我只需要展示1年 有任何想法吗 在这里 我传递一个数组并更改月份的单位 还有显示格式 chartHour con
  • Chart.js 中未显示折线图

    问题很严重 我看不到图表的线条 当我按下任何按钮时 X 轴的时间应该根据按下的按钮而相应地变化我已经浏览文档很长一段时间了 但仍然无法弄清楚 图表数据 import React useRef useEffect useState from
  • 如何防止标签在移动屏幕 Chart.js 上重叠

    我正在使用这个例子jsfiddle https jsfiddle net Trekels fec0v5kj 但是当我使用小屏幕时标签开始像这样重叠 我可以做什么来预防它 我想让它完全响应 我尝试改变长度和其他长宽比等 但没有成功 var c
  • 如何在React ChartJS中获取填充圆图?

    我想介绍一个填充圆图 气泡图的变体 仅包含半径作为其尺寸 React Chartjs乃至Chartjs仅支持气泡图 不支持圆形图 这是我想要添加的预期图表的示例 我可以使用这样的东西吗react chartjs 例如 需要执行如下操作来定期
  • 如何在多行字符中只显示一个标签?

    我使用 Chart js 创建一个图表 该图有两条线 因此它默认也显示两个标签 但我需要一种配置 其中应该显示红色标签 而应该隐藏蓝色标签 标签not线 感谢您的帮助 var config type line data labels 16
  • Chartjs 插件数据标签不在图表上显示值

    我正在尝试使用 Chartjs 数据标签插件获取每个条形上的值 因此 在 a 条上方 a 想要看到数字 30 在 b 条上方或内部我想看到数字 50 但它根本没有显示任何价值 谁能帮忙并告诉我出了什么问题吗 我也尝试过使用不同版本的char
  • 如何使用 Chart.js 在堆积条形图中显示内联值?

    我正在使用 Chart js 库在堆叠条形图中显示一些值 但我正在努力找出如何显示条形图中的值 即 现在 我有以下代码 可以在条形顶部显示数字 但我想知道如何在条形内部显示它们 var numberWithCommas function x
  • 使用 ChartJS v2.0 自定义图例

    我正在尝试在 ChartJS v2 0 中创建自定义图例模板 在 ChartJS v1 中 我只是向新的 Chart 构造函数添加了一个属性 例如 legendTemplate ul li span style background col
  • Chart.js:将堆叠条形图的工具提示放置在条形图的顶部

    当我在简单的条形图中有一个条形时 工具提示位于条形的顶部 如果我将鼠标悬停在堆积条形图上 工具提示将放置在average位置 我希望将工具提示始终放在堆叠条形图的顶部 就像简单条形图一样 而不是这种行为 配置位置的唯一两个选项是averag
  • ChartJs:如何按时间值(而不是像素)以编程方式平移

    我使用的是chartJs 3 6 1 和 Chartjs plugin zoom 1 2 1 但我认为这并不重要 我有 2 个时间序列折线图 当我通过拖放平移一个图表时 我也想移动 平移另一个图表 为此 我为 graphA 启用了缩放 平移
  • Chart.js - 在哪里可以找到应该注册哪些组件?

    我是 Chart js 的新手 看到了 v3 文档 Chart js 3 是可摇树的 因此有必要导入并注册您将要使用的控制器 元素 比例和插件 我想知道在哪里可以找到这些用于注册的东西 例如需要注册什么这个例子 https www char
  • 如何使用 Chart.js 版本 3.2.1 在圆环图中添加文本

    我正在使用 Canvas 在 HTML 中使用 如何使用在圆环图中添加文本 这是我的 javascript 代码和 HTML 代码 我使用了图表js版本3 2 1 所以请给出相同版本 3 的解决方案 var overallStatsCanv
  • Chart.js - 悬停标签以显示 x 轴上所有数据点的数据

    我有一个包含多个数据点 线的图表 目前 如果您将鼠标悬停在数据点附近 它将显示该点的标签 值 我想要的是 当您将鼠标悬停在图表上的任意位置时 它将在单个标签中同时显示该 x 值处的所有数据点的标签 值 例如 让我们采用给定的数据集 Date
  • Chartjs + Angular6 未显示图表或任何错误

    我正在尝试以角度实现chart js 编写了一个简单的代码来在html上显示图表 但是页面上没有输出 也没有错误 我不明白问题出在哪里以及为什么显示图表失败 堆栈闪电战 https stackblitz com edit angularch

随机推荐

  • 调用静态方法的实例

    再会 我有点困惑 我想使用日历 所以我在互联网上搜索它并遇到以下代码 Ca1endar c Calendar getlnstance c set 2011 2 5 1 25 但我了解到这是一个静态方法 Calendar getlnstanc
  • NPOI 数据格式

    我正在使用 NPOI v1 2 3 导出网格 但在使单元格格式正常工作时遇到问题 我有一个类将对象列表导出到 XLS 文件 为每个对象创建一行 并为每个配置的属性添加一个单元格 可以在每个属性级别设置单元格数据格式 我读过您不应该为每个单元
  • Clojure 环包装重新加载不起作用

    这是我的 core clj 文件 ns lein app core require compojure core refer all compojure route as route ring middleware reload refer
  • 在 mac osx leopard/snow leopard 中获取鼠标光标下的文本

    有什么想法可以让文本位于鼠标光标下吗 我正在尝试构建一个字典应用程序 当鼠标悬停在单词上时会弹出一个翻译面板 我查看了可访问性API 它只能找到当前的ui元素 但不能找到当前的单词 我最后的选择是经常截图 然后进行ocr 这会消耗CPU 我
  • 如何设置内存存储库

    我有以下课程 public class InMemoryRepository IRepository public void Add object entity throw new NotImplementedException publi
  • 使用 GitHub 页面,空白屏幕

    我正在尝试使用 username github io 在 github 页面上创建一个 React 项目 但是当我打开链接时 它只返回一个白屏 没有任何错误消息 当我使用自定义域名时也会发生这种情况 但是 当我在本地运行它以及使用 gh p
  • iOS:我可以检测设备屏幕是否打开/关闭吗?

    如何在 iOS 中检查屏幕是打开还是关闭 我想知道屏幕当前是否打开 即使我的应用程序在后台 我想要一个事件侦听器 谢谢 In Swift 3你可以做 override func viewDidLoad super viewDidLoad O
  • 使用 Core Data 时如何正确设置 NSPredicate 来实现一对多关系?

    我有一个核心数据模型 其中任务实体包含与 ExcludedDay 实体的可选对多关系 ExcludedDays ExcludedDay 的属性之一是 day 它是一个 NSDate 对象 ExcludedDay 实体与 Task 实体具有反
  • JDBC 和 SQL Server 连接问题

    我对 Java 很陌生 我是一个纯粹的 net 人 我正在尝试进行 SQL Server 2008 数据库连接 现在我正在使用 jTDS 驱动程序来完成我的工作 db dbConnect jdbc jtds sqlserver XXXXXX
  • 原因及解决方法如何-[__NSCFConstantString trim]? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我用j2objc 从 爪哇 到obj
  • 消息正文上的 Azure 服务总线订阅筛选器

    我想根据消息的内容创建订阅 这可能吗 我试图摆脱添加自定义属性的麻烦 谢谢 这是不可能的 订阅只能根据标准 系统 和自定义 用户 属性进行过滤 如果正文 有效负载中有需要参与过滤的数据 则需要将其提升到标头
  • 如何使用非交互式身份验证连接到 Power BI API?

    用 C 编码 我正在遵循本指南 https azure microsoft com en us documentation articles resource group authenticate service principal aut
  • webpack dev server 的惰性模式有什么作用?

    我正在运行我的 webpack dev server webpack dev server lazy inline progress colors port 8082 但是 当我的浏览器尝试访问时 会显示 404 错误bundle js 其
  • 编译器构建的语义分析阶段有哪些工具?

    编译器构建可以分为词法分析 语法分析 语义分析等几个阶段 词法分析有Lex Flex等工具 语法分析有Yacc Bison等工具 我只是好奇语义分析阶段有哪些可用的工具 据我所知 没有与语言无关的工具来执行类型检查 如果有的话 它们肯定不会
  • Windows:Numpy mkl_intel_thread.dll

    经过几个小时的尝试和调查 我已经成功解决了这个问题Numpys mkl intel thread dll文件错误 以下内容可能无法解决所有情况 但我会尝试解释我的特定案例的详细信息 以帮助其他遇到相同问题的人 我的问题 当尝试启动 Anac
  • GRUB 是否切换到保护模式?

    我想问一下 启动时将CPU切换到保护模式是GRUB还是Linux内核 我还想问 内核本身 vmlinuz 是 ELF 还是纯二进制格式 谢谢 GRUB does让你进入保护模式 GRUB多重引导规范 版本 0 6 96 第 3 2 节 ht
  • Django 中的静态文件和媒体文件有什么区别?

    我正在转向 Django 1 3 发现媒体和静态文件的这种分离有点令人困惑 这是默认的方式settings py好像 Absolute filesystem path to the directory that will hold user
  • 以编程方式添加过滤器和初始化参数

    我需要将 web xml 的内容复制到 WebAppInitializer class Java 配置类 我已经从 web xml 复制了 YahooFilter 类 请参阅代码 但我不确定如何实用地添加 init params 我已在下面
  • Mongodb 返回旧集合

    router post orders finish function req res next var order id req body order id var user id req body user id var table id
  • 在 Chart.js 图表的 x 轴上仅显示第 n 个刻度线

    我一直在寻找这个问题的解决方案一段时间 但由于大量已删除的文档和该库以前版本的黑客答案 我还没有接近解决方案 我正在使用 ChartJS v2 制作一个图表 x 轴上带有季度月份名称 并且我设置了标签 以便仅显示每 4 个标签 即每年一个