我用javascript recharts library做了一个图表。如何填充曲线下的区域,直到可见区域的底部,而不是零?
现在看起来像这样:
但我希望曲线填充到图表的底部,而不是下降到/上升到零。
此部分的代码如下:
return (
<ResponsiveContainer width="100%" height="100%">
<AreaChart
data={data}
margin={{
top: 5,
right: 30,
left: 20,
bottom: 5,
}}
>
<defs>
<linearGradient id="fillGradient" x1="0" y1="-1" x2="0" y2="1">
<stop offset="5%" stopColor="#3182ce" stopOpacity={1} />
<stop offset="95%" stopColor="#FFFFFF" stopOpacity={1} />
</linearGradient>
</defs>
<CartesianGrid strokeDasharray="3 0" opacity={0.2} />
<XAxis dataKey="date" tickFormatter={parseTimeLabels} />
<YAxis />
<Tooltip />
<Legend />
<Area
type="natural"
dataKey="height"
stroke="#8884d8"
fillOpacity={1}
fill="url(#fillGradient)"
activeDot={{ scale: 10, onClick: (e, point) => onLineClick(point) }}
/>
</AreaChart>
</ResponsiveContainer>
);
1条答案
按热度按时间qij5mzcb1#
如果有人偶然发现了这一点,那么面积图通常会覆盖从0到dataKey(在本例中为height)处给定值之间的值
如果你想给一个特定的区域上色,你可以让你的dataKey prop引用一个数组值[yMin,height]。
在recharts库中的PR中提到:https://github.com/recharts/recharts/issues/316