使用高级 Chakra UI 组件更快地构建 💎

了解更多
跳过内容
文档演练场指南博客
赞助商

柱状图

用于使用高度或长度不同的矩形条显示分类数据

StorybookRecharts

用法

import { Chart, useChart } from "@chakra-ui/charts"
import { Bar, BarChart, CartesianGrid, XAxis, YAxis } from "recharts"
<Chart.Root>
  <BarChart>
    <CartesianGrid />
    <XAxis />
    <YAxis />
    <Bar />
  </BarChart>
</Chart.Root>

示例

柱颜色

这是一个根据数据为柱状图着色的示例。

使用 recharts 中的 Cell 组件来为柱状图着色。

<Bar dataKey="allocation">
  <Cell fill="red" />
</Bar>

柱标签

渲染 recharts 中的 LabelList 组件以显示柱状图的标签。

格式化器

使用 useChart hook 提供的格式化器来格式化值轴。

<YAxis
  tickFormatter={chart.formatNumber({
    style: "currency",
    currency: "USD",
    notation: "compact",
  })}
/>

无间隙

要移除柱状图之间的间隙,请将 BarChart 组件的 barCategoryGap prop 设置为 0

按值填充

组合 recharts 中的 LabelListCell 组件,根据值向上或向下渲染柱状图。

<Bar dataKey="views">
  <LabelList dataKey="views" position="top" />
  {chart.data.map((item, index) => (
    <Cell key={index} fill={item.views > 0 ? "green" : "red"} />
  ))}
</Bar>

水平

layout="vertical" prop 传递给 BarChart 组件以水平渲染柱状图。

圆角

radius prop 传递给 Bar 组件以渲染圆角柱状图。

范围

将值数组传递给 dataKey prop 将渲染一个范围柱状图,指示值的下限和上限。

const chart = useChart({
  data: [
    { name: "UK", value: [10, 20] },
    // ...
  ],
})

多系列

渲染多个 Bar 组件以创建多系列柱状图。

图例位置

layout prop 传递给 recharts 中的 Legend 组件以配置图例的位置。

百分比

BarChart 组件的 stackOffset prop 设置为 expand 以渲染值归一化为 100% 的柱状图。

堆叠

渲染多个 Bar 组件并将它们的 stackId prop 设置为相同的值以进行堆叠。

混合堆叠

渲染具有不同 stackId prop 的多个 Bar 组件,以创建部分系列堆叠、部分系列不堆叠的柱状图。

参考线

使用 recharts 中的 ReferenceLine 组件以在图表上引用特定值。

直方图

对于数学奇才来说,您可以组合柱状图来创建直方图。

头像刻度

这是一个利用 SVG foreignObject 将图片渲染为 XAxis 刻度的示例。

K线图

将柱状图与 ErrorBarBar 组件结合,以创建 K线图。

组合

这是一个组合 BarChartCardSegmentGroup 组件的示例。

操作系统下载量

上一页

面积图

下一页

柱状列表