Change total mahasiswa
This commit is contained in:
@@ -11,7 +11,7 @@ const Chart = dynamic(() => import('react-apexcharts'), { ssr: false });
|
||||
|
||||
interface TingkatPrestasiData {
|
||||
tahun_angkatan: number;
|
||||
tingkat: string;
|
||||
tingkat_prestasi: string;
|
||||
tingkat_mahasiswa_prestasi: number;
|
||||
}
|
||||
|
||||
@@ -67,12 +67,12 @@ export default function TingkatPrestasiChart({ selectedJenisPrestasi }: Props) {
|
||||
if (!data.length) return [];
|
||||
|
||||
const years = [...new Set(data.map(item => item.tahun_angkatan))].sort();
|
||||
const tingkatTypes = [...new Set(data.map(item => item.tingkat))].sort();
|
||||
const tingkatTypes = [...new Set(data.map(item => item.tingkat_prestasi))].sort();
|
||||
|
||||
return tingkatTypes.map(tingkat => ({
|
||||
name: tingkat,
|
||||
data: years.map(year => {
|
||||
const item = data.find(d => d.tahun_angkatan === year && d.tingkat === tingkat);
|
||||
const item = data.find(d => d.tahun_angkatan === year && d.tingkat_prestasi === tingkat);
|
||||
return item?.tingkat_mahasiswa_prestasi || 0;
|
||||
})
|
||||
}));
|
||||
@@ -202,6 +202,23 @@ export default function TingkatPrestasiChart({ selectedJenisPrestasi }: Props) {
|
||||
|
||||
const series = processSeriesData();
|
||||
|
||||
// Calculate the maximum value from all series for y-axis padding
|
||||
const maxValue = Math.max(
|
||||
...series.flatMap(s => s.data)
|
||||
);
|
||||
|
||||
// Add 20% padding to the maximum value
|
||||
const yAxisMax = Math.ceil(maxValue * 1.2);
|
||||
|
||||
// Update chart options with y-axis max
|
||||
const updatedChartOptions: ApexOptions = {
|
||||
...chartOptions,
|
||||
yaxis: {
|
||||
...chartOptions.yaxis,
|
||||
max: yAxisMax
|
||||
}
|
||||
};
|
||||
|
||||
if (loading) {
|
||||
return (
|
||||
<Card className="bg-white dark:bg-slate-900 shadow-lg">
|
||||
@@ -249,7 +266,7 @@ export default function TingkatPrestasiChart({ selectedJenisPrestasi }: Props) {
|
||||
<div className="h-[400px] sm:h-[350px] md:h-[400px] w-full max-w-5xl mx-auto">
|
||||
{typeof window !== 'undefined' && series.length > 0 && (
|
||||
<Chart
|
||||
options={chartOptions}
|
||||
options={updatedChartOptions}
|
||||
series={series}
|
||||
type="bar"
|
||||
height="100%"
|
||||
|
||||
Reference in New Issue
Block a user