ChartJS 仅显示特定刻度的大字体大小

2024-02-29

我试图强调 X 轴上的特定值(如果它满足特定条件)。

例如,在我的codepen https://codepen.io/nuclearslug/pen/NJGmmy我只想更改“蓝色”栏的字体大小。这对于 Chart.js 来说是可能的吗?

var ctx = document.getElementById("myChart").getContext('2d');
var myChart = new Chart(ctx, {
    type: 'bar',
    data: {
        labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
        datasets: [{
            label: '# of Votes',
            data: [12, 19, 3, 5, 2, 3],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)',
                'rgba(75, 192, 192, 0.2)',
                'rgba(153, 102, 255, 0.2)',
                'rgba(255, 159, 64, 0.2)'
            ],
            borderColor: [
                'rgba(255,99,132,1)',
                'rgba(54, 162, 235, 1)',
                'rgba(255, 206, 86, 1)',
                'rgba(75, 192, 192, 1)',
                'rgba(153, 102, 255, 1)',
                'rgba(255, 159, 64, 1)'
            ],
            borderWidth: 1
        }]
    },
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero:true
                }
            }],
            xAxes: [{
                ticks: {
                    //only show large font size for 'Blue'
                    fontSize: 16
                }
            }]
        }
    }
});

Chartjs 没有公共 api 来执行此操作,但您可以修改内部_ticks on beforeDraw https://www.chartjs.org/docs/latest/developers/plugins.html#plugin-core-api并将标签“蓝色”设置为major: true那么该标签将使用major https://www.chartjs.org/docs/latest/axes/styling.html#tick-configuration勾选配置选项中的样式。

也要谨慎使用它,因为它依赖于内部实现,因此可能会在未来的版本中中断(不太可能发生,但只是说一下)。

var ctx = document.getElementById("myChart").getContext('2d');
var myChart = new Chart(ctx, {
    type: 'bar',
    data: {
        labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
        datasets: [{
            label: '# of Votes',
            data: [12, 19, 3, 5, 2, 3],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)',
                'rgba(75, 192, 192, 0.2)',
                'rgba(153, 102, 255, 0.2)',
                'rgba(255, 159, 64, 0.2)'
            ],
            borderColor: [
                'rgba(255,99,132,1)',
                'rgba(54, 162, 235, 1)',
                'rgba(255, 206, 86, 1)',
                'rgba(75, 192, 192, 1)',
                'rgba(153, 102, 255, 1)',
                'rgba(255, 159, 64, 1)'
            ],
            borderWidth: 1
        }]
    },
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero:true
                }
            }],
            xAxes: [{
                ticks: {
                    fontSize: 16,
                    major: {
                      fontSize: 20
                    }
                }
            }]
        }
    }, 
    plugins: [{
        beforeDraw: function({ chart }, options) {
            chart.boxes
            .find(box => box.id === "x-axis-0")
            ._ticks
            .find(tick => tick.label === "Blue")
            .major = true;
        }
    }]
});
<canvas id="myChart"></canvas>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.3/Chart.min.js"></script>

PS:以防万一有人想知道我如何知道我搜索的这个内部实现fillText在 ChartJS github 源代码中和console.log(myChart) xD

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

