DISLIN Examples / Python
Demonstration of CURVE / Python
#!/usr/bin/env python import math import dislin n = 101 f = 3.1415926 / 180. x = range (n) y1 = range (n) y2 = range (n) for i in range (0,n): x[i] = i * 3.6 v = i * 3.6 * f y1[i] = math.sin (v) y2[i] = math.cos (v) dislin.scrmod ('revers') 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.labdig (-1, 'X') dislin.ticks (9, 'X') dislin.ticks (10, 'Y') dislin.titlin ('Demonstration of CURVE', 1) dislin.titlin ('SIN (X), COS (X)', 3) ic = dislin.intrgb (0.95, 0.95, 0.95) dislin.axsbgd (ic) dislin.graf (0., 360., 0., 90., -1., 1., -1., 0.5) dislin.setrgb (0.7, 0.7, 0.7) dislin.grid (1,1) dislin.color ('fore') dislin.height (50) dislin.title () dislin.color ('red') dislin.curve (x, y1, n) dislin.color ('green') dislin.curve (x, y2, n) dislin.disfin ()
Polar Plots / Python
#! /usr/bin/env python import math import dislin n = 300 m = 10 f = 3.1415927/180. x1 = range (n) y1 = range (n) x2 = range (m) y2 = range (m) step = 360./(n-1) for i in range (0,n): a = (i * step) * f y1[i] = a x1[i] = math.sin (5*a) for i in range (0,m): x2[i] = i + 1 y2[i] = i + 1 dislin.scrmod ('revers') dislin.setpag ('da4p') dislin.metafl ('cons') dislin.disini () dislin.hwfont () dislin.pagera () dislin.titlin ('Polar Plots', 2) dislin.ticks (3, 'Y') dislin.axends ('NOENDS', 'X') dislin.labdig (-1, 'Y') dislin.axslen (1000, 1000) dislin.axsorg (1050, 900) ic = dislin.intrgb (0.95, 0.95, 0.95) dislin.axsbgd (ic) dislin.grafp (1.,0., 0.2, 0., 30.) dislin.color ('blue') dislin.curve (x1, y1, n) dislin.color ('fore') dislin.htitle (50) dislin.title () dislin.endgrf () dislin.labdig (-1, 'X') dislin.axsorg (1050, 2250) dislin.labtyp ('VERT', 'Y') dislin.grafp (10.,0.,2.,0.,30.) dislin.barwth (-5.) dislin.polcrv ('FBARS') dislin.color ('blue') dislin.curve (x2, y2, m) dislin.disfin ()
Symbols / Python
#!/usr/bin/env python import dislin ctit = 'Symbols' dislin.scrmod ('revers') 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 in range (0, 24): 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 ()
Interpolation Methods / Python
#!/usr/bin/env python import 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.scrmod ('revers') dislin.setpag ('da4p') dislin.metafl ('cons') 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') ic = dislin.intrgb (1.0, 1.0, 0.0) dislin.axsbgd (ic) nya = 2700 for i in range (0, 4): 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.color ('red') dislin.curve (xray, yray, 16) dislin.color ('fore') if i == 3: dislin.height (50) dislin.title () dislin.endgrf () dislin.disfin ()
Bar Graphs / Python
#!/usr/bin/env python import 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.scrmod ('revers') 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) cbuf = ' ' 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 in range (0, 3) : if i > 0 : dislin.labels ('none','x') dislin.axspos (300, nya-i*800) dislin.graf (0., 10., 0., 1., 0., 5., 0., 1.) if i == 0: 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') elif i == 1: 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') elif i == 2: dislin.labels ('second', 'bars') dislin.labpos ('outside', 'bars') dislin.color ('red') dislin.bars (x, y, y1, 9) dislin.color ('fore') if i != 2: dislin.legend (cbuf,7) if i == 2: dislin.height (50) dislin.title () dislin.endgrf () dislin.disfin ()
Pie Charts / Python
#!/usr/bin/env python import dislin xray = [1., 2.5, 2., 2.7, 1.8] ctit = 'Pie Charts (PIEGRF)' dislin.scrmod ('revers') dislin.setpag ('da4p') dislin.metafl ('cons') dislin.disini () dislin.pagera () dislin.complx () dislin.chnpie ('BOTH') dislin.axslen (1600, 1000) dislin.titlin (ctit, 2) cbuf = ' ' 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 ()
3-D Bar Graph / 3-D Pie Chart / Python
#!/usr/bin/env python import 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.scrmod ('revers') 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) cbuf = ' ' dislin.piegrf (cbuf, 0, y2ray, 5) dislin.disfin ()
3-D Bars / BARS3D / Python
#!/usr/bin/env python import dislin n = 18 xray = [1., 3., 8., 1.5, 9., 6.3, 5.8, 2.3, 8.1, 3.5, 2.2, 8.7, 9.2, 4.8, 3.4, 6.9, 7.5, 3.8] yray = [5., 8., 3.5, 2., 7., 1.,4.3, 7.2, 6.0, 8.5, 4.1, 5.0, 7.3, 2.8, 1.6, 8.9, 9.5, 3.2] z1ray = [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.] z2ray = [4., 5., 3., 2., 3.5, 4.5, 2., 1.6, 3.8, 4.7, 2.1, 3.5, 1.9, 4.2, 4.9, 2.8, 3.6, 4.3] icray = [30, 30, 30, 30, 30, 30, 100, 100, 100, 100, 100, 100, 170, 170, 170, 170, 170, 170] xwray = range (n) ywray = range (n) for i in range (0,n): xwray[i] = 0.5 ywray[i] = 0.5 dislin.scrmod ('revers') dislin.metafl ('xwin') dislin.setpag ('da4p') dislin.disini () dislin.hwfont () dislin.pagera () dislin.axspos (200, 2600) dislin.axslen (1800, 1800) dislin.name ('X-axis', 'X') dislin.name ('Y-axis', 'Y') dislin.name ('Z-axis', 'Z') dislin.titlin ('3-D Bars / BARS3D',3) dislin.labl3d ('hori') dislin.graf3d (0.,10.,0.,2.,0.,10.,0.,2.,0.,5.,0.,1.) dislin.grid3d (1,1, 'bottom') dislin.bars3d (xray, yray, z1ray, z2ray, xwray, ywray, icray, n) cbuf = ' ' dislin.legini (cbuf, 3, 20) dislin.legtit (' ') dislin.legpos (1350, 1150) dislin.leglin (cbuf, 'First', 1) dislin.leglin (cbuf, 'Second', 2) dislin.leglin (cbuf, 'Third', 3) dislin.legend (cbuf, 3) dislin.height (50) dislin.title () dislin.disfin ()
Shading Patterns / Python
#!/usr/bin/env python import 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.scrmod ('revers') 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 in range (0, 3): ny = ny0 + i * 600 for j in range (0, 6): nx = nx0 + j * 400 ii = i * 6 + j dislin.shdpat (ii) iclr = iclr + 1 dislin.setclr (iclr) for k in range (0, 4): 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 ()
3-D Colour Plot / Python
#! /usr/bin/env python import math import dislin ctit1 = '3-D Colour Plot of the Function' ctit2 = 'F(X,Y) = 2 * SIN(X) * SIN (Y)' n = 50 m = 50 zmat = range(n*m) fpi = 3.1415927 / 180. stepx = 360. / (n - 1) stepy = 360. / (m - 1) for i in range (0, n): x = i * stepx for j in range (0, m): y = j * stepy zmat[i*m+j] = 2 * math.sin(x * fpi) * math.sin(y * fpi) dislin.scrmod ('revers') dislin.metafl ('xwin') dislin.disini () dislin.pagera () dislin.hwfont () dislin.titlin (ctit1, 1) dislin.titlin (ctit2, 3) 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 ()
Surface Plot / Python
#! /usr/bin/env python import math import dislin ctit1 = 'Surface Plot of the Function' ctit2 = 'F(X,Y) = 2 * SIN(X) * SIN (Y)' n = 50 m = 50 zmat = range(n*m) fpi = 3.1415927 / 180. stepx = 360. / (n - 1) stepy = 360. / (m - 1) for i in range (0, n): x = i * stepx for j in range (0, m): y = j * stepy zmat[i*m+j] = 2 * math.sin(x * fpi) * math.sin(y * fpi) dislin.scrmod ('revers') 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 ()
Shaded Surface Plot / Python
#! /usr/bin/env python import math import dislin ctit1 = 'Shaded Surface Plot' ctit2 = 'F(X,Y) = 2 * SIN(X) * SIN (Y)' n = 50 m = 50 zmat = range(n*m) xray = range(n) yray = range(m) fpi = 3.1415927 / 180. stepx = 360. / (n - 1) stepy = 360. / (m - 1) for i in range (0, n): x = i * stepx xray[i] = x for j in range (0, m): y = j * stepy yray[j] = y zmat[i*m+j] = 2 * math.sin(x * fpi) * math.sin(y * fpi) dislin.scrmod ('revers') 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.shdmod ('smooth', 'surface') dislin.surshd (xray, n, yray, m, zmat) dislin.disfin ()
Contour Plot / Python
#! /usr/bin/env python import math import dislin ctit1 = 'Contour Plot' ctit2 = 'F(X,Y) = 2 * SIN(X) * SIN (Y)' n = 50 m = 50 xray = range (n) yray = range (m) zmat = range (n*m) fpi = 3.1415927 / 180. stepx = 360. / (n - 1) stepy = 360. / (m - 1) for i in range (0, n): xray[i] = xray[i] * stepx for i in range (0, m): yray[i] = yray[i] * stepy for i in range (0, n): x = xray[i] * fpi for j in range (0, m): y = yray[j] * fpi zmat[i*m+j] = 2 * math.sin(x) * math.sin(y) dislin.scrmod ('revers') dislin.metafl ('cons') dislin.setpag ('da4p') dislin.disini () dislin.pagera () dislin.complx () dislin.titlin (ctit1, 1) dislin.titlin (ctit2, 3) dislin.intax () dislin.axspos (450, 2650) dislin.name ('X-axis', 'X') dislin.name ('Y-axis', 'Y') dislin.graf (0., 360., 0., 90., 0., 360., 0., 90.) dislin.height (50) dislin.title () dislin.height (30) for i in range (0, 9): 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.disfin ()
Shaded Contour Plot / Python
#! /usr/bin/env python import math import dislin ctit1 = 'Shaded Contour Plot' ctit2 = 'F(X,Y) = (X[2$ - 1)[2$ + (Y[2$ - 1)[2$' n = 50 m = 50 xray = range (n) yray = range (m) zlev = range (12) zmat = range (n*m) stepx = 1.6 / (n - 1) stepy = 1.6 / (m - 1) for i in range (0, n): xray[i] = xray[i] * stepx for i in range (0, m): yray[i] = yray[i] * stepy for i in range (0, n): x = xray[i] * xray[i] - 1. x = x * x for j in range (0, m): y = yray[j] * yray[j] - 1. zmat[i*m+j] = x + y * y dislin.scrmod ('revers') 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 in range (0, 12): zlev[11-i] = 0.1 + i * 0.1 dislin.conshd (xray, n, yray, m, zmat, zlev, 12) dislin.height (50) dislin.title () dislin.disfin ()
Shaded Surface / Contour Plot / Python
#! /usr/bin/env python import math import dislin ctit1 = 'Shaded Surface / Contour Plot' ctit2 = 'F(X,Y) = 2 * SIN(X) * SIN (Y)' n = 50 m = 50 nlev = 20 zmat = range(n*m) xray = range(n) yray = range(m) zlev = range(nlev) fpi = 3.1415927 / 180. stepx = 360. / (n - 1) stepy = 360. / (m - 1) for i in range (0, n): x = i * stepx xray[i] = x for j in range (0, m): y = j * stepy yray[j] = y zmat[i*m+j] = 2 * math.sin(x * fpi) * math.sin(y * fpi) dislin.scrmod ('revers') dislin.metafl ('cons') dislin.setpag ('da4p') dislin.disini () dislin.pagera () dislin.hwfont () 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.graf3d (0., 360., 0., 90., 0., 360., 0., 90., -2., 2., -2., 1.) dislin.height (50) dislin.title () dislin.grfini (-1., -1., -1., 1., -1., -1., 1., 1., -1.) dislin.nograf () dislin.graf (0., 360., 0., 90., 0., 360., 0., 90.) step = 4. / nlev for i in range (0, nlev): zlev[i] = -2.0 + i * step dislin.conshd (xray, n, yray, n, zmat, zlev, nlev) dislin.box2d () dislin.reset ('nograf') dislin.grffin () dislin.shdmod ('smooth', 'surface') dislin.surshd (xray, n, yray, m, zmat) dislin.disfin ()
Spheres and Tubes / Python
#! /usr/bin/env python import dislin x = [10., 20., 10., 20., 5., 15., 25., 5., 15., 25., 5., 15., 25., 10., 20., 10., 20.] y = [10., 10., 20., 20., 5., 5., 5., 15., 15., 15., 25., 25., 25., 10., 10., 20., 20.] z = [5., 5., 5., 5., 15., 15., 15., 15., 15., 15., 15., 15., 15., 25., 25., 25., 25.] idx = [1, 2, 1, 3, 3, 4, 2, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 5, 8, 8, 11, 6, 9, 9, 12, 7, 10, 10, 13, 14, 15, 16, 17, 14, 16, 15, 17, 1, 5, 2, 7, 3, 11, 4, 13, 5, 14, 7, 15, 11, 16, 13, 17] dislin.setpag ('da4p') dislin.scrmod ('revers') dislin.metafl ('cons') dislin.disini () dislin.pagera () dislin.hwfont () dislin.light ('on') dislin.matop3 (0.02, 0.02, 0.02, 'specular') dislin.clip3d ('none') dislin.axspos (0, 2500) dislin.axslen (2100, 2100) dislin.htitle (50) dislin.titlin ('Spheres and Tubes', 4) dislin.name ('X-axis', 'x') dislin.name ('Y-axis', 'y') dislin.name ('Z-axis', 'z') dislin.labdig (-1, 'xyz') dislin.labl3d ('hori') dislin.graf3d (0., 30., 0., 5., 0., 30., 0., 5., 0., 30., 0., 5.) dislin.title () dislin.shdmod ('smooth', 'surface') iret = dislin.zbfini() dislin.matop3 (1.0, 0.0, 0.0, 'diffuse') for i in range (0, 17): dislin.sphe3d (x[i], y[i], z[i], 2.0, 50, 25) dislin.matop3 (0.0, 1.0, 0.0, 'diffuse') for i in range (0, 28): j = 2 * i j1 = idx[j] - 1 j2 = idx[j+1] - 1 dislin.tube3d (x[j1], y[j1], z[j1], x[j2], y[j2], z[j2], 0.5, 5, 5) dislin.zbffin () dislin.disfin ()
Some Solids / Python
#! /usr/bin/env python import dislin dislin.setpag ('da4p') dislin.scrmod ('revers') dislin.metafl ('cons') dislin.disini () dislin.pagera () dislin.hwfont () dislin.light ('on') dislin.litop3(1,0.5,0.5,0.5,'ambient') dislin.clip3d ('none') dislin.axspos (0, 2500) dislin.axslen (2100, 2100) dislin.htitle (60) dislin.titlin ('Some Solids', 4) dislin.nograf () dislin.graf3d (-5., 5., -5., 2., -5., 5., -5., 2., -5., 5., -5., 2.) dislin.title () dislin.shdmod ('smooth', 'surface') iret = dislin.zbfini() dislin.matop3 (1.0, 0.5, 0.0, 'diffuse') dislin.tube3d (-3., -3., 8.0, 2., 3., 5.5, 1., 40, 20) dislin.rot3d (-60., 0., 0.) dislin.matop3 (1.0, 0.0, 1.0, 'diffuse') dislin.setfce ('bottom') dislin.matop3 (1.0, 0.0, 0.0, 'diffuse') dislin.cone3d (-3., -3., 3.5, 2., 3., 3., 40, 20) dislin.setfce ('top') dislin.rot3d (0., 0., 0.) dislin.matop3 (0.0, 1.0, 1.0, 'diffuse') dislin.plat3d (4., 4., 3., 3., 'icos') dislin.rot3d (0., 0., 0.) dislin.matop3 (1.0, 1.0, 0.0, 'diffuse') dislin.sphe3d (0., 0., 0., 3., 40, 20) dislin.rot3d (0., 0., -20.) dislin.matop3 (0.0, 0.0, 1.0, 'diffuse') dislin.quad3d (-4., -4., -3., 3., 3., 3.) dislin.rot3d (0., 0., 30.) dislin.matop3 (1.0, 0.3, 0.3, 'diffuse') dislin.pyra3d (-2., -5., -10., 3., 5., 5., 4) dislin.rot3d (0., 0., 0.) dislin.matop3 (1.0, 0.0, 0.0, 'diffuse') dislin.torus3d (7., -3., -2., 1.5, 3.5, 1.5, 0., 360., 40, 20) dislin.rot3d (0., 90., 0.) dislin.matop3 (0.0, 1.0, 0.0, 'diffuse') dislin.torus3d (7., -5., -2., 1.5, 3.5, 1.5, 0., 360., 40, 20) dislin.zbffin () dislin.disfin ()
Map Plot / Python
#! /usr/bin/env python import dislin dislin.scrmod ('revers') 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 ()
Tex Instructions for Mathematical Formulas / Python
#! /usr/bin/env python import math import dislin dislin.scrmod ('revers') dislin.metafl ('cons') 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 ()
Web Example / Python
#! /usr/bin/env python import math import sys import dislin ctit1 = 'Surface Plot of the Function' ctit2 = 'F(X,Y) = 2 * SIN(X) * SIN (Y)' n = 50 m = 50 zmat = range(n*m) fpi = 3.1415927 / 180. stepx = 360. / (n - 1) stepy = 360. / (m - 1) for i in range (0, n): x = i * stepx for j in range (0, m): y = j * stepy zmat[i*m+j] = 2 * math.sin(x * fpi) * math.sin(y * fpi) dislin.scrmod ('revers') dislin.metafl ('virt') 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) [buf, n] = dislin.rbfpng (0) [buf, n] = dislin.rbfpng (n) dislin.unit (0) dislin.disfin () sys.stdout.write("Content-type: image/png\n\n") sys.stdout.write(buf)

News
Support for Python 3.11 and Windows
28. July 2023
Bug fix for the X11 distributions
22. July 2023
Upgrade 11.5.1
25. April 2023
Support for Linux 64-bit on IBM z series
30. October 2022
Support for MingW 64-bit UCRT runtime environment
28. September 2022
Release 11.5
15. March 2022
Release 11.4
15. March 2021
Support for Free Pascal 64-bit on Windows
22. July 2020
Upgrade 11.3.3
28. June 2020
Upgrade 11.3.2
19. May 2020
DISLIN Book Version 11 is available
8. March 2017
28. July 2023
Bug fix for the X11 distributions
22. July 2023
Upgrade 11.5.1
25. April 2023
Support for Linux 64-bit on IBM z series
30. October 2022
Support for MingW 64-bit UCRT runtime environment
28. September 2022
Release 11.5
15. March 2022
Release 11.4
15. March 2021
Support for Free Pascal 64-bit on Windows
22. July 2020
Upgrade 11.3.3
28. June 2020
Upgrade 11.3.2
19. May 2020
DISLIN Book Version 11 is available
8. March 2017