Я использую Victory для рендеринга набора данных:
class App extends React.Component {
render() {
return (
<div style={{ width: 600 }}>
<VictoryChart domainPadding={30}>
<VictoryAxis
dependentAxis={true}
style={{
grid: { stroke: "grey" }
}}
/>
<VictoryAxis />
<VictoryBar
barWidth={20}
style={{ data: { fill: "red" } }}
data={[
{ x: new Date("2019-01-01"), y: 2 },
{ x: new Date("2019-02-01"), y: 3 },
{ x: new Date("2019-03-01"), y: 5 },
{ x: new Date("2019-04-01"), y: 4 },
{ x: new Date("2019-05-01"), y: 8 },
{ x: new Date("2019-06-01"), y: 2 },
{ x: new Date("2019-07-01"), y: 3 },
{ x: new Date("2019-08-01"), y: 5 },
{ x: new Date("2019-09-01"), y: 9 },
{ x: new Date("2019-10-01"), y: 3 },
{ x: new Date("2019-11-01"), y: 5 },
{ x: new Date("2019-12-01"), y: 6 }
]}
/>
</VictoryChart>
</div>
);
}
}
Как я могу изменить ось X, чтобы отобразить тик для каждого месяца («январь», «февраль», «март» и т. д.)? Кроме того, я хотел бы, чтобы каждая полоса имела ширину 40 пикселей (barWidth=40), но когда я это делаю, все полосы просто объединяются - я также хотел бы контролировать поля/отступы между полосами. Как это решить?
Пример доступен в этой песочнице: https://codesandbox.io/s/victory-react-native-4t49q