Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
rlegend.cxx File Reference

Detailed Description

This macro generates two TH1D objects and build RLegend In addition use of auto colors are shown.

/*************************************************************************
* Copyright (C) 1995-2019, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#include "ROOT/RCanvas.hxx"
#include "ROOT/RLegend.hxx"
#include "TRandom.h"
using namespace ROOT::Experimental;
void rlegend()
{
// Create the histograms.
RAxisConfig xaxis(25, 0., 10.);
auto pHist = std::make_shared<RH1D>(xaxis);
auto pHist2 = std::make_shared<RH1D>(xaxis);
for (int n=0;n<1000;n++) {
pHist->Fill(gRandom->Gaus(3,0.8));
pHist2->Fill(gRandom->Gaus(7,1.2));
}
// Create a canvas to be displayed.
auto canvas = RCanvas::Create("RLegend example");
// add palette to canvas, it will not be seen on the canvas but used for colors
canvas->Draw<RPaletteDrawable>(RPalette({{0., RColor::kWhite}, {.3, RColor::kRed}, {.7, RColor::kBlue}, {1., RColor::kBlack}}), false);
// draw first histogram
auto draw1 = canvas->Draw(pHist);
draw1->line.width = 2.f;
draw1->line.color = .3f; // should be red color
// draw second histogram
auto draw2 = canvas->Draw(pHist2);
draw2->line.width = 4.f;
draw2->line.color = .7f; // should be blue color
auto legend = canvas->Draw<RLegend>("Legend title");
legend->fill.color = RColor(0, 0, 120, 25);
legend->fill.style = RAttrFill::k3019;
legend->border.color = RColor::kRed;
legend->border.width = 2;
legend->AddEntry(draw1, "histo1", "l");
legend->AddEntry(draw2, "histo2", "l");
// add custom entry, showing line, fill and marker attributes
auto custom = legend->AddEntry("test", "lfm");
custom->line.color = RColor::kGreen;
custom->line.width = 5.;
custom->line.style = RAttrLine::kSolid;
custom->fill.color = RColor::kBlue;
custom->fill.style = RAttrFill::k3004;
custom->marker.color = RColor::kRed;
custom->marker.size = 0.03;
custom->marker.style = RAttrMarker::kOpenCross;
canvas->SetSize(1000, 700);
canvas->Show();
}
R__EXTERN TRandom * gRandom
Definition TRandom.h:62
Objects used to configure the different axis types.
static std::shared_ptr< RCanvas > Create(const std::string &title)
Create new canvas instance.
Definition RCanvas.cxx:89
The color class.
Definition RColor.hxx:33
static R__DLLEXPORT constexpr RGB_t kRed
Definition RColor.hxx:191
static R__DLLEXPORT constexpr RGB_t kGreen
Definition RColor.hxx:179
static R__DLLEXPORT constexpr RGB_t kWhite
Definition RColor.hxx:193
static R__DLLEXPORT constexpr RGB_t kBlack
Definition RColor.hxx:178
static R__DLLEXPORT constexpr RGB_t kBlue
Definition RColor.hxx:186
A color palette draw near the frame.
const Int_t n
Definition legend1.C:16
Date
2019-10-09
Warning
This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback is welcome!
Author
Sergey Linev s.lin.nosp@m.ev@g.nosp@m.si.de

Definition in file rlegend.cxx.