1
resposta

[Dúvida] Como criar gráfico de barras

Bom dia,

Tenho um projeto na empresa em Windows Form e me pediram pra alterar um relatório existente e adicionar a imagem de um gráfico de barra com algumas informações. Alguém saberia me dizer uma biblioteca ou uma forma de gerar uma imagem de um gráfico de barras para adicionar neste relatório. Não estou falando do componente visual Chart, mas gerar o gráfico e transformar pra imagem. Obrigado

1 resposta

Olá, Jaime. Tudo bem?

Para gerar um gráfico de barras e transformá-lo em uma imagem em um projeto Windows Forms, você pode utilizar a biblioteca OxyPlot. Essa biblioteca é bastante flexível e permite criar gráficos de forma programática, além de exportá-los como imagens.

Aqui está um exemplo básico de como você pode usar o OxyPlot para criar um gráfico de barras e salvá-lo como uma imagem:

  1. Primeiro, adicione a biblioteca OxyPlot ao seu projeto. Você pode fazer isso via NuGet Package Manager, procurando por OxyPlot.WindowsForms.

  2. Depois de adicionar a biblioteca, você pode criar um gráfico de barras da seguinte forma:

using OxyPlot;
using OxyPlot.Series;
using OxyPlot.WindowsForms;

public void CriarGraficoDeBarras()
{
    // Cria um novo modelo de gráfico
    var modelo = new PlotModel { Title = "Exemplo de Gráfico de Barras" };

    // Cria uma série de barras
    var serieDeBarras = new BarSeries
    {
        ItemsSource = new List<BarItem>(new[]
        {
            new BarItem { Value = 10 },
            new BarItem { Value = 20 },
            new BarItem { Value = 30 }
        }),
        LabelPlacement = LabelPlacement.Inside,
        LabelFormatString = "{0:.00}"
    };

    // Adiciona a série de barras ao modelo
    modelo.Series.Add(serieDeBarras);

    // Cria um controle PlotView para renderizar o gráfico
    var plotView = new PlotView();
    plotView.Model = modelo;

    // Salva o gráfico como uma imagem
    var pngExporter = new PngExporter { Width = 600, Height = 400, Background = OxyColors.White };
    pngExporter.ExportToFile(modelo, "graficoDeBarras.png");
}

Este exemplo cria um gráfico de barras simples com três barras e salva a imagem como "graficoDeBarras.png". Você pode personalizar o gráfico com mais dados e ajustar o estilo conforme necessário.

Espero ter entendido certo e conseguido ajudar.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!