javascript - 如何在 React.js 中调整 Chart.JS 元素的大小?
问题描述
我有一个 React 组件Webstats
,它从react-chartjs-2库返回一个圆环图。代码如下所示:
const Webstats = () => {
//code to create chart.
return <Doughnut data={pd} />;
}
我在另一个名为Dashboard
. 我想在注销按钮旁边显示图表。两者应该在同一行。flex
为此,我使用css 的属性。
const rowC = {
display: "flex",
flexDirection: "row"
};
const Dashboard = () => {
return (
<div style={rowC}>
<Webstats />
<Link to="/">
<div>
<button onClick={auth.logout}>Logout</button>
</div>
</Link>
</div>
);
};
export default Dashboard;
但问题是,与注销按钮相比,图表大小太大。
我想让图表尺寸变小,大约是<div style={rowC}>
. 我尝试了这些事情:
return <Doughnut data={pd} width="30%"/>;
和
return (
<div style={rowC}>
<Webstats width="30%" />
// rest of html
)
并且
return (
<div width="30%">
<Doughnut data={pd} />
</div>
);
但这些都没有给我想要的结果。如何将图表的大小调整为 30% 的宽度(和高度自动调整)<div style={rowC}>
?
解决方案
ChartJS的文档指出,您需要将其设置maintainAspectRatio
为 false 才能使用您传递到图表中的宽度和高度道具。
为了让 Chart.js 遵守您需要设置
maintainAspectRatio
为 false 的自定义大小。
<Doughnut
data={data}
width={"30%"}
options={{ maintainAspectRatio: false }}
/>
推荐阅读
- c - C - 从文件中读取数组并在屏幕上显示引入的行数
- excel - VBA Excel 根据工作表颜色另存为 PDF - 根据选项卡颜色创建工作表数组
- google-maps - 使用 MVC 框架将日/夜叠加层添加到谷歌地图
- mysql - 我无法从远程访问托管在 azure 上的 mysql 服务器
- python - numpy的linalg范数轴不输出相同的结果
- android - 是否可以调整cardview的左侧高度?
- python - 我可以将单词或句子与 Python 中的预矢量化句子语料库进行匹配以进行 NL 处理吗?
- javascript - 将 React 添加到大型 PHP 项目 (ZF3)
- pandas - 熊猫数据框从列表列 len >1 中获取元素并检查标志状态并更新同一行的组 ID
- apache-spark - 增加 Spark 工作者核心