Reactjs Recharts-如何强制图表从x=0开始?
我正在用Recharts画一些图表。根据数据数组的长度,图表不会在x=0处开始(不是在x和y的交点处),也不会在最大值x处结束: 如何强制它始终从x=0开始并占据所有x轴 我就是这样实施的:Reactjs Recharts-如何强制图表从x=0开始?,reactjs,recharts,Reactjs,Recharts,我正在用Recharts画一些图表。根据数据数组的长度,图表不会在x=0处开始(不是在x和y的交点处),也不会在最大值x处结束: 如何强制它始终从x=0开始并占据所有x轴 我就是这样实施的: <ResponsiveContainer width="100%" height={400}> <ComposedChart data={chartContent.content.chart}
<ResponsiveContainer width="100%" height={400}>
<ComposedChart
data={chartContent.content.chart}
//data={data}
margin={{ top: 5, bottom: 5, left: 5 }}
>
<defs>
<linearGradient
id="colorBtc"
x1="0"
y1="0"
x2="0"
y2="1"
>
<stop
offset="5%"
stopColor="#ff9500"
stopOpacity={0.8}
/>
<stop
offset="95%"
stopColor="#ff9500"
stopOpacity={0}
/>
</linearGradient>
<linearGradient
id="colorStock"
x1="0"
y1="0"
x2="0"
y2="1"
>
<stop
offset="5%"
stopColor="#00a1e4"
stopOpacity={0.8}
/>
<stop
offset="95%"
stopColor="#00a1e4"
stopOpacity={0}
/>
</linearGradient>
</defs>
<XAxis
dataKey="date"
tickFormatter={formatDate}
/>
<YAxis tickFormatter={formatYAxis} />
<CartesianGrid strokeDasharray="3 3" />
<Tooltip
formatter={formatTooltip}
labelFormatter={formatDate}
/>
<Legend />
<Area
name={t("Total amount in BTC")}
type="monotone"
dataKey="investment_total_btc"
stroke="#ff9500"
fillOpacity={1}
fill="url(#colorBtc)"
/>
<Area
name={`${t("Total amount in")} ${
chartContent.content.symbol
}`}
type="monotone"
dataKey="investment_total_stock"
stroke="#00a1e4"
fillOpacity={1}
fill="url(#colorStock)"
/>
<Line
name={t("Total invested in $")}
dataKey="invested"
type="monotone"
stroke="#ff0000"
dot={false}
/>
</ComposedChart>
</ResponsiveContainer>
不幸的是,API文档不是很清楚,我找不到解决方案
提前感谢在我的场景中,有帮助的是将
dataMax+1
添加到XAxis组件的域参数中
根据文档所述,我假设为域数组的第一个元素添加“dataMin”会有所帮助。然而,正是dataMax+1
为我解决了这个问题
完整片段
<XAxis
dataKey="date"
name="Time"
type="number"
domain={["dataMin", "dataMax + 1"]}
tickFormatter={(tickItem) => moment(tickItem).format("MMM Do YY")}
/>
moment(tickItem).format(“MMM-Do-YY”)}
/>