# Example 11 -- Fancy plot .thin. = 0.5 # for whole data set .thick. = 2 # for bravo time period .gray_for_guiding_lines. = 0.75 # for guiding lines .tmin. = 1964 # time axis .tmax. = 1974 .tinc. = 5 .tincinc. = 1 .missing_value. = -9 \file = "./example11.dat" # # Guiding lines to draw on both panels. # .1xl. = 1962 .1yb. = -3 .1xr. = 1968 .1yt. = 3 .1slope. = {rpn .1yt. .1yb. - .1xr. .1xl. - /} .1intercept. = {rpn .1yb. .1slope. .1xl. * -} .2xl. = 1966.4 .2yb. = 3 .2xr. = 1980 .2yt. = -1 .2slope. = {rpn .2yt. .2yb. - .2xr. .2xl. - /} .2intercept. = {rpn .2yb. .2slope. .2xl. * -} # # PANEL 1: Bravo time period. # set x margin 3 set x size 15 set y margin 3 set y size 5 # Draw border big enough for this and next panel. draw border box {rpn ..xmargin.. 2 -} {rpn ..ymargin.. 2 -} {rpn ..xmargin.. ..xsize.. + 2 +} {rpn ..ymargin.. ..ysize.. 2 * 3 + + 2 +} 0.2 0.75 set missing value .missing_value. set ignore error eof set x name "Year" set x axis .tmin. .tmax. .tinc. .tincinc. set y name "Area / 10$^5$km$^2$" set y axis -3 3 1 draw axes # # Draw index lines 1 and 2. # # Upward sloped line. set line width .thin. set graylevel .gray_for_guiding_lines. if {rpn .1intercept. ..xright.. .1slope. * + ..ytop.. <} draw line from \ ..xleft.. \ {rpn .1intercept. ..xleft.. .1slope. * +} \ to \ {rpn ..ytop.. .1intercept. - .1slope. /} \ ..ytop.. else draw line from \ ..xleft.. \ {rpn .1intercept. ..xleft.. .1slope. * +} \ to \ ..xright.. \ {rpn .1intercept. ..xright.. .1slope. * +} end if set graylevel 0 # # Downward sloped line. set line width .thin. set graylevel .gray_for_guiding_lines. if {rpn .2intercept. ..xleft.. .2slope. * + ..ytop.. <} draw line from \ {rpn ..ytop.. .2intercept. - .2slope. /} \ ..ytop.. \ to \ ..xright.. \ {rpn .2intercept. ..xright.. .2slope. * +} else draw line from \ ..xleft.. \ {rpn .2intercept. ..xleft.. .2slope. * +} \ to \ ..xright.. \ {rpn .2intercept. ..xright.. .2slope. * +} end if set graylevel 0 # # Finally, draw the data curve on top, after first # whiting out a background. set input data window x .tmin. .tmax. open \file read columns x y close y /= 1e5 set line width ..linewidthaxis.. draw zero line set line width {rpn .thick. 3 *} set graylevel 1 draw curve set graylevel 0 set line width .thick. draw curve # # PANEL 2: Longer timescale. # delete x scale set x margin bigger 5 set x size 10 set x name "" set y name "" set y margin bigger {rpn ..ysize.. 3 +} # # Draw long data set in thin pen. set input data window x off open \file read columns x y close y /= 1e5 # # Draw guiding lines, axes, etc. set x axis 1952 1980 5 1 draw axes frame set line width .thin. set graylevel .gray_for_guiding_lines. draw line from .1xl. .1yb. to .1xr. .1yt. draw line from .2xl. .2yb. to .2xr. .2yt. set graylevel 0 set line width ..linewidthaxis.. draw zero line draw x axis at bottom .old. = ..fontsize.. set font size 0 draw y axis at left set font size .old. delete .old. # # Draw full curve (first whiting out region around it). set line width {rpn .thin. 4 *} set graylevel 1 draw curve set graylevel 0 set line width .thin. draw curve # # Draw bravo time period (first whiting out region around it). set input data window x .tmin. .tmax. open \file read columns x y close y /= 1e5 set line width {rpn .thick. 3 *} set graylevel 1 draw curve set graylevel 0 set line width .thick. draw curve # # Done set font size 20 \label = "Example 11 (Arctic ice anomaly)" draw label "\label" at \ {rpn 8.5 2.54 * "\label" width - 2 /} \ {rpn ..ytop.. yusertocm 0.7 +} \ cm if !..publication.. draw time stamp end if