# hitcount3

How to download and try this example

    Usage: pl -gif hitcount3.htm

    Uses the data file hitcount.dat

    See also hitcount.

    This example illustrates datetime scaling with time windowing.
    Only the hours from 8 to 18 (6pm) are shown for each day.

    #proc getdata
    file: hitcount.dat
    // the following filter strips seconds from the time value,
    // then builds a ddMmmyyyy date and connects it with the time
    // value (separated by a dot)
    fieldnames: datetime nbytes
    filter: ##declare TIME
     	##set TIME = @@4
    	##set TIME = $substring(@@TIME,1,5)
    	@@3@@2@@6.@@TIME @@7

    // use proc transform to sum nbytes for each unique time value
    #proc transform
    action: count
    fields: datetime nbytes
    showresults: no

    #proc print
    label: After transform: nrecords=@NRECORDS nfields=@NFIELDS

    // set up plotting area with datetime in X and autorange on the y axis.
    // do x axis showing day of week and y axis
    #proc areadef
    title: Intranet web page hits
    rectangle: 1 1 6 2.5
    xscaletype: datetime8-18 ddMmmyyyy.hh:mm
    xrange: 26Sep1999.08:00 02Oct1999.18:00
    yautorange: datafield=nbytes nearest=20000
    xaxis.stubs: inc 1 day
    xaxis.stubformat: Www
    xaxis.stubslide: 0.4
    xaxis.minorticinc: 6 hours
    xaxis.grid: width=0.3 color=purple
    yaxis.stubs: inc 50 1000
    yaxis.label: kBytes Transferred
    yaxis.labeldistance: 0.6
    frame: yes

    // do a 2nd X axis with month and day
    #proc xaxis
    stubs: inc 1 day
    stubformat: Mmmdd
    stubslide: 0.4
    stubdetails: adjust=0,-0.14

    // use proc yaxis again to do grid lines at every 100 kB
    //#proc yaxis
    //grid: color=orange
    //gridskip: min
    //ticincrement: 100 1000

    // make bar graph
    #proc bars
    locfield: datetime
    lenfield: nbytes
    thinbarline: color=green