Я пишу приложение React и пытаюсь использовать Recharts для отображения некоторой информации в виде столбчатой диаграммы с накоплением. Имею следующее:
const {BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer} = Recharts;
const data = [
{name: "TEST", first: 9, next: 1, last: undefined, lastest: 1},
{name: "RETEST", first: 6, next: 12, last: 12, lastest: 2}
];
const StackedBarChart = React.createClass({
render () {
return (
<ResponsiveContainer height={500} width="100%">
<BarChart
data={data}
margin={{
top: 20,
right: 30,
left: 20,
bottom: 5,
}}
layout={'vertical'}
stackOffset="expand"
>
<YAxis type="category" dataKey="name" />
<XAxis type="number" />
<Tooltip contentStyle={{ backgroundColor: 'black' }} labelStyle={{ color: 'white' }} />
<Legend />
<Bar dataKey="first" stackId="a" fill="#FFFFB0" />
<Bar dataKey="next" stackId="a" fill="#FFFF00" />
<Bar dataKey="last" stackId="a" fill="#ED4337" />
<Bar dataKey="lastest" stackId="a" fill="#90EE90" />
</BarChart>
</ResponsiveContainer>
);
}
})
ReactDOM.render(
<StackedBarChart />,
document.getElementById('container')
);
Это показывает, как я хотел бы, но ось X идет только от 0 до 1, когда она должна иметь минимум 0 и максимум 32. Я воспроизводил на JSFiddle, поэтому это не моя среда.
Я изучил то, что XAxis считает DataMax, и он считает, что это 1, поэтому ручная установка моего максимума не сработает, потому что тогда диаграммы не заполняют пространство.