Gráficos dinâmicos em ASP.NET usando Chart.js e JSON

Gráficos dinâmicos em ASP.NET usando Chart.js

Gráficos dinâmicos em ASP.NET usando Chart.js e JSON

Introdução

Em aplicações web modernas, a visualização dinâmica de dados é crucial para uma melhor tomada de decisões e interação do usuário. Gráficos dinâmicos são uma excelente maneira de representar dados visualmente. Neste artigo, discutiremos como criar gráficos dinâmicos em uma aplicação ASP.NET usando Chart.js e JSON como fonte de dados.

Por que Chart.js?

Chart.js é uma biblioteca JavaScript simples, porém poderosa, que permite aos desenvolvedores criar gráficos interativos, responsivos e personalizáveis. Ela suporta vários tipos de gráficos, incluindo gráficos de barras, linhas, pizza e radar.

Cenário

Nosso objetivo é criar um gráfico de barras em um aplicativo ASP.NET que recupera dados dinamicamente de um objeto JSON. Essa abordagem pode ser estendida para buscar dados de um banco de dados por meio de APIs Web ou outras fontes dinâmicas.

Implementação passo a passo

1. Adicione Chart.js ao seu projeto

Inclua Chart.js na sua página HTML. Você pode usar um link CDN para simplificar:

<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>

2. Crie dados JSON

Em um cenário real, os dados JSON provavelmente virão de um servidor. Aqui está um exemplo estático para demonstração:

 [
 { "category": "Category 1", "value": 10 },
 { "category": "Category 2", "value": 20 },
 { "category": "Category 3", "value": 30 },
 { "category": "Category 4", "value": 40 }
 ]

Você pode gerar esse JSON dinamicamente no seu backend ASP.NET usando uma ação do controlador ou um manipulador:

 
[HttpGet]
 public JsonResult GetChartData()
 {
 var data = new[]
 {
 new { category = "Category 1", value = 10 },
 new { category = "Category 2", value = 20 },
 new { category = "Category 3", value = 30 },
 new { category = "Category 4", value = 40 }
 };
 return Json(data, JsonRequestBehavior.AllowGet);
 }

3. Crie uma estrutura HTML

Adicione um elemento <canvas> para renderizar o gráfico:

<canvas id="myChart" width="400" height="200"></canvas>

4. Busque dados JSON e renderize o gráfico

Use JavaScript para buscar dados JSON e renderizar o gráfico dinamicamente. Abaixo está o código JavaScript completo:

 
document.addEventListener("DOMContentLoaded", function () {
 // Fetch JSON data from the server
 fetch('/YourController/GetChartData') // Replace with your ASP.NET endpoint
 .then(response => response.json())
 .then(jsonData => {
 // Parse JSON data
 const labels = jsonData.map(item => item.category);
 const data = jsonData.map(item => item.value);

 // Render the chart
 const ctx = document.getElementById("myChart").getContext("2d");
 new Chart(ctx, {
 type: 'bar',
 data: {
 labels: labels,
 datasets: [{
 label: 'Values',
 data: data, 
cor de fundo: 'rgba(75, 192, 192, 0.2)',
 borderColor: 'rgba(75, 192, 192, 1)',
 largura da borda: 1
 }]
 },
 opções: {
 responsivo: verdadeiro,
 escalas: {
 e: {
 beginAtZero: verdadeiro
 }
 }
 }
 });
 })
 .catch(error => console.error('Erro ao buscar dados JSON:', erro));
 });

Resultado final

Quando a página for carregada, o gráfico será renderizado dinamicamente com base nos dados JSON obtidos do servidor. Você pode personalizar o tipo, as cores e a aparência do gráfico usando as opções do Chart.js.

Estendendo a Solução

  • Obtendo dados de um banco de dados: use o Entity Framework ou o ADO.NET no seu backend ASP.NET para recuperar dados de um banco de dados e convertê-los em JSON.
  • Adicionando interatividade: torne seu gráfico interativo usando eventos do Chart.js ou atualizando dados dinamicamente em tempo real.
  • Vários tipos de gráficos: crie vários gráficos (linha, pizza, etc.) na mesma página reutilizando a lógica e especificando diferentes tipos de gráficos.

Conclusão

Gráficos dinâmicos aprimoram a experiência do usuário, fornecendo uma representação clara e concisa dos dados. Usar Chart.js em uma aplicação ASP.NET é simples e escalável. Com a capacidade de buscar dados dinamicamente em JSON, você pode integrar gráficos a painéis, relatórios e outras aplicações orientadas a dados perfeitamente.

Voltar para o blogue
  • ChatGPT Uncovered Podcast

    Podcast descoberto do ChatGPT

    Pedro Martins

    Podcast descoberto do ChatGPT Podcast descoberto do ChatGPT Explorando as fronteiras dos modelos de conversação de IA Episódio 1: Compreendendo o ChatGPT Publicado em: 15 de maio de 2023 Seu...

    Podcast descoberto do ChatGPT

    Pedro Martins

    Podcast descoberto do ChatGPT Podcast descoberto do ChatGPT Explorando as fronteiras dos modelos de conversação de IA Episódio 1: Compreendendo o ChatGPT Publicado em: 15 de maio de 2023 Seu...

  • Power Apps In-Depth Podcast

    Podcast detalhado do Power Apps

    Pedro Martins

    Podcast detalhado do Power Apps Podcast detalhado do Power Apps Explorando os recursos do Microsoft Power Apps Episódio 1: Introdução ao Power Apps Publicado em: 20 de abril de 2023...

    Podcast detalhado do Power Apps

    Pedro Martins

    Podcast detalhado do Power Apps Podcast detalhado do Power Apps Explorando os recursos do Microsoft Power Apps Episódio 1: Introdução ao Power Apps Publicado em: 20 de abril de 2023...

  • Exploring Power Pages Podcast

    Explorando o podcast Power Pages

    Pedro Martins

    Explorando o podcast Power Pages Explorando o podcast Power Pages Mergulhando no mundo das Power Pages da Microsoft Episódio 1: Primeiros passos com Power Pages Publicado em: 10 de março...

    Explorando o podcast Power Pages

    Pedro Martins

    Explorando o podcast Power Pages Explorando o podcast Power Pages Mergulhando no mundo das Power Pages da Microsoft Episódio 1: Primeiros passos com Power Pages Publicado em: 10 de março...

1 de 3