Este é um exemplo mínimo de como criar um gráfico TGraph no ROOT. Ele gera um gráfico de uma onda senoidal.
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`If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow
