我正在使用Recharts.js在我的网站上显示图表数据。但是我想设置XAxis的最小值/最大值,这是日期类型,但是尝试使用域对我没有用:
<ResponsiveContainer width="100%" height={200}>
<BarChart
width={400}
height={200}
data={data}
margin={{
top: 20,
left: 5,
bottom: 5,
right: 5
}}
>
<CartesianGrid strokeDasharray="3 3" />
<XAxis dataKey="time" tickFormatter={timeStr => moment(timeStr).format(timeFormat)} />
<YAxis dateKey="count" type="number" allowDecimals={false} tickCount={10} />
<Tooltip formatter={(value, name) => [value, startCase(name)]} />
<Bar dataKey="count" fill="#8884d8" />
</BarChart>
</ResponsiveContainer>
关键部分是:
<XAxis dataKey="time" tickFormatter={timeStr => moment(timeStr).format(timeFormat)} />
domain={['2018-01-01', '2019-12-31']}
domain={['2018-01-01 00:00:00', '2019-12-31 00:00:00']}
domain={['2018-01-01T00:00:00.000+09:00', '2019-12-31T23:59:59.999+09:00']}
domain={[new Date('2018-01-01'), new Date('2019-12-31')]}
domain={[new Date('2018-01-01').getTime(), new Date('2019-12-31').getTime()]}
domain={[moment('2018-01-01').format('YYYY-MM-DD'), moment('2019-12-31').format('YYYY-MM-DD')]}
将第一个日期设置为最早的日期,将最后一个日期设置为最晚的日期。我在这里想念什么?
答案 0 :(得分:0)
域仅适用于“数字”类型轴的数字类型;
当您提供带引号的日期时,它将成为类别;
您需要将日期转换为unix时间戳,即从1971年1月1日开始的秒数;