Recharts 自定义 XAxis 名称

Recharts Customized XAxis name

最近才开始学习 React 和 React Native for Web。我尝试使用 Recharts 库制作折线图。我希望图表中显示所有 XAxis 名称; 10 点,11 点 ... 24 点。

这是我的线数据。 name 是 XAsis 标签名称,UV 是它的值。

let lineData = [
    { name: "10시", uv: 44 },
    { name: "11시", uv: 32 },
    { name: "12시", uv: 14 },
    { name: "13시", uv: 14 },
    { name: "14시", uv: 14 },
    { name: "15시", uv: 34 },
    { name: "16시", uv: 4 },
    { name: "17시", uv: 54 },
    { name: "18시", uv: 14 },
    { name: "19시", uv: 0 },
    { name: "20시", uv: 34 },
    { name: "21시", uv: 54 },
    { name: "22시", uv: 14 },
    { name: "23시", uv: 24 },
    { name: "24시", uv: 34 },
  ];

在折线图中,我使用 ResponsiveContainer、XAsis 和 YAxis 来自定义图表。

这是我的代码

<ResponsiveContainer width="100%" height={250}>
              <LineChart
                data={lineData}
                margin={{ top: 20, right: 0, left: -15, bottom: 5 }}
              >
                <Line type="monotone" dataKey="uv" stroke="red" />
                <XAxis
                  dataKey="name"
                  tick={{ fontSize: 10 }}
                  // width="-100"
                  // ticks={[
                  //   10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
                  // ]}
                  // domain={[10, 24]}
                />
                <YAxis tick={{ fontSize: 10 }} ticks={[0, 10, 20, 30, 40]} />
              </LineChart>
            </ResponsiveContainer>

我上面提到的,XAsis 名称应该全部显示在图表中,但部分名称只显示这样。

10시、12시、14시、16시、18시、20시、22시、23시消失了。 你能帮我解决我遗漏或错误的部分吗? 非常感谢您的帮助!

我认为因为您将 ResponsiveContainer 的宽度设置为 100% 并且您在窄屏中呈现此图,Recharts 会自动剪切一些 x 轴值。

您是否尝试过为 XAxis 添加间隔道具? 如果在 XAxis 组件中设置 interval={0},即使屏幕不够宽,您也可以在屏幕上看到所有的 x 轴值。

<XAxis
  dataKey="name"
  tick={{ fontSize: 10 }}
  interval={0}
/>