Zum Inhalt springen

Fortran: DISLIN

Aus Wikibooks
<< zur Fortran-Startseite
< Bibliotheken f03gl >



Wikipedia hat einen Artikel zum Thema:


Allgemeines

[Bearbeiten]

Die DISLIN Scientific Plotting Software ist eine Bibliothek für die grafische Datendarstellung. Auch für die Gestaltung grafischer Benutzeroberflächen läßt sich DISLIN verwenden. DISLIN greift zu diesem Zwecke auf die Motif-Bibliothek zu. Die DISLIN-Bibliothek ist für mehrere Programmiersprachen konzipiert, so auch auch für die Programmiersprache Fortran.

Beispiele

[Bearbeiten]

Beispiel 1: Strings und Zahlen

[Bearbeiten]
Fortran 90/95-Code (free source form)
program dbsp1
  implicit none
 
  real, parameter :: PI = 3.1415926
 
  ! *** Initialisierung ***
  call setpag ("DA4P")                 ! DIN-A4 Hochformat
  call metafl ("CONS")                 ! Ausgabe auf Konsole (Bildschirm)
  call disini                          ! DISLIN initialisieren
 
  ! *** Zeichnen ***
  call messag ("Hallo, Welt!", 50,50)  ! Message schreiben
  call number (PI, 4, 50, 150)         ! 3.1416 schreiben
 
  ! *** Aufräumen ***
  call disfin                          ! DISLIN beenden
end program dbsp1


Programm erstellen:

  • Variante 1:
gfortran -c dateiname.f95
dlink dateiname
  • Variante 2:
gfortran -o dateiname dateiname.f95 -ldislin


Eine Auswahl von möglichen aktuellen Parametern für die Subroutine metafl:

  • "CONS" ... Konsole (Bildschirm)
  • "XWIN" ... X-Window (Bildschirm)
  • "EPS" ... Encapsulated Postscript-Datei
  • "PNG" ... PNG-Datei
  • "SVG" ... SVG-Datei
  • "PDF" ... PDF-Datei

Beispiel 2: Zeichnen von Kurven und Funktionen

[Bearbeiten]
Fortran 90/95-Code (free source form)
program dbsp2
  implicit none
   
  real, dimension(0:99) :: x, y
  integer :: i, setrgb
 
  do  i = 0, 99
    x(i) = i / 20.0
    y(i) = sin(x(i))
  end do
  
  ! *** Initialisierung ***
  call setpag ("DA4P")                                 ! DIN-A4
  call metafl ("PNG")                                  ! Ausgabe in eine PNG-Datei
  call disini                                          ! DISLIN initialisieren
 
  ! *** Zeichnen ***
  call pagfll (255)                                    ! Hintergrundfarbe auf weiß setzen 
  call color (setrgb (0., 0., 0.))                     ! Vordergrundfarbe auf schwarz setzen
  call graf (0.0, 5.0, 0.0, 0.5, -1.0, 1.0, -1.0, 0.1) ! 2D-Koordinatensystem setzen
  call curve (x, y, 100)                               ! Graphen zeichnen  
        
  ! *** Aufräumen ***
  call disfin                                          ! DISLIN beenden
end program dbsp2


Beispiel 3: Ein Pie-Chart

[Bearbeiten]
Fortran 90/95-Code (free source form)
program dbsp3
  implicit none
  
  real, dimension(3)    :: part = (/5.5, 2.5, 1.0/)
  integer, dimension(3) :: partcol1 = (/10, 100, 150/)
  integer, dimension(3) :: partcol2 = (/10, 100, 150/)
 
  integer :: setrgb
 
  ! *** Initialisierung ***
  call setpag ("DA4P")                                 ! DIN-A4
  call metafl ("CONS")                                 ! Console (Bildschirm)
  call disini                                          ! DISLIN initialisieren
 
  ! *** Zeichnen ***
  call pagfll (255)                                    ! Hintergrundfarbe auf weiß setzen 
  call color (setrgb (0., 0., 0.))                     ! Vordergrundfarbe auf schwarz setzen
  call shdpat (16)                                     ! Shadingpattern (16 = voll)
  call chnpie ("NONE")                                 ! Farbe und Shadingpattern 
  call pieclr (partcol1, partcol2, 3)                  ! Teilfarben 
  call pietyp ("3D")                                   ! 3D 
  call piegrf ("Hallo", 0 , part, 3)                   ! Pie-Chart zeichnen
   	   
  ! *** Aufräumen ***
  call disfin                                          ! DISLIN beenden
end program dbsp3


Beispiel 4: Ein Meldungsfenster

[Bearbeiten]
Fortran 90/95-Code (free source form)
program dbsp4
  implicit none
 
  call disini
  call dwgmsg ("Hallo, Welt")
  call disfin
end program dbsp4



Weitere (auch komplexere) Beispiele finden sich im ausführlichen DISLIN-Manual. Dieses ist auf der unten genannten Webpräsenz abrufbar.

Weblinks

[Bearbeiten]

<< zur Fortran-Startseite
< Bibliotheken f03gl >