在图表中。js,有没有办法在“horizontalBar”
图表中的水平条内写入标签?例如:
在图表中是否有类似的情况。js?
谢谢
在chartjs 2.0中,您可以通过将标签旋转90度并应用负填充来实现这种效果,以便标签在“条”内向上移动。像这样的东西:
new Chart(document.getElementById(id), {
type: 'bar',
data: data,
options: {
scales: {
xAxes: [
{
ticks: {
autoSkip: false,
maxRotation: 90,
minRotation: 90,
padding: -110
}
}
]
}
}
});
有关更多信息,请参阅勾选配置文档。
关于在动画
的onComplete
中使用HTML5 CanvasfillText()方法显示数据值的原始解决方案,下面的代码将为您提供所需的:
自定义显示任何图表相关数据的关键是检查图表的数据集,如
所示。数据下面的数据集
。为此,我检查了不同的值在这个数据集中的位置,以及fillText方法放置它们的位置。
检查图表的数据集:图像
脚本(Chart.js 2.0
var barOptions = {
events: false,
showTooltips: false,
legend: {
display: false
},
scales:{
yAxes: [{
display: false
}]
},
animation: {
onComplete: function () {
var ctx = this.chart.ctx;
ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontFamily, 'normal', Chart.defaults.global.defaultFontFamily);
ctx.textAlign = 'left';
ctx.textBaseline = 'bottom';
this.data.datasets.forEach(function (dataset) {
for (var i = 0; i < dataset.data.length; i++) {
var model = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._model,
left = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._xScale.left;
ctx.fillStyle = '#444'; // label color
var label = model.label;
ctx.fillText(label, left + 15, model.y + 8);
}
});
}
}
};
jsFiddle:http://jsfiddle.net/jfvy12h9/
现在有一个选项“mirror”使标签显示在条内。
水平条形图的“选项”配置示例:
options: {
scales: {
yAxes: [{ticks: {mirror: true}}]
}
}
文件:http://www.chartjs.org/docs/latest/axes/cartesian/#common-配置
我正在使用一个chart-js条形图,它必须放在一个小的div中,所以我在寻找一种方法来使x轴上的标签水平而不是对角线。重点是为实际的条获得尽可能多的高度,因为现在标签占据了几乎40%的可用空间。 这是我的代码: 我已经暂时禁用了xAxis标签。它的工作,但理想情况下,我希望他们是水平的。想法?
我试图设置一个固定的范围为单条,水平条形图在Chart.JS 标记数组仅在垂直轴上工作,但我希望在X轴上有一组固定的标签。 示例:https://altonwells.webflow.io/chart-js
请参阅此小提琴:https://jsfiddle.net/4mxhogmd/1/ 我正在做图表。js如果您在fiddle中看到,您会注意到,在某些情况下,位于条形图顶部的值没有正确显示(超出画布),而我在研究如何在图表上显示数据值时遇到了这个链接。js 但在这里,他们也在同样的情况下使用工具提示来调整条内的文本。我不要这个。 我想要的是,在所有情况下,只在顶部显示值。
问题内容: 我有一个部门想要显示图像,然后单击以在灯箱中打开它们。我将它们向左浮动并在线显示它们。设置overflow- x进行滚动,但是一旦行空间不足,它仍然会将图像放在下面。我想让它们内联,并在需要时显示水平滚动。 注意: 我无法更改内部图像的结构。它必须是锚点内的img。我的灯箱就这样要求它。 HTML: CSS: 我知道这是非常基本的,但是我做不到。不知道怎么了 问题答案: HTML中可能
问题内容: 我需要使图像在div中水平并排显示。我怎样才能做到这一点? HTML: 问题答案: 您也可以使用CSS属性 display:inline-block 或 float:left 实现此目的。 HTML代码 CSS代码 要么
我使用的是Chart.js2.6,我已经实现了horizontalLine插件,在条形图上显示平均值。它可以正常工作,但是当工具提示显示在与直线相交的位置时,它部分被水平线本身覆盖。我试图找出如何使工具提示在水平线上方绘制。 我知道工具提示是canvas元素的一部分,因此没有z-index属性。我怎样才能做到这一点? 下面是我使用的水平线插件。 ... 然后我使用以下命令将其添加到条形图选项中 它