chart.js - ChartJS 将轴标签对齐到顶部
问题描述
ChartJS /中有没有办法react-chartjs-2
将 Y 轴标题与轴的顶部对齐,而不是默认的垂直对齐?
我对 Y 轴的基本配置如下:
yAxes: [
{
scaleLabel: {
display: true,
labelString: '$ USD'
}
}
]
解决方案
我不确定 Chart.js 中是否有对此要求的内置支持,但是您可以ctx
使用下面显示的代码中的任何值填充。请根据您的需要调整xOffset
和值。yOffset
小提琴-> http://jsfiddle.net/Lzo5g01n/8/
animation: {
duration: 1,
onComplete: function() {
var controller = this.chart.controller;
var chart = controller.chart;
var yAxis = controller.scales['y-axis-0'];
var xOffset = chart.width - (chart.width - 5);
var yOffset = chart.height - (chart.height - 18);
ctx.fillText('$USD', xOffset, yOffset);
}
}
使用上面的代码,有一个问题是标签在悬停在栏上时消失。
这个新代码可能有助于解决问题-> http://jsfiddle.net/moz73qep/3/
var myBarExtend = Chart.controllers.bar.prototype.draw;
Chart.helpers.extend(Chart.controllers.bar.prototype, {
draw: function () {
myBarExtend.apply(this, arguments);
var controller = this.chart.controller;
var chart = controller.chart;
var yAxis = controller.scales['y-axis-0'];
var xOffset = chart.width - (chart.width - 5);
var yOffset = chart.height - (chart.height - 18);
ctx.fillText('$USD', xOffset, yOffset);
} });
推荐阅读
- python - 是否可以在不显式使用 python 中的索引的情况下引用列表项?
- xquery - xdmp:spawn-function() 替代方案
- javascript - 我如何在 javascript 中修复递归代码
- javascript - 应该如何在 Angular 中存储敏感的 Stripe 键变量?
- lodash - 如何将对象与 Lodash 合并,但替换数组值?
- jmeter - 如何在 Jmeter 上的目录列表数据源中使用属性值
- mysql - 不正确的字符串值 - MySql
- xml - 如何使用 WebView2 使用 XSL 转换显示 XML 内容?
- php - SQLSTATE [HY000] [1045] 用户'demooabgov_root'@'localhost'的访问被拒绝(使用密码:YES)(SQL:select * from `roles`)未解决
- azure-ad-b2c - B2C - 模拟自定义策略