IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 10849


Ignore:
Timestamp:
Dec 29, 2006, 8:29:12 AM (20 years ago)
Author:
magnier
Message:

adding simple vector pair plot

Location:
trunk/psModules/src/extras
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/extras/pmKapaPlots.c

    r10827 r10849  
    77 *  @author EAM, IfA
    88 *
    9  *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2006-12-23 04:00:30 $
     9 *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2006-12-29 18:29:12 $
    1111 *
    1212 *  Copyright 2006 Institute for Astronomy, University of Hawaii
     
    5656}
    5757
     58bool pmKapaPlotVectorPair (psVector *xVec, psVector *yVec)
     59{
     60
     61    Graphdata graphdata;
     62
     63    int kapa = pmKapaOpen (true);
     64    if (kapa == -1) {
     65        psError(PS_ERR_UNKNOWN, true, "failure to open kapa");
     66        return false;
     67    }
     68
     69    if (xVec->n != yVec->n)
     70        return false;
     71
     72    KapaInitGraph (&graphdata);
     73    KapaClear (kapa, FALSE);
     74
     75    // set limits based on data values
     76    graphdata.xmin = FLT_MAX;
     77    graphdata.xmax = FLT_MIN;
     78    graphdata.ymin = FLT_MAX;
     79    graphdata.ymax = FLT_MIN;
     80    for (int i = 0; i < xVec->n; i++) {
     81        graphdata.xmin = PS_MIN (graphdata.xmin, xVec->data.F32[i]);
     82        graphdata.xmax = PS_MAX (graphdata.xmax, xVec->data.F32[i]);
     83        graphdata.ymin = PS_MIN (graphdata.ymin, yVec->data.F32[i]);
     84        graphdata.ymax = PS_MAX (graphdata.ymax, yVec->data.F32[i]);
     85    }
     86    // add 5% to range
     87    float range;
     88
     89    range = graphdata.xmax - graphdata.xmin;
     90    graphdata.xmax += 0.05*range;
     91    graphdata.xmin -= 0.05*range;
     92
     93    range = graphdata.ymax - graphdata.ymin;
     94    graphdata.ymax += 0.05*range;
     95    graphdata.ymin -= 0.05*range;
     96
     97    KapaSetLimits (kapa, &graphdata);
     98    KapaSetFont (kapa, "helvetica", 14);
     99    KapaBox (kapa, &graphdata);
     100
     101    graphdata.color = KapaColorByName ("black");
     102    graphdata.ptype = 0;
     103    graphdata.size = 0.5;
     104    graphdata.style = 2;
     105    KapaPrepPlot (kapa, xVec->n, &graphdata);
     106    KapaPlotVector (kapa, xVec->n, xVec->data.F32);
     107    KapaPlotVector (kapa, yVec->n, yVec->data.F32);
     108
     109    return true;
     110}
     111
    58112# else
    59113
     
    68122}
    69123
     124bool pmKapaPlotVectorPair (psVector *xVec, psVector *yVec)
     125{
     126    return false;
     127}
     128
    70129# endif
  • trunk/psModules/src/extras/pmKapaPlots.h

    r10827 r10849  
    77*  @author EAM, IfA
    88*
    9 *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
    10 *  @date $Date: 2006-12-23 04:00:30 $
     9*  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
     10*  @date $Date: 2006-12-29 18:29:12 $
    1111*
    1212*  Copyright 2006 Institute for Astronomy, University of Hawaii
     
    1919int pmKapaOpen (bool showWindow);
    2020bool pmKapaClose ();
     21bool pmKapaPlotVectorPair (psVector *xVec, psVector *yVec);
    2122
    2223#endif // PM_KAPA_PLOTS_H
Note: See TracChangeset for help on using the changeset viewer.