Changeset 345 for trunk/lib/Stats.cc


Ignore:
Timestamp:
May 19, 2007, 6:59:16 PM (14 years ago)
Author:
Peter Johansson
Message:

fixes #192

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/Stats.cc

    r265 r345  
    162162
    163163
    164   std::string Stats::plot(const std::string& filename,
    165                           const std::string& linetype) const
     164  void Stats::plot_init(const std::string& filename) const
    166165  {
    167166    GnuplotFE* gp=GnuplotFE::instance();
     
    173172    gp->command("set key left Left reverse");
    174173    gp->command("set multiplot");
     174  }
     175
     176  std::string Stats::plot(const std::string& filename,
     177                          const std::string& linetype) const
     178  {
     179    plot_init(filename);
     180    GnuplotFE* gp=GnuplotFE::instance();
    175181    const Map_* stat=NULL;
    176182    if (linetype=="total")
     
    216222
    217223
     224  void Stats::plot_summary(const std::string& filename) const
     225  {
     226    plot_init(filename);
     227    GnuplotFE* gp=GnuplotFE::instance();
     228    std::vector<u_int> total=accumulated(total_);   
     229    double yrange_max=1.03*total.back()+1;
     230    gp->yrange(yrange_max);
     231    std::stringstream ss;
     232   
     233    ss.str("");
     234    std::vector<u_int> x=accumulated(code_);   
     235    ss << x.back() << " code";
     236    gp->command("set key height 2");
     237    gp->linetitle(ss.str());
     238    gp->linestyle("steps 2");
     239    gp->plot(x);
     240
     241    ss.str("");
     242    x=accumulated(comments_);   
     243    ss << x.back() << " comment";
     244    gp->command("set key height 4");
     245    gp->linetitle(ss.str());
     246    gp->linestyle("steps 3");
     247    gp->plot(x);
     248
     249    ss.str("");
     250    x=accumulated(empty_);   
     251    ss << x.back() << " other";
     252    gp->command("set key height 6");
     253    gp->linetitle(ss.str());
     254    gp->linestyle("steps 4");
     255    gp->plot(x);
     256
     257    ss.str("");
     258    ss << total.back() << " total";
     259    gp->command("set key height 0");
     260    gp->linetitle(ss.str());
     261    gp->linestyle("steps 1");
     262    gp->plot(total);
     263
     264    gp->command("unset multiplot");
     265    gp->yrange();
     266   
     267  }
     268
     269
    218270  Stats& Stats::operator+=(const Stats& other)
    219271  {
Note: See TracChangeset for help on using the changeset viewer.