javascript - 在 ReactChartJS 中调整条形图的大小
问题描述
我一直在尝试使用这个库来创建一个带有反应的动态图表:
https://www.npmjs.com/package/@reactchartjs/react-chart.js
我正在构建一个水平条形图,但我不明白如何减少行的高度,这就是我现在得到的:
行非常大并且占用大量空间,我尝试了不同的选项,但我无法弄清楚。
这是组件的代码:
/* eslint-disable react/prop-types */
import React from 'react';
import { HorizontalBar } from '@reactchartjs/react-chart.js';
const Graph = ({
arrayData,
}) => {
const data = {
labels: arrayData.map((obj) => obj[Object.keys(obj)[0]]),
datasets: [
{
label: 'Senders',
data: arrayData.map((obj) => obj[Object.keys(obj)[1]]),
backgroundColor: 'rgb(213, 232, 255)',
borderColor: 'rgb(3, 120, 204)',
borderWidth: 1,
},
],
};
const yAxesScaleOptions = [
{
barPercentage: 0.9,
categoryPercentage: 0.8,
},
];
const options = {
responsive: true,
maintainAspectRatio: true,
scales: {
xAxes: [{
stacked: true,
}],
yAxes: yAxesScaleOptions,
},
};
return (
<HorizontalBar data={data} options={options} />
);
};
export default Graph;
CSS 父 div:
export const TabPanels = styled.div`
border: 1px solid ${colorPalette.grey.medium};
padding: 10px 5px;
margin-top: -1px;
width: 100%;
position: relative;
`;
也许有一个道具,但我在文档中找不到
解决方案
创建一个包含这两个属性的变量:
const yAxesScaleOptions = [ { barPercentage: 0.9, categoryPercentage: 0.8 } ]
在你
options
做的:
const options = {
responsive: true,
maintainAspectRatio: true,
scales: {
xAxes: [{
stacked: true,
}],
yAxes: yAxesScaleOptions <-- This
},
};
推荐阅读
- django - Django中的IP地址超链接
- angular - 如何在 Angular 5 应用程序中使用 Mapbox?
- python - Django - 将 Auth 用户名更改为 Autofield 会破坏代码
- python - pycharm 通过控制台运行代码
- android - Firebase RecyclerView OnDataChanged 仅显示最后一个元素
- properties - 使用 URI 作为属性的谓词?
- javascript - 我应该如何将 *.eslintrc* 更新为 ESLint 查看更改?
- typo3 - 是否可以在分面搜索 (ke_search) 中索引自定义文档?
- php - 如何重复 php "if" 20 次?
- c++ - 函数模板参数推导(类 vs 函数模板)