ROOT: Why TStyle::SetStatFontSize() doesn't work?

I need a larger statics font size, but it does't work:


Reason for this problem:

/*
 * =====================================================================================
 *
 *       FILENAME:  SetStatFontSize.cpp
 *
 *        VERSION:  1.0
 *        CREATED:  08/27/13 23:58:26
 *   LAST CHANGED: 08/28/2013 02:08:48
 *         AUTHOR:  
 *   ORGANIZATION:  HEP group @ PKU
 *       COMPILER:  gcc
 *
 *    DESCRIPTION:  ROOT couldn't automatically resize the width of statics box,
 *    so TStyle::SetStatFontSize() has no effect when the font's size is larger than
 *    the box. Therefore, you'd better reset new width by calling TStyle::SetStatW() 
 *    whenever you call TStyle::SetStatFontSize(). Note: The height of the box can be
 *    resize automatically.
 *
 * =====================================================================================
 */
#include <TH1D.h>
#include <TCanvas.h>
#include <TStyle.h>

void SetStatFontSize()
{
  TH1D* h = new TH1D("h","h title",100,0,10.);
  h->Fill(1);

  TCanvas* c = new TCanvas("c","",500,500);
  gStyle->SetStatFontSize(0.14);

  //To make sure SetStatFontSize() does work, you need next statement:
  gStyle->SetStatW(0.7); 

  h->Draw();
}
New output with above codes:

That's maybe a bug of TH class in ROOT.

發佈了16 篇原創文章 · 獲贊 8 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章