Exemplo mínimo de gráfico TGraph no ROOT

Este é um exemplo mínimo de como criar um gráfico TGraph no ROOT. Ele gera um gráfico de uma onda senoidal.

Legenda

sine_wave.cpp
#include <TGraph.h>
#include <TCanvas.h>
#include <TAxis.h>
#include <TApplication.h>
#include <cmath>
#include <memory>  // Para std::make_unique

int main(int argc, char **argv) {
    TApplication app("app", &argc, argv);

    // Número de pontos
    const int nPoints = 100;
    double x[nPoints], y[nPoints];

    // Preencher arrays com valores x e y (onda senoidal)
    for (int i = 0; i < nPoints; ++i) {
        x[i] = i * 0.1;            // valores de x
        y[i] = sin(x[i]);           // valores de y (seno de x)
    }

    // Usar std::make_unique para criar um unique_ptr para TCanvas e TGraph
    auto canvas = std::make_unique<TCanvas>("canvas", "Sine Wave", 800, 600);
    auto graph = std::make_unique<TGraph>(nPoints, x, y);

    // Definir título e rótulos dos eixos
    graph->SetTitle("Sine Wave;X-axis;Y-axis");
    graph->SetLineColor(kBlue);  // Definir cor da linha

    // Desenhar o gráfico
    graph->Draw("AL");  // "A" para eixo, "L" para linha

    // Executar a aplicação para exibir o gráfico
    app.Run();

    return 0;
}

Compile usando

compile_sine_wave.sh
g++ -o sine_wave sine_wave.cpp `root-config --cflags --glibs`

Check out similar posts by category: ROOT C/C++