ChartJS 仅显示特定刻度的大字体大小 的相关文章

  • 从 thymeleaf 获取数据到模态引导程序、jquery

    我正在尝试获取模态视图的 id 这是为了更新 onclick 元素 但我找不到方法 知道如何为 boostrap 5 完成此操作 或我可以用其他方法吗 谢谢 tr a inactivate a div class modal fade mo
  • JavaScript onTouch 不工作

    谁能告诉我为什么这个 onTouch 处理程序没有触发 var myDiv document getElementById existingContent var myButton a href log out a myDiv append
  • 主干视图 DOM 元素已删除

    我一直在阅读有关 Backbone js 僵尸 或内存泄漏 问题的信息 基本上 当您不再需要该元素时 您必须从 DOM 中解除绑定并删除该元素 以确保所有事件也被删除 现在 我有一个包含几个容器的单页应用程序 div div div div
  • 了解设置 JQuery 变量

    了解设置 JQuery 变量 最近 我通过在 StackOverflow 上遇到的另一个问题寻找帮助 了解到如何设置 JQuery 变量 如下所示 您可以通过简单地调用变量来创建输入字段 并且锚变量似乎也定义了样式 var clicked
  • Android 设备上的 PhoneGap 蓝牙插件

    我一直在尝试让 PhoneGap 工作的蓝牙插件 但我似乎不知道哪里出了问题 首先 我的测试设备是 Galaxy S3 GT 19305T 应用程序是使用PhoneGap CLI http docs phonegap com en 3 0
  • 使用chart.js 的年龄金字塔图

    我正在尝试使用 Chart js 创建一个图表 如下所示 例如 https thebreadoflifeblog files wordpress com 2013 01 uk age pyramid png https thebreadof
  • 解析“流”JSON

    我在浏览器中有一个网格 我想通过 JSON 将数据行发送到网格 但浏览器应该在接收到 JSON 时不断解析它 并在解析时将行添加到网格中 换句话说 在接收到整个 JSON 对象后 不应将行全部添加到网格中 应该在接收到行时将其添加到网格中
  • 如何抑制窗口鼠标滚轮滚动...?

    我正在开发嵌入页面中的画布应用程序 我有它 因此您可以使用鼠标滚轮放大绘图 但不幸的是 这会滚动页面 因为它是文章的一部分 当我在 dom 元素上滚动鼠标滚轮时 是否可以阻止鼠标滚轮在窗口上滚动 附加鼠标滚轮 不是 Gecko DOMMou
  • 在requestAnimationFrame中使用clearRect不显示动画

    我正在尝试在 HTML5 画布上做一个简单的 javascript 动画 现在我的画布是分层的 这样当我收到鼠标事件时 背景层不会改变 但带有头像的顶层会移动 如果我使用 requestAnimationFrame 并且不清除屏幕 我会看到
  • Jquery/Javascript 上传和下载文件,无需后端

    是否可以在没有后端服务器的情况下在 JavaScript 函数中下载和上传文件 我需要导出和导入由 JavaScript 函数生成的 XML 我想创建按钮 保存 xml 来保存文件 但我不知道是否可行 另一方面 我希望将 XML 文件直接上
  • 在javascript中解析json - 长数字被四舍五入

    我需要解析一个包含长数字的 json 在 java servlet 中生成 问题是长数字被四舍五入 当执行这段代码时 var s x 6855337641038665531 var obj JSON parse s alert obj x
  • Babel 7 Jest Core JS“TypeError:wks不是函数”

    将我的项目升级到 Babel 7 后 通过 Jest 运行测试会抛出以下错误 测试在 Babel 6 中运行没有任何问题 但在 Babel 7 中失败并出现以下错误 TypeError wks is not a function at Ob
  • 提交表单并重定向页面

    我在 SO 上看到了很多与此相关的其他问题 但没有一个对我有用 我正在尝试提交POST表单 然后将用户重定向到另一个页面 但我无法同时实现这两种情况 我可以获取重定向或帖子 但不能同时获取两者 这是我现在所拥有的
  • 如何使用tampermonkey模拟react应用程序中的点击?

    我正在尝试使用 Tampermonkey 脚本模拟对 React 元素的点击 不幸的是 由于 React 有自己的影子 DOM 所以天真的方法使用document querySelector 不工作 我遇到了一些需要修改 React 组件本
  • 为什么在 Internet Explorer 中访问 localStorage 对象会引发错误?

    我正在解决一个客户端问题 Modernizr 意外地没有检测到对localStorageInternet Explorer 9 中的对象 我的页面正确使用 HTML 5 文档类型 并且开发人员工具报告该页面具有 IE9 的浏览器模式和 IE
  • 如何获取给定 DOM 元素的所有定义的 CSS 选择器?

    如何使用 jQuery 获取给定 DOM 元素的所有定义的 CSS 选择器 定义后 我的意思是在应用于任何样式表的所有 CSS 选择器document 在某种程度上 这类似于 FireBug 实现的功能 其中显示所选 DOM 元素的所有应用
  • 为什么我不能在 AngularJS 中使用 data-* 作为指令的属性名称?

    On the t他的笨蛋 http plnkr co edit l3KoY3 p preview您可以注意到属性名称模式的奇怪行为data 在指令中 电话 Test of data named attribute br
  • Safari 支持 JavaScript window.onerror 吗?

    我有一个附加到 window onerror 的函数 window onerror function errorMsg url line window alert asdf 这在 firefox chrome 和 IE 中工作正常 但在 s
  • 如何仅在最后一个
  • 处给出透明六边形角度?
  • 我必须制作这样的菜单 替代文本 http shup com Shup 330421 1104422739 My Desktop png http shup com Shup 330421 1104422739 My Desktop png
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示

