javascript - 如何在 React.js 中调整 Chart.JS 元素的大小?

标签 javascript html css reactjs 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;

但问题是,与注销按钮相比,图表尺寸太大了。

Screenshot

我想让图表变小,大约是 <div style={rowC}> 宽度的 30% .我试过这些东西:

return <Doughnut data={pd} width="30%"/>;

return (
    <div style={rowC}>
      <Webstats width="30%" />
      // rest of html
)

还有

return (
    <div width="30%">
      <Doughnut data={pd} />
    </div>
  );

但是这些都没有给我想要的结果。如何将图表调整为 <div style={rowC}> 宽度(和高度自动调整)的 30% ?

最佳答案

documentation for ChartJS说明您需要将 maintainAspectRatio 设置为 false 才能使用您传递到图表中的宽度和高度属性。

In order for Chart.js to obey the custom size you need to set maintainAspectRatio to false.

<Doughnut
  data={data}
  width={"30%"}
  options={{ maintainAspectRatio: false }}
/>

关于javascript - 如何在 React.js 中调整 Chart.JS 元素的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59325426/

相关文章:

javascript - 如何让rails变量进入onclick函数调用

javascript - 如何实现文件导航? (意思是侧面的目录浏览)

javascript - 在不重新加载页面的情况下计算选中的复选框数量?

javascript - 如何使用 Javascript 和 JQuery 缩放此 HTML

jquery - 如何使用 jquery 在 asp.net mvc 4 中添加 Accordion Pane

css - PrimeNG Turbo Table单元格文本溢出问题

javascript - 为什么 'null' 在 javascript 函数中作为参数传递?

javascript - 如何隐藏 webpack-dev-server 日志?

javascript - 为什么 v-for 不会渲染任何 DOM? 'Property or method "数据“未在实例上定义,但在渲染期间引用。”

javascript - 如何在悬停时更改 SVG 的描边颜色?