Charts Overview
A 2x2 grid of area, bar, line, and pie charts.
Card
Chart
Preview
Website Traffic
Monthly visitors over time
Revenue by Channel
Direct vs referral revenue
User Growth
Monthly active users
Traffic Sources
Visitors by browser
Code
<div class="w-full max-w-4xl grid grid-cols-1 md:grid-cols-2 gap-4">
<BbCard>
<BbCardHeader>
<BbCardTitle>Website Traffic</BbCardTitle>
<BbCardDescription>Monthly visitors over time</BbCardDescription>
</BbCardHeader>
<BbCardContent>
<BbAreaChart Data="@trafficData" Config="@trafficConfig" Height="250px">
<BbXAxis DataKey="month" />
<BbYAxis />
<BbChartTooltip />
<BbArea DataKey="visitors" Curve="CurveType.Smooth" FillOpacity="0.3" />
</BbAreaChart>
</BbCardContent>
</BbCard>
<BbCard>
<BbCardHeader>
<BbCardTitle>Revenue by Channel</BbCardTitle>
<BbCardDescription>Direct vs referral revenue</BbCardDescription>
</BbCardHeader>
<BbCardContent>
<BbBarChart Data="@revenueData" Config="@revenueConfig" Height="250px">
<BbXAxis DataKey="month" />
<BbYAxis />
<BbChartTooltip />
<BbBar DataKey="direct" />
<BbBar DataKey="referral" />
</BbBarChart>
</BbCardContent>
</BbCard>
<BbCard>
<BbCardHeader>
<BbCardTitle>User Growth</BbCardTitle>
<BbCardDescription>Monthly active users</BbCardDescription>
</BbCardHeader>
<BbCardContent>
<BbLineChart Data="@growthData" Config="@growthConfig" Height="250px">
<BbXAxis DataKey="month" />
<BbYAxis />
<BbChartTooltip />
<BbLine DataKey="users" Curve="CurveType.Smooth" />
</BbLineChart>
</BbCardContent>
</BbCard>
<BbCard>
<BbCardHeader>
<BbCardTitle>Traffic Sources</BbCardTitle>
<BbCardDescription>Visitors by browser</BbCardDescription>
</BbCardHeader>
<BbCardContent>
<BbPieChart Data="@sourceData" Config="@sourceConfig" Height="250px">
<BbChartTooltip />
<BbChartLegend />
<BbPie DataKey="value" NameKey="name" InnerRadius="60" />
</BbPieChart>
</BbCardContent>
</BbCard>
</div>
@code {
private record TrafficData(string Month, int Visitors);
private List<TrafficData> trafficData = new()
{
new("Jan", 4000), new("Feb", 3000), new("Mar", 5000),
new("Apr", 4500), new("May", 6000), new("Jun", 5500)
};
private ChartConfig trafficConfig = ChartConfig.Create(
("visitors", new ChartSeriesConfig { Label = "Visitors", Color = "var(--chart-1)" })
);
private record RevenueData(string Month, int Direct, int Referral);
private List<RevenueData> revenueData = new()
{
new("Jan", 4000, 2400), new("Feb", 3000, 1398), new("Mar", 2000, 9800),
new("Apr", 2780, 3908), new("May", 1890, 4800), new("Jun", 2390, 3800)
};
private ChartConfig revenueConfig = ChartConfig.Create(
("direct", new ChartSeriesConfig { Label = "Direct", Color = "var(--chart-1)" }),
("referral", new ChartSeriesConfig { Label = "Referral", Color = "var(--chart-2)" })
);
private record GrowthData(string Month, int Users);
private List<GrowthData> growthData = new()
{
new("Jan", 2400), new("Feb", 1398), new("Mar", 9800),
new("Apr", 3908), new("May", 4800), new("Jun", 3800)
};
private ChartConfig growthConfig = ChartConfig.Create(
("users", new ChartSeriesConfig { Label = "Users", Color = "var(--chart-3)" })
);
private record SourceData(string Name, int Value, string Fill);
private List<SourceData> sourceData = new()
{
new("Chrome", 275, "var(--chart-1)"),
new("Safari", 200, "var(--chart-2)"),
new("Firefox", 187, "var(--chart-3)"),
new("Edge", 173, "var(--chart-4)"),
new("Other", 90, "var(--chart-5)")
};
private ChartConfig sourceConfig = ChartConfig.Create(
("chrome", new ChartSeriesConfig { Label = "Chrome", Color = "var(--chart-1)" }),
("safari", new ChartSeriesConfig { Label = "Safari", Color = "var(--chart-2)" }),
("firefox", new ChartSeriesConfig { Label = "Firefox", Color = "var(--chart-3)" }),
("edge", new ChartSeriesConfig { Label = "Edge", Color = "var(--chart-4)" }),
("other", new ChartSeriesConfig { Label = "Other", Color = "var(--chart-5)" })
);
}