Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-4230

Problem using logarithmic color axis/colz with TNtuple

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • High
    • Resolution: Clarified
    • None
    • None
    • Graphics
    • None
    • GNU/Linux

    Description

      Hi,

      I am trying to plot 3 sets of data using TNtuple with a logarithmic color/z-axis.
      Actually in my case "SetLogz()" doesn't work.
      More precisely, it's possible to make the z-axis logarithmic but it won't be linked to the color code in the plot

      Below one simple example :

      [code]
      #include <TStyle.h>
      #include <TCanvas.h>
      #include <TNtuple.h>
      {
      TNtuple* nt = new TNtuple("nt","","a:b:c"
      TCanvas *Can = new TCanvas("Can","",200,10,600,400);

      Double_t x[16] =

      {1.00, 2.00, 6.00, 7.00, 3.00, 10.00, 0.20, 5.55, 20.50, 9.75, 1.50, 8.00, 5.00, 0.95, 3.85, 8.70};
      Double_t y[16] = {1.00, 2.00, 6.00, 7.00, 3.00, 10.00, 0.20, 5.55,20.50, 9.75, 1.50, 8.00, 5.00, 0.95, 3.85, 8.70}

      ;
      Double_t z[16] =

      {0.001, 2.50, 600.00, 0.00001, 30.00, 10.001, 0.00020, 500000.55, 20.50, 9.75, 280000.50, 8.00, 5.00, 0.95, 3.85, 8.70}

      ;

      Double_t x3, y3, z3;

      for(Int_t h1 =0;h1<16;++h1)
      {
      x3 = x[h1];
      y3 = y[h1];
      z3 = z[h1]; nt->Fill(x3,y3,z3);
      }
      gPad->SetLogz(1);
      Can->SetTickx(1);
      gStyle->SetOptStat(0);
      gStyle->SetPalette(1,0);
      nt->SetMarkerStyle(20);
      nt->SetMarkerSize(1);
      nt->Draw("b:a:c","c","colz"
      }
      [/code]

      Normally the point with z=280000.50 should be in red when z-axis is logarithmic, but it's not the case.

      If i try a brutal fix like :

      [code]
      if (gPad->GetLogz()) nt->Draw("b:a:log10(c)*(c>0)", "", "colz"
      else nt->Draw("b:a:c", "", "colz"
      [/code]

      the problem is still here.
      For instance for the isolated point in the plot, with z=20.5, if we take log10(20.5), approximately = 1.3, logarithmic scale shows us that z would be around 0.2 - 0.3.

      Thanks

      Attachments

        Activity

          People

            couet Olivier Couet
            none None (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: