reactjs - ChartJS - 定位和查看水平条的各种组件的问题
问题描述
我有一个HorizontalBar
像这样使用的 React 组件:
<div>
<HorizontalBar data={myData} options={myOptions} height={80} />
</div>
提供的选项有:
{
title: {
display: true,
text: 'My Title',
},
tooltips: { enabled: false },
hover: { mode: null },
legend: { display: false },
responsive: true,
maintainAspectRatio: false,
layout: {
padding: {
left: 10,
right: 10,
top: 0,
bottom: 0,
},
},
animation: {
duration: 0,
},
scales: {
xAxes: [
{
position: 'top',
gridLines: {
display: false,
},
ticks: {
beginAtZero: false,
min: 0,
max: 100,
sampleSize: 2,
callback: function (value: number, index: any, values: any) {
if (value == 0 || value == 100) {
return value;
}
return '';
},
},
stacked: true,
},
],
yAxes: [{ stacked: true }],
},
};
目前,这就是它的样子。我在画布上添加了背景颜色,以向您展示发生了什么:
这里有几件事是错误的,我需要一些帮助:
- 我无法弄清楚为什么我的画布左侧有一些神秘的填充物。
- 我想压缩渐变条和标题之间的距离,但在向属性添加
padding
选项方面我没有尝试过title
似乎有效。 - 最后,实际上应该有一个数据标签,因为画布的大小而被裁剪。如果我将 height 属性调整
HorizontalBar
为 140,它会显示:
基本上,我想要的是显示数据标签,而没有如此垂直拉伸的所有内容(并且没有出现在第二张照片中的 y 轴线)。
我希望它看起来像这样:
我该如何做到这一点?
编辑:我发现了 y 轴线显示问题。我只需要添加gridLines: { display: false }
到我的yAxes
选项中,然后将其删除。
解决方案
- 标题有自己的填充,默认为 10。
- yAxis 可以完全隐藏以移除空间(显示:false)。
- 对于 xAxis 网格线,可以将 tickMarkLength 设置为负数,以使这些标签更靠近。
- 您应该在数据标签的底部添加填充。
推荐阅读
- django - 如何在Django的类别列表中显示帖子列表
- python - 当我打开它以添加新文档时,Whoosh 索引文件被覆盖
- android - 如何将 android 的日期选择器更改为 Material 主题的微调器?
- homebrew - 检测到 Big Sur 潜在提权漏洞的乘客
- angular - Angular Jasmine“无法读取未定义的属性”
- python - 将 Timekeeper Windows Hosts PowerShell 脚本翻译成 Python3 for Linux Hosts
- jenkins-plugins - Selenium Allure 报告数据显示在 Grafana 仪表板上
- python - 写入 csv,导致一些数据保存在单独的行中
- postgresql - 在postgresql中插入触发器,动态语句
- python - 仅从 Libpostal (Pypostal) 获取街道和乡村 - PySpark