p7/8 done

This commit is contained in:
2026-04-14 23:52:16 +10:00
parent 189449a28a
commit 0a71925410
3 changed files with 107 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
import { BarChart } from '@mui/x-charts/BarChart';
import Container from '@mui/material/Container';
import type { tGroup } from "../groupdata";
import { useState } from 'react';
import SettingChart from "./SettingChart";
type GroupProps = {
data: tGroup;
};
function GroupChart({ data }: GroupProps) {
const [series, setSeries] = useState({
'Максимальная высота': true,
'Средняя высота': false,
'Минимальная высота': false,
});
let seriesY = Object.entries(series)
.filter(item => item[1] == true)
.map(item => {
return {
"dataKey": item[0], "label": item[0], barLabel: Object.entries(series)
.filter(item => item[1] == true).length == 1 ? "value" : ""
}
});
const chartSetting = {
yAxis: [{ label: 'Высота (м)' }],
height: 400,
};
return (
<Container maxWidth="lg">
<BarChart
dataset={data}
xAxis={[{ scaleType: 'band', dataKey: 'Группа' }]}
series={seriesY}
slotProps={{
legend: {
position: { vertical: 'bottom', horizontal: 'center' },
}
}}
{...chartSetting}
/>
<SettingChart series={series} setSeries={setSeries} />
</Container>
)
};
export default GroupChart;