随机推荐

  • 在 R 中执行行之间的计算

    我试图弄清楚如何跨行 或行之间 进行计算 我尝试过查找此内容 但显然我的 Google Fu 今天并不强大 因为我只是找不到正确的搜索词 这是我要处理的数据类型的超级简化示例 mydf lt data frame pair rep 1 2
  • Linkedin API 用户分享统计

    也许我错过了有关 LinkedIn API 端点的一些信息 但在我看来 Linkedin API 没有端点 URL个人资料 墙 发布的帖子统计 喜欢 评论 甚至有机搜索统计数据 展示次数 点击次数 参与度 这很奇怪 因为公司 API 对于其
  • 连接被拒绝! selenium 服务器是否在边缘启动了 nightwatch

    我已经创建了一个项目 它是一个 vue js 应用程序 有一小部分单元测试 玩笑 和一个端到端测试 夜更 当我尝试使用 npm 运行端到端测试时 我得到 Error retrieving a new session from the sel
  • 在Delphi中使用接口有哪些优点和缺点?

    我已经使用 Delphi 类有一段时间了 但从未真正开始使用接口 我已经读过一些关于它们的内容 但想了解更多 我想听听您在使用 Delphi 中的接口时遇到的优点和缺点 包括编码 性能 可维护性 代码清晰度 层分离以及一般而言您能想到的任何
  • 浏览器兼容自动换行和空格:pre?

    我需要保留并换行 div 中的文本 到目前为止 我很难找到解决方案 我找到的最佳解决方案并不适用于所有浏览器 以下内容适用于 Chrome 和 IE6 但在 Firefox 中文本不换行 white space pre word wrap
  • Spring可缓存异步更新,同时返回旧缓存

    有休息控制器 它调用 Cacheable方法来自 Service My CacheManager has expireAfterWrite超时 所以超时后使用rest gt service方法时 必须重写缓存 但问题是 如果同时有许多剩余调
  • 从列表框中选定的项目中提取内容 (urwid)

    我正在 urwid 中创建一个列表框 其中每个项目都是从 URL 列表中提取的 URL 当选择一个项目并单击 ENTER 时 我想提取 URL 并在浏览器中打开它 到目前为止 这是我的代码 class SelectableText urwi
  • 通过 ServiceStack 加密消息

    给定一个应用程序需要交换 ConsumerKey ConsumerSecret 等信息以获取 oAuth server running WebApi over ServiceStack consumer is a desktop app 希
  • python 中的一行 ftp 服务器

    python 中是否可以使用一行命令来创建一个简单的 ftp 服务器 我希望能够以快速 临时的方式将文件传输到 Linux 机器 而无需安装 ftp 服务器 最好是使用内置 python 库的方法 这样就不需要安装任何额外的东西 强制性的T
  • Windows 应用商店应用程序使用自签名 SSL 证书连接到 HTTPS

    我有一个 Windows 应用商店应用程序 Metro 应用程序 我想连接我通过 HTTPS 构建的 Web 服务 我正在为我的网络服务使用自签名证书 但是当我尝试通过 System Net HttpClient PostAsync 从我的
  • 多处理的好例子实现?

    我正在尝试将我的程序之一转换为使用多处理 最好是多处理池 因为这些似乎更容易做到 概括地说 该过程是根据图像创建补丁数组 然后将它们传递到 GPU 进行对象检测 CPU和GPU部分各耗时约4秒 但CPU有8核 不需要等待GPU 因为数据经过
  • 仅冻结 html 表格的顶行(固定表格标题滚动)

    我想制作一个顶行冻结的 html 表格 这样当你垂直向下滚动时你总是可以看到它 有没有一种聪明的方法可以在不使用 JavaScript 的情况下实现这一点 请注意 我不需要冻结左列 我知道这有几个答案 但这些都没有真正帮助我 我发现本文 h
  • 如何使用 JavaPOS 通过 Epson 打印机打印收据?

    如何开发 Java 软件来使用 Epson 收据打印机打印收据 从 Epson 网站获取 Epson JavaPOS ADK 您需要注册才能下载 确保您安装了 32 位 JVM Install the Epson JavaPOS ADK 选
  • 在Java中反转大量文本文件

    反转异步上传到 servlet 的大型文本文件 以可扩展且高效的方式反转该文件 的最佳方法是什么 文本文件可能很大 千兆字节长 可以假设多个服务器 集群环境以分布式方式执行此操作 鼓励开源图书馆考虑 我正在考虑使用 Java NIO 将文件
  • 页脚位于底部但不粘

    我试图让页脚齐平到页面底部 但不一定是粘性的 只需位于底部 以防用户向下滚动 这 有效 但页脚出现后底部似乎有一些空白 看起来有点尴尬 有谁知道CSS将页脚刷新到底部并保持在最底部而不使其粘着的最佳方法吗 如果您希望我发布我的 html c
  • 如何在 django Rest 框架中将多个变量传递给 modelViewSet?

    我在用http www django rest framework org http www django rest framework org 我有一个场景 我想根据需要从数据库获取数据来传递两个或多个变量 在下面的代码中 只有 pk 存
  • Wicket @SpringBean 不创建可序列化代理

    SpringBean PDLocalizerLogic loc 当使用上面时 我收到 java io NotSerializedException 这是因为 loc 不可序列化 但这不应该成为问题 因为 spring bean 是可序列化的
  • 将切片扩展到其容量的最简单方法是什么?

    我有一个程序 它使用缓冲池来减少代码中一些性能敏感部分的分配 像这样的事情 播放链接 https play golang org p c gsqBcbE some file or any data source var r io Reade
  • Internet Explorer 无法识别 SVG 元素的 CSS

    我有一个 SVG 图像地图 链接上带有悬停样式 有关 SVG 图像映射的更多信息here http thenewcode com 760 Create A Responsive Imagemap With SVG 我测试过的所有受人尊敬的浏
  • ChartJS 仅显示特定刻度的大字体大小

    我试图强调 X 轴上的特定值 如果它满足特定条件 例如 在我的codepen https codepen io nuclearslug pen NJGmmy我只想更改 蓝色 栏的字体大小 这对于 Chart js 来说是可能的吗 var c