我正在使用 react-native-svg-charts 库处理图表,看起来它非常灵活和酷,但我遇到了这个问题。我需要为 xAxis 建立 24 小时时间表,但不知道该怎么做。
所以我有一个看起来像这样的图表
接下来是图表的代码:
<>
<View style={{flex: 1}} {...panResponder.current.panHandlers}>
<AreaChart
animate
style={{flex: 1}}
data={glucoseValues}
yMin={0}
yMax={180}
curve={shape.curveNatural}
contentInset={{...verticalContentInset}}
svg={{fill: 'url(#gradient)'}}>
<CustomLine/>
<Tooltip/>
</AreaChart>
<SafeArea/>
</View>
<YAxis
style={{width: apx(44)}}
data={[...Array(19).fill(1).map((el, i) => el + i * 10)]}
contentInset={verticalContentInset}
svg={{fontSize: apx(20), fill: '#617485'}}
/>
<XAxis
style={{
alignSelf: 'stretch',
width: apx(INIT_WIDTH),
height: apx(40),
}}
data={[...Array(24).fill(1)]}
formatLabel={(value, i) => {
return i === 0 ? '00:00' :
i % 4 === 0 ? moment().startOf('day').add(i, 'hours').format('HH:mm') :
i === 23 ? '23:59' : '';
}}
contentInset={{
left: 20,
right: 20,
}}
svg={{
fontSize: apx(20),
fill: '#617485',
alignmentBaseline: 'center',
textAnchor: 'middle',
y: apx(10),
}}
/>
</>
如您所见,XAxis 有点显示时间线,但未应用。如果是这样,在图表之前和之后,我们应该会看到像这张图片一样的空白区域。
我的问题是下一个。如何为 xAxis 设置域,如上图所示?
对于图表,我使用 Y 值数组和 X 时间戳数组。也许我应该以某种方式指出 AreaChart 的 xMax、xMin 属性。有任何想法吗?