#!/usr/local/bin/perl use Dislin; $n = 101; $pi = 3.1415926; $f = $pi / 180.; $step = 360. / ($n - 1); for ($i = 0; $i < $n; $i++) { $xray[$i] = $i * $step; $x = $xray[$i] * $f; $y1ray[$i] = sin ($x); $y2ray[$i] = cos ($x); } Dislin::metafl ('xwin'); Dislin::disini (); Dislin::complx (); Dislin::pagera (); Dislin::axspos (450, 1800); Dislin::axslen (2200, 1200); Dislin::name ('X-axis', 'X'); Dislin::name ('Y-axis', 'Y'); Dislin::digits (-1, 'X'); Dislin::ticks (10, 'XY'); Dislin::titlin ('Demonstration of CURVE', 1); Dislin::titlin ('SIN (X), COS (X)', 3); Dislin::graf (0., 360., 0., 90., -1., 1., -1., 0.5); Dislin::title (); Dislin::color ('red'); Dislin::curve (\@xray, \@y1ray, $n); Dislin::color ('green'); Dislin::curve (\@xray, \@y2ray, $n); Dislin::color ('foreground'); Dislin::dash (); Dislin::xaxgit (); Dislin::disfin ();
#!/usr/local/bin/perl use Dislin; $ctit = 'Symbols'; Dislin::setpag ('da4p'); Dislin::metafl ('cons'); Dislin::disini (); Dislin::pagera (); Dislin::complx (); Dislin::height (60); $nl = Dislin::nlmess ($ctit); Dislin::messag ($ctit, (2100 - $nl)/2, 200); Dislin::height (50); Dislin::hsymbl (120); $ny = 150; for ($i = 0; $i < 22; $i++) { if (($i % 4) == 0) { $ny = $ny + 400; $nxp = 550; } else { $nxp = $nxp + 350; } $nl = Dislin::nlnumb ($i, -1); Dislin::number ($i, -1, $nxp - $nl/2, $ny + 150); Dislin::symbol ($i, $nxp, $ny); } Dislin::disfin ();
#!/usr/local/bin/perl use Dislin; $ctit = 'Interpolation Methods'; @xray = (0., 1., 3., 4.5, 6., 8., 9., 11., 12., 12.5, 13., 15., 16., 17., 19., 20.); @yray = (2., 4., 4.5, 3., 1., 7., 2., 3., 5., 2., 2.5, 2., 4., 6., 5.5, 4.); @cpol = ('SPLINE', 'BARS', 'STEP', 'LINEAR'); Dislin::setpag ('da4p'); Dislin::metafl ('xwin'); Dislin::disini (); Dislin::pagera (); Dislin::complx (); Dislin::incmrk (1); Dislin::hsymbl (25); Dislin::titlin ($ctit, 1); Dislin::axslen (1500, 500); Dislin::setgrf ('LINE', 'LINE', 'LINE', 'LINE'); $nya = 2700; for ($i = 0; $i < 4; $i++) { Dislin::axspos (350, $nya - $i * 500); Dislin::polcrv ($cpol[$i]); Dislin::marker (0); Dislin::graf (0., 20., 0., 5., 0., 10., 0., 5.); $nx = Dislin::nxposn (1.); $ny = Dislin::nyposn (8.); Dislin::messag ($cpol[$i], $nx, $ny); Dislin::curve (\@xray, \@yray, 16); if ($i == 3) { Dislin::height (50); Dislin::title (); } Dislin::endgrf (); } Dislin::disfin ();
#!/usr/local/bin/perl use Dislin; @x = (1., 2., 3., 4., 5., 6., 7., 8., 9.); @y = (0., 0., 0., 0., 0., 0., 0., 0., 0.); @y1 = (1., 1.5, 2.5, 1.3, 2.0, 1.2, 0.7, 1.4, 1.1); @y2 = (2., 2.7, 3.5, 2.1, 3.2, 1.9, 2.0, 2.3, 1.8); @y3 = (4., 3.5, 4.5, 3.7, 4., 2.9, 3.0, 3.2, 2.6); $nya = 2700; $ctit = 'Bar Graphs (BARS)'; Dislin::setpag ('da4p'); Dislin::metafl ('cons'); Dislin::disini (); Dislin::pagera (); Dislin::complx (); Dislin::ticks (1, 'x'); Dislin::intax (); Dislin::axslen (1600, 700); Dislin::titlin ($ctit, 3); Dislin::legini ($cbuf, 3, 8); Dislin::leglin ($cbuf, 'FIRST', 1); Dislin::leglin ($cbuf, 'SECOND', 2); Dislin::leglin ($cbuf, 'THIRD', 3); Dislin::legtit (' '); Dislin::shdpat (5); for ($i = 1; $i <= 3; $i++) { if ($i > 1) { Dislin::labels ('none','x'); } Dislin::axspos (300, $nya-($i-1)*800); Dislin::graf (0., 10., 0., 1., 0., 5., 0., 1.); if ($i == 1) { Dislin::bargrp (3, 0.15); Dislin::color ('red'); Dislin::bars (\@x, \@y, \@y1, 9); Dislin::color ('green'); Dislin::bars (\@x, \@y, \@y2, 9); Dislin::color ('blue'); Dislin::bars (\@x, \@y, \@y3, 9); Dislin::color ('fore'); Dislin::reset ('bargrp'); } elsif ($i == 2) { Dislin::height (30); Dislin::labels ('delta','bars'); Dislin::labpos ('center','bars'); Dislin::color ('red'); Dislin::bars (\@x, \@y, \@y1, 9); Dislin::color ('green'); Dislin::bars (\@x, \@y1, \@y2, 9); Dislin::color ('blue'); Dislin::bars (\@x, \@y2, \@y3, 9); Dislin::color ('fore'); Dislin::reset ('height'); } elsif ($i == 3) { Dislin::labels ('second', 'bars'); Dislin::labpos ('outside', 'bars'); Dislin::color ('red'); Dislin::bars (\@x, \@y, \@y1, 9); Dislin::color ('fore'); } if ($i != 3) { Dislin::legend ($cbuf,7); } if ($i == 3) { Dislin::height (50); Dislin::title (); } Dislin::endgrf (); } Dislin::disfin ();
#!/usr/local/bin/perl use Dislin; @xray = (1., 2.5, 2., 2.7, 1.8); $ctit = 'Pie Charts (PIEGRF)'; Dislin::setpag ('da4p'); Dislin::metafl ('cons'); Dislin::disini (); Dislin::pagera (); Dislin::complx (); Dislin::chnpie ('BOTH'); Dislin::axslen (1600, 1000); Dislin::titlin ($ctit, 2); Dislin::legini ($cbuf, 5, 8); Dislin::leglin ($cbuf, 'FIRST', 1); Dislin::leglin ($cbuf, 'SECOND', 2); Dislin::leglin ($cbuf, 'THIRD', 3); Dislin::leglin ($cbuf, 'FOURTH', 4); Dislin::leglin ($cbuf, 'FIFTH', 5); # Selecting shading patterns Dislin::patcyc (1, 7); Dislin::patcyc (2, 4); Dislin::patcyc (3, 13); Dislin::patcyc (4, 3); Dislin::patcyc (5, 5); Dislin::axspos (250, 2800); Dislin::piegrf ($cbuf, 1, \@xray, 5); Dislin::endgrf (); Dislin::axspos (250, 1600); Dislin::labels ('DATA', 'PIE'); Dislin::labpos ('EXTERNAL', 'PIE'); Dislin::piegrf ($cbuf, 1, \@xray, 5); Dislin::height (50); Dislin::title (); Dislin::disfin ();
#!/usr/local/bin/perl use Dislin; @xray = (2., 4., 6., 8., 10.); @y1ray = (0., 0., 0., 0., 0.); @y2ray = (3.2, 1.5, 2.0, 1.0, 3.0); @ic1ray = (50, 150, 100, 200, 175); @ic2ray = (50, 150, 100, 200, 175); Dislin::metafl ('cons'); Dislin::setpag ('da4p'); Dislin::disini (); Dislin::pagera (); Dislin::hwfont (); Dislin::titlin ('3-D Bar Graph / 3-D Pie Chart', 2); Dislin::htitle (40); Dislin::shdpat (16); Dislin::axslen (1500, 1000); Dislin::axspos (300, 1400); Dislin::barwth (0.5); Dislin::bartyp ('3dvert'); Dislin::labels ('second', 'bars'); Dislin::labpos ('outside', 'bars'); Dislin::labclr (255, 'bars'); Dislin::graf (0., 12., 0., 2., 0., 5., 0., 1.); Dislin::title (); Dislin::color ('red'); Dislin::bars (\@xray, \@y1ray, \@y2ray, 5); Dislin::endgrf (); Dislin::shdpat (16); Dislin::labels ('data', 'pie'); Dislin::labclr (255, 'pie'); Dislin::chnpie ('none'); Dislin::pieclr (\@ic1ray, \@ic2ray, 5); Dislin::pietyp ('3d'); Dislin::axspos (300, 2700); Dislin::piegrf ($cbuf, 0, \@y2ray, 5); Dislin::disfin ();
#!/usr/local/bin/perl use Dislin; @ix = (0, 300, 300, 0); @iy = (0, 0, 400, 400); @ixp = (0, 0, 0, 0); @iyp = (0, 0, 0, 0); $ctit = "Shading patterns (AREAF)"; Dislin::metafl ("cons"); Dislin::disini (); Dislin::setvlt ("small"); Dislin::pagera (); Dislin::complx (); Dislin::height (50); $nl = Dislin::nlmess ($ctit); Dislin::messag ($ctit, (2970 - $nl)/2, 200); $nx0 = 335; $ny0 = 350; $iclr = 0; for ($i = 0; $i < 3; $i++) { $ny = $ny0 + $i * 600; for ($j = 0; $j < 6; $j++) { $nx = $nx0 + $j * 400; $ii = $i * 6 + $j; Dislin::shdpat ($ii); $iclr = $iclr + 1; Dislin::setclr ($iclr); for ($k = 0; $k < 4; $k++) { $ixp[$k] = $ix[$k] + $nx; $iyp[$k] = $iy[$k] + $ny; } Dislin::areaf (\@ixp, \@iyp, 4); $nl = Dislin::nlnumb ($ii, -1); $nx = $nx + (300 - $nl) / 2; Dislin::color ("foreground"); Dislin::number ($ii, -1, $nx, $ny + 460); } } Dislin::disfin ();
#!/usr/local/bin/perl use Dislin; $ctit1 = '3-D Colour Plot of the Function'; $ctit2 = 'F(X,Y) = 2 * SIN(X) * SIN (Y)'; $n = 50; $m = 50; $fpi = 3.1415927 / 180.; $stepx = 360. / ($n - 1); $stepy = 360. / ($m - 1); for ($i = 0; $i < $n; $i++) { $x[$i] = $i * $stepx; for ($j = 0; $j < $m; $j++) { $y[$j] = $j * $stepy; $zmat[$i][$j] = 2 * sin($x[$i] * $fpi) * sin($y[$j] * $fpi); } } Dislin::metafl ('cons'); Dislin::disini (); Dislin::pagera (); Dislin::complx (); Dislin::titlin ($ctit1, 2); Dislin::titlin ($ctit2, 4); Dislin::name ('X-axis', 'X'); Dislin::name ('Y-axis', 'Y'); Dislin::name ('Z-axis', 'Z'); Dislin::intax (); Dislin::autres ($n, $m); Dislin::axspos (300, 1850); Dislin::ax3len (2200, 1400, 1400); Dislin::graf3 (0., 360., 0., 90., 0., 360., 0., 90., -2., 2., -2., 1.); Dislin::crvmat (\@zmat, $n, $m, 1, 1); Dislin::height (50); Dislin::title (); Dislin::disfin ();
#!/usr/local/bin/perl use Dislin; $ctit1 = 'Surface Plot of the Function'; $ctit2 = 'F(X,Y) = 2 * SIN(X) * SIN (Y)'; $n = 60; $m = 50; $fpi = 3.1415927 / 180.; $stepx = 360. / ($n - 1); $stepy = 360. / ($m - 1); for ($i = 0; $i < $n; $i++) { $x[$i] = $i * $stepx; for ($j = 0; $j < $m; $j++) { $y[$j] = $j * $stepy; $zmat[$i][$j] = 2 * sin($x[$i] * $fpi) * sin($y[$j] * $fpi); } } Dislin::metafl ('cons'); Dislin::setpag ('da4p'); Dislin::disini (); Dislin::pagera (); Dislin::complx (); Dislin::titlin ($ctit1, 2); Dislin::titlin ($ctit2, 4); Dislin::axspos (200, 2600); Dislin::axslen (1800, 1800); Dislin::name ('X-axis', 'X'); Dislin::name ('Y-axis', 'Y'); Dislin::name ('Z-axis', 'Z'); Dislin::view3d (-5., -5., 4., 'ABS'); Dislin::graf3d (0., 360., 0., 90., 0., 360., 0., 90., -3., 3., -3., 1.); Dislin::height (50); Dislin::title (); Dislin::color ('green'); Dislin::surmat (\@zmat, $n, $m, 1, 1); Dislin::disfin ();
#!/usr/local/bin/perl use Dislin; $ctit1 = 'Contour Plot of the Function'; $ctit2 = 'F(X,Y) = 2 * SIN(X) * SIN (Y)'; $n = 60; $m = 50; $fpi = 3.1415927 / 180.; $stepx = 360. / ($n - 1); $stepy = 360. / ($m - 1); for ($i = 0; $i < $n; $i++) { $xray[$i] = $i * $stepx; for ($j = 0; $j < $m; $j++) { $yray[$j] = $j * $stepy; $zmat[$i][$j] = 2 * sin($xray[$i] * $fpi) * sin($yray[$j] * $fpi); } } Dislin::metafl ('cons'); Dislin::setpag ('da4p'); Dislin::disini (); Dislin::pagera (); Dislin::complx (); Dislin::titlin ($ctit1, 2); Dislin::titlin ($ctit2, 4); Dislin::axspos (450, 2670); Dislin::name ('X-axis', 'X'); Dislin::name ('Y-axis', 'Y'); Dislin::graf (0., 360., 0., 90., 0., 360., 0., 90.); Dislin::height (30); for ($i = 0; $i < 9; $i++) { $zlev = -2. + $i * 0.5; if ($i == 4) { Dislin::labels ('NONE', 'CONTUR'); } else { Dislin::labels ('FLOAT', 'CONTUR'); } Dislin::setclr (($i+1) * 28); Dislin::contur (\@xray, $n, \@yray, $m, \@zmat, $zlev); } Dislin::color ('FORE'); Dislin::height (50); Dislin::title (); Dislin::disfin ();
#!/usr/local/bin/perl use Dislin; $ctit1 = 'Shaded Contour Plot'; $ctit2 = 'F(X,Y) = (X[2$ - 1)[2$ + (Y[2$ - 1)[2$'; $n = 50; $m = 80; $stepx = 1.6 / ($n - 1); $stepy = 1.6 / ($m - 1); for ($i = 0; $i < $n; $i++) { $xray[$i] = $i * $stepx; $x = $xray[$i] * $xray[$i] - 1.; $x2 = $x * $x; for ($j = 0; $j < $m; $j++) { $yray[$j] = $j * $stepy; $y = $yray[$j] * $yray[$j] - 1.; $y2 = $y * $y; $zmat[$i][$j] = $x2 + $y2; } } Dislin::metafl ('cons'); Dislin::setpag ('da4p'); Dislin::disini (); Dislin::pagera (); Dislin::complx (); Dislin::mixalf (); Dislin::titlin ($ctit1, 1); Dislin::titlin ($ctit2, 3); Dislin::name ('X-axis', 'X'); Dislin::name ('Y-axis', 'Y'); Dislin::axspos (450, 2670); Dislin::shdmod ('poly', 'contur'); Dislin::graf (0., 1.6, 0., 0.2, 0., 1.6, 0., 0.2); for ($i = 0; $i < 12; $i++) { $zlev[11-$i] = 0.1 + $i * 0.1; } Dislin::conshd (\@xray, $n, \@yray, $m, \@zmat, \@zlev, 12); Dislin::height (50); Dislin::title (); Dislin::disfin ();
#!/usr/local/bin/perl use Dislin; Dislin::metafl ('xwin'); Dislin::disini (); Dislin::pagera (); Dislin::complx (); Dislin::axspos (400, 1850); Dislin::axslen (2400, 1400); Dislin::name ('Longitude', 'X'); Dislin::name ('Latitude', 'Y'); Dislin::titlin ('World Coastlines and Lakes', 3); Dislin::labels ('MAP', 'XY'); Dislin::digits (-1, 'XY'); Dislin::grafmp (-180., 180., -180., 90., -90., 90., -90., 30.); Dislin::gridmp (1, 1); Dislin::color ('green'); Dislin::world (); Dislin::color ('foreground'); Dislin::height (50); Dislin::title (); Dislin::disfin ();
#!/usr/local/bin/perl use Dislin; Dislin::setpag ('da4p'); Dislin::disini (); Dislin::pagera (); Dislin::complx (); Dislin::height (40); $cstr = 'TeX Instructions for Mathematical Formulas'; $nl = Dislin::nlmess ($cstr); Dislin::messag ($cstr, (2100 - $nl)/2, 100); Dislin::texmod ('on'); Dislin::messag ('$\\frac{1}{x+y}$', 150, 400); Dislin::messag ('$\\frac{a^2 - b^2}{a+b} = a - b$', 1200, 400); Dislin::messag ('$r = \\sqrt{x^2 + y^2}', 150, 700); Dislin::messag ('$\\cos \\phi = \\frac{x}{\\sqrt{x^2 + y^2}}$', 1200, 700); Dislin::messag ('$\\Gamma(x) = \\int_0^\\infty e^{-t}t^{x-1}dt$', 150, 1000); Dislin::messag ('$\\lim_{x \\to \\infty} (1 + \\frac{1}{x})^x = e$', 1200, 1000); Dislin::messag ('$\\mu = \\sum_{i=1}^n x_i p_i$', 150, 1300); Dislin::messag ('$\\mu = \\int_{-\\infty}^ \\infty x f(x) dx$', 1200, 1300); Dislin::messag ('$\\overline{x} = \\frac{1}{n} \\sum_{i=1}^n x_i$', 150, 1600); Dislin::messag ('$s^2 = \\frac{1}{n-1} \\sum_{i=1}^n (x_i - \\overline{x})^2$', 1200, 1600); Dislin::messag ('$\\sqrt[n]{\\frac{x^n - y^n}{1 + u^{2n}}}$', 150, 1900); Dislin::messag ('$\\sqrt[3]{-q + \\sqrt{q^2 + p^3}}$', 1200, 1900); Dislin::messag ('$\\int \\frac{dx}{1+x^2} = \\arctan x + C$', 150, 2200); Dislin::messag ('$\\int \\frac{dx}{\\sqrt{1+x^2}} = {\\rm arsinh} x + C$', 1200, 2200); Dislin::messag ('$\\overline{P_1P_2} = \\sqrt{(x_2-x_1)^2 + (y_2-y_1)^2}$', 150,2500); Dislin::messag ('$x = \\frac{x_1 + \\lambda x_2}{1 + \\lambda}$', 1200, 2500); Dislin::disfin ();