javascript - ChartJS 中的“内联”标签
解决方案
您可以使用chartjs-plugin-datalabels
它,这在为任何类型的图表显示数据标签时非常有用,并且高度可定制。
请注意,这需要 Chart.js 2.7.0 或更高版本。
plugins
通过将其包含在图表的键下来使用它,如options
下面的解决方案所示。
解决方案#1。
top center
下面的配置将在每个栏上显示您的标签。请参阅工作示例。
var options = {
plugins: {
datalabels: {
// use the formatter function to customize the labels displayed
formatter: function(value, context) {
return context.chart.data.labels[context.dataIndex];
},
align: "top",
anchor: "center",
offset: 25,
padding: -2,
clip: true,
font: {
size: "16",
weight: "bold"
}
}
}
};
但是,这与您提供的屏幕截图并不完全相同,
解决方案#2。
这是我可以建议复制您想要的确切行为的一种解决方法。
anchor: 'start'
和align: -60
:这将使您的数据标签位于顶部,左对齐
scale.ticks.beginAtZero
通过设置为使您的图表从零开始true
offset: 25
: 将标签拉离锚点的距离(以像素为单位)
padding: function() {}
:使用脚本选项根据标签近似大小动态计算左侧填充,因为添加特定填充仅在标签具有相同宽度且不会改变的情况下才有效,这不是这种情况
有关配置的详细概述,请参阅工作示例。
此解决方案可行,但绝对不理想,因为这些标签的位置可能会根据标签大小、条形厚度和图表大小而变化。
推荐阅读
- reactjs - React Redux - 检查ID是否存在于Reducer的状态中
- c# - Xamarin Forms 在 viewmodel 中传递参数
- python - 将字符串修剪为特殊字符
- python - 沿多通道脑电信号加速带通滤波
- apache - 将 Nginx 重写规则翻译成 Apache
- python - 从 Django 模板中的 DateField 中提取月份
- javascript - 依赖于 Vuetify 的 Vue.js 组件库。$attrs 是只读的 - 错误
- amazon-cloudfront - Cloudfront域名传播后不起作用
- python-3.x - 循环遍历 Pandas Dataframe 并返回列名称和类型
- javascript - 根据用户输入显示最多 12 个时间表