/usr/share/doc/libplplot12/examples/ada/x12a.adb is in libplplot-ada1-dev 5.10.0+dfsg2-0.1ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | -- $Id: x12a.adb 12212 2012-08-13 23:17:31Z airwin $
-- Bar chart demo.
-- Copyright (C) 2006 Jerry Bauck
-- This file is part of PLplot.
-- PLplot is free software; you can redistribute it and/or modify
-- it under the terms of the GNU Library General Public License as published
-- by the Free Software Foundation; either version 2 of the License, or
-- (at your option) any later version.
-- PLplot is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU Library General Public License for more details.
-- You should have received a copy of the GNU Library General Public License
-- along with PLplot; if not, write to the Free Software
-- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
with
Ada.Numerics,
Ada.Numerics.Long_Elementary_Functions,
Ada.Strings,
Ada.Strings.Fixed,
PLplot_Auxiliary,
PLplot_Traditional;
use
Ada.Numerics,
Ada.Numerics.Long_Elementary_Functions,
Ada.Strings,
Ada.Strings.Fixed,
PLplot_Auxiliary,
PLplot_Traditional;
------------------------------------------------------------------------------
-- Does a simple bar chart, using color fill. If color fill is
-- unavailable, pattern fill is used instead (automatic).
------------------------------------------------------------------------------
procedure x12a is
y0 : Real_Vector (0 .. 9);
pos : Real_Vector (0 .. 4) := (0.0, 0.25, 0.5, 0.75, 1.0);
r : Real_Vector (0 .. 4) := (0.0, 0.25, 0.5, 1.0, 1.0);
g : Real_Vector (0 .. 4) := (1.0, 0.5, 0.5, 0.5, 1.0);
b : Real_Vector (0 .. 4) := (1.0, 1.0, 0.5, 0.25, 0.0);
procedure plfbox (x0, y0 : Long_Float) is
x, y : Real_Vector (0 ..3);
begin
x(0) := x0;
y(0) := 0.0;
x(1) := x0;
y(1) := y0;
x(2) := x0 + 1.0;
y(2) := y0;
x(3) := x0 + 1.0;
y(3) := 0.0;
plfill(x, y);
plcol0(1);
pllsty(1);
plline(x, y);
end plfbox;
begin
-- Parse and process command line arguments.
plparseopts(PL_PARSE_FULL);
-- Initialize plplot.
plinit;
pladv(0);
plvsta;
plwind(1980.0, 1990.0, 0.0, 35.0);
plbox("bc", 1.0, 0, "bcnv", 10.0, 0);
plcol0(2);
pllab("Year", "Widget Sales (millions)", "#frPLplot Example 12");
y0(0) := 5.0;
y0(1) := 15.0;
y0(2) := 12.0;
y0(3) := 24.0;
y0(4) := 28.0;
y0(5) := 30.0;
y0(6) := 20.0;
y0(7) := 8.0;
y0(8) := 12.0;
y0(9) := 3.0;
plscmap1l(RGB, pos, r, g, b, Alt_Hue_Path_None);
for i in y0'range loop
plcol1(Long_Float(i)/9.0);
plpsty(0);
plfbox((1980.0 + Long_Float(i)), y0(i));
plptex(1980.0 + Long_Float(i) + 0.5, y0(i) + 1.0, 1.0, 0.0, 0.5, Trim(Integer'image(Integer(y0(i))), Left));
plmtex("b", 1.0, (Long_Float(i) + 1.0) * 0.1 - 0.05, 0.5, Trim(Integer'image(1980 + i), Left));
end loop;
-- Don't forget to call plend to finish off!
plend;
end x12a;
|