00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058 module plplot_flt
00059 include 'plflt.inc'
00060 end module
00061
00062 module plplotp
00063 use plplot_flt
00064 implicit none
00065
00066 interface plcont
00067 module procedure plcontour_0
00068 module procedure plcontour_1
00069 module procedure plcontour_2
00070 module procedure plcontour_tr
00071 module procedure plcontour_0_all
00072 module procedure plcontour_1_all
00073 module procedure plcontour_2_all
00074 module procedure plcontour_tr_all
00075 end interface
00076 private :: plcontour_0, plcontour_1, plcontour_2, plcontour_tr
00077 private :: plcontour_0_all, plcontour_1_all, plcontour_2_all, plcontour_tr_all
00078
00079 interface plvect
00080 module procedure plvectors_0
00081 module procedure plvectors_1
00082 module procedure plvectors_2
00083 module procedure plvectors_tr
00084 end interface
00085 private :: plvectors_0, plvectors_1, plvectors_2, plvectors_tr
00086
00087 interface plshade
00088 module procedure plshade_single_0
00089 module procedure plshade_single_1
00090 module procedure plshade_single_2
00091 module procedure plshade_single_tr
00092 end interface
00093 private :: plshade_single_0, plshade_single_1, plshade_single_2, plshade_single_tr
00094
00095 interface plshades
00096 module procedure plshades_multiple_0
00097 module procedure plshades_multiple_1
00098 module procedure plshades_multiple_2
00099 module procedure plshades_multiple_tr
00100 end interface
00101 private :: plshades_multiple_0, plshades_multiple_1, &
00102 plshades_multiple_2, plshades_multiple_tr
00103
00104 interface plimagefr
00105 module procedure plimagefr_0
00106 module procedure plimagefr_1
00107 module procedure plimagefr_2
00108 module procedure plimagefr_tr
00109 end interface
00110 private :: plimagefr_0, plimagefr_1, plimagefr_2, plimagefr_tr
00111
00112 contains
00113 include 'sfstubs.f90'
00114 end module plplotp
00115
00116 module plplot_types
00117 use plplot_flt
00118 type :: PLGraphicsIn
00119 integer type
00120 integer state
00121 integer keysym
00122 integer button
00123 integer subwindow
00124 character(len=16) string
00125 integer pX, pY
00126 real(kind=plflt) dX, dY
00127 real(kind=plflt) wX, wY
00128 end type PLGraphicsIn
00129 end module plplot_types
00130
00131 module plplot
00132 use plplotp
00133 use plplot_flt
00134 use plplot_types
00135
00136
00137
00138
00139 implicit none
00140 include 'plplot_parameters.h'
00141
00142
00143
00144
00145 interface
00146 subroutine pladv( sub )
00147 integer :: sub
00148 end subroutine pladv
00149 end interface
00150
00151 interface plbin
00152 module procedure plbin
00153 end interface
00154
00155 interface
00156 subroutine plbop
00157 end subroutine plbop
00158 end interface
00159
00160 interface
00161 subroutine plcalc_world( rx, ry, wx, wy, window )
00162 use plplot_flt
00163 real(kind=plflt) :: rx, ry, wx, wy
00164 integer :: window
00165 end subroutine plcalc_world
00166 end interface
00167
00168 interface
00169 subroutine plclear
00170 end subroutine plclear
00171 end interface
00172
00173 interface
00174 subroutine plcol0( icol )
00175 integer :: icol
00176 end subroutine plcol0
00177 end interface
00178
00179 interface
00180 subroutine plcol1( col )
00181 use plplot_flt
00182 real(kind=plflt) :: col
00183 end subroutine plcol1
00184 end interface
00185
00186 interface plcpstrm
00187 module procedure plcpstrm
00188 end interface
00189
00190 interface
00191 subroutine plend
00192 end subroutine plend
00193 end interface
00194
00195 interface
00196 subroutine plend1
00197 end subroutine plend1
00198 end interface
00199
00200 interface
00201 subroutine plenv( xmin, xmax, ymin, ymax, just, axis )
00202 use plplot_flt
00203 real(kind=plflt) :: xmin, xmax, ymin, ymax
00204 integer :: just, axis
00205 end subroutine plenv
00206 end interface
00207
00208 interface
00209 subroutine pleop
00210 end subroutine pleop
00211 end interface
00212
00213 interface plerrx
00214 module procedure plerrx
00215 end interface
00216
00217 interface plerry
00218 module procedure plerry
00219 end interface
00220
00221 interface plfamadv
00222 subroutine plfamadv
00223 end subroutine plfamadv
00224 end interface
00225
00226 interface plfill
00227 module procedure plfill
00228 end interface
00229
00230 interface plfill3
00231 module procedure plfill3
00232 end interface
00233
00234 interface
00235 subroutine plflush
00236 end subroutine plflush
00237 end interface
00238
00239 interface
00240 subroutine plfont( font )
00241 integer :: font
00242 end subroutine plfont
00243 end interface
00244
00245 interface
00246 subroutine plfontld( charset )
00247 integer :: charset
00248 end subroutine plfontld
00249 end interface
00250
00251 interface
00252 subroutine plgchr( chrdef, chrht )
00253 use plplot_flt
00254 real(kind=plflt) :: chrdef, chrht
00255 end subroutine plgchr
00256 end interface
00257
00258 interface
00259 subroutine plgcol0( icol, r, g, b )
00260 integer :: icol, r, g, b
00261 end subroutine plgcol0
00262 end interface
00263
00264 interface
00265 subroutine plgcol0a( icol, r, g, b, a )
00266 use plplot_flt
00267 integer :: icol, r, g, b
00268 real(kind=plflt) :: a
00269 end subroutine plgcol0a
00270 end interface
00271
00272 interface
00273 subroutine plgcolbg( r, g, b )
00274 integer :: r, g, b
00275 end subroutine plgcolbg
00276 end interface
00277
00278 interface
00279 subroutine plgcolbga( r, g, b, a )
00280 use plplot_flt
00281 integer :: r, g, b
00282 real(kind=plflt) :: a
00283 end subroutine plgcolbga
00284 end interface
00285
00286 interface
00287 subroutine plgcompression( compression )
00288 integer :: compression
00289 end subroutine plgcompression
00290 end interface
00291
00292 interface
00293 subroutine plgdidev( mar, aspect, jx, jy )
00294 use plplot_flt
00295 real(kind=plflt) :: mar, aspect, jx, jy
00296 end subroutine plgdidev
00297 end interface
00298
00299 interface
00300 subroutine plgdiori( rot )
00301 use plplot_flt
00302 real(kind=plflt) :: rot
00303 end subroutine plgdiori
00304 end interface
00305
00306 interface
00307 subroutine plgdiplt( xmin, xmax, ymin, ymax )
00308 use plplot_flt
00309 real(kind=plflt) :: xmin, xmax, ymin, ymax
00310 end subroutine plgdiplt
00311 end interface
00312
00313 interface
00314 subroutine plgetcursor( gin )
00315 use plplot_flt
00316 use plplot_types
00317 type(PLGraphicsIn) :: gin
00318 end subroutine plgetcursor
00319 end interface
00320
00321 interface
00322 subroutine plgfam( fam, num, bmax )
00323 integer :: fam, num, bmax
00324 end subroutine plgfam
00325 end interface
00326
00327 interface
00328 subroutine plgfci( fci )
00329 use plplot_flt
00330 integer(kind=plunicode) :: fci
00331 end subroutine plgfci
00332 end interface
00333
00334 interface
00335 subroutine plgfont( family, style, weight )
00336 integer :: family, style, weight
00337 end subroutine plgfont
00338 end interface
00339
00340 interface
00341 subroutine plglevel( level )
00342 integer :: level
00343 end subroutine plglevel
00344 end interface
00345
00346 interface
00347 subroutine plgpage( xpmm, ypmm, xwid, ywid, xoff, yoff )
00348 use plplot_flt
00349 real(kind=plflt) :: xpmm, ypmm
00350 integer :: xwid, ywid, xoff, yoff
00351 end subroutine plgpage
00352 end interface
00353
00354 interface
00355 subroutine plgra
00356 end subroutine plgra
00357 end interface
00358
00359 interface plgradient
00360 module procedure plgradient
00361 end interface
00362
00363 interface plgriddata
00364 module procedure plgriddata
00365 end interface
00366
00367 interface
00368 subroutine plgspa( xmin, xmax, ymin, ymax )
00369 use plplot_flt
00370 real(kind=plflt) :: xmin, xmax, ymin, ymax
00371 end subroutine plgspa
00372 end interface
00373
00374 interface
00375 subroutine plgstrm( strm )
00376 integer :: strm
00377 end subroutine plgstrm
00378 end interface
00379
00380 interface
00381 subroutine plgvpd( xmin, xmax, ymin, ymax )
00382 use plplot_flt
00383 real(kind=plflt) :: xmin, xmax, ymin, ymax
00384 end subroutine plgvpd
00385 end interface
00386
00387 interface
00388 subroutine plgvpw( xmin, xmax, ymin, ymax )
00389 use plplot_flt
00390 real(kind=plflt) :: xmin, xmax, ymin, ymax
00391 end subroutine plgvpw
00392 end interface
00393
00394 interface
00395 subroutine plgxax( digmax, digits )
00396 integer :: digmax, digits
00397 end subroutine plgxax
00398 end interface
00399
00400 interface
00401 subroutine plgyax( digmax, digits )
00402 integer :: digmax, digits
00403 end subroutine plgyax
00404 end interface
00405
00406 interface
00407 subroutine plgzax( digmax, digits )
00408 integer :: digmax, digits
00409 end subroutine plgzax
00410 end interface
00411
00412 interface plhist
00413 module procedure plhist
00414 end interface
00415
00416 interface
00417 subroutine plhls( h, l, s )
00418 use plplot_flt
00419 real(kind=plflt) :: h, l, s
00420 end subroutine plhls
00421 end interface
00422
00423 interface
00424 subroutine plhlsrgb( h, l, s, r, g, b )
00425 use plplot_flt
00426 real(kind=plflt) :: h, l, s, r, g, b
00427 end subroutine plhlsrgb
00428 end interface
00429
00430 interface
00431 subroutine plinit
00432 end subroutine plinit
00433 end interface
00434
00435 interface
00436 subroutine pljoin( x1, y1, x2, y2 )
00437 use plplot_flt
00438 real(kind=plflt) :: x1, y1, x2, y2
00439 end subroutine pljoin
00440 end interface
00441
00442 interface
00443 subroutine pllightsource( x, y, z )
00444 use plplot_flt
00445 real(kind=plflt) :: x, y, z
00446 end subroutine pllightsource
00447 end interface
00448
00449 interface pllegend
00450 module procedure pllegend_1
00451 module procedure pllegend_2
00452 end interface
00453
00454 interface plline
00455 module procedure plline
00456 end interface
00457
00458 interface plline3
00459 module procedure plline3
00460 end interface
00461
00462 interface pllsty
00463 subroutine pllsty( lin )
00464 integer :: lin
00465 end subroutine pllsty
00466 end interface
00467
00468 interface plmap
00469 module procedure plmap1, plmap2
00470 end interface plmap
00471
00472 interface plmeridians
00473 module procedure plmeridians1, plmeridians2
00474 end interface plmeridians
00475
00476 interface plmesh
00477 module procedure plmesh
00478 end interface
00479
00480 interface plmeshc
00481 module procedure plmeshc
00482 end interface
00483
00484 interface
00485 subroutine plmkstrm( strm )
00486 integer :: strm
00487 end subroutine plmkstrm
00488 end interface
00489
00490 interface
00491 subroutine plpat( nlin, inc, del )
00492 integer :: nlin, inc, del
00493 end subroutine plpat
00494 end interface
00495
00496 interface plot3d
00497 module procedure plot3d
00498 end interface
00499
00500 interface plot3dc
00501 module procedure plot3dc
00502 end interface
00503
00504 interface plpoin
00505 module procedure plpoin
00506 end interface
00507
00508 interface plpoin3
00509 module procedure plpoin3
00510 end interface
00511
00512 interface plpoly3
00513 module procedure plpoly3
00514 end interface
00515
00516 interface
00517 subroutine plprec( setp, prec )
00518 integer :: setp, prec
00519 end subroutine plprec
00520 end interface
00521
00522 interface
00523 subroutine plpsty( patt )
00524 integer :: patt
00525 end subroutine plpsty
00526 end interface
00527
00528 interface
00529 subroutine plreplot
00530 end subroutine plreplot
00531 end interface
00532
00533
00534
00535
00536 interface
00537 subroutine plrgb( r, g, b )
00538 use plplot_flt
00539 real(kind=plflt) :: r, g, b
00540 end subroutine plrgb
00541 end interface
00542
00543 interface
00544 subroutine plrgb1( r, g, b )
00545 integer :: r, g, b
00546 end subroutine plrgb1
00547 end interface
00548
00549 interface
00550 subroutine plrgbhls( r, g, b, h, l, s )
00551 use plplot_flt
00552 real(kind=plflt) :: r, g, b, h, l, s
00553 end subroutine plrgbhls
00554 end interface
00555
00556 interface
00557 subroutine plschr( chrdef, chrht )
00558 use plplot_flt
00559 real(kind=plflt) :: chrdef, chrht
00560 end subroutine plschr
00561 end interface
00562
00563 interface plscmap0
00564 module procedure plscmap0
00565 end interface
00566
00567 interface plscmap0a
00568 module procedure plscmap0a
00569 end interface
00570
00571 interface
00572 subroutine plscmap0n( n )
00573 integer :: n
00574 end subroutine plscmap0n
00575 end interface
00576
00577 interface plscmap1
00578 module procedure plscmap1
00579 end interface
00580
00581 interface plscmap1a
00582 module procedure plscmap1a
00583 end interface
00584
00585 interface plscmap1l
00586 module procedure plscmap1l
00587 module procedure plscmap1l2
00588 end interface
00589
00590 interface plscmap1la
00591 module procedure plscmap1la
00592 module procedure plscmap1la2
00593 end interface
00594
00595 interface
00596 subroutine plscmap1n( n )
00597 integer :: n
00598 end subroutine plscmap1n
00599 end interface
00600
00601 interface
00602 subroutine plscol0( icol, r, g, b )
00603 integer :: icol, r, g, b
00604 end subroutine plscol0
00605 end interface
00606
00607 interface
00608 subroutine plscol0a( icol, r, g, b, a )
00609 use plplot_flt
00610 integer :: icol, r, g, b
00611 real(kind=plflt) :: a
00612 end subroutine plscol0a
00613 end interface
00614
00615 interface
00616 subroutine plscolbg( r, g, b )
00617 integer :: r, g, b
00618 end subroutine plscolbg
00619 end interface
00620
00621 interface
00622 subroutine plscolbga( r, g, b, a )
00623 use plplot_flt
00624 integer :: r, g, b
00625 real(kind=plflt) :: a
00626 end subroutine plscolbga
00627 end interface
00628
00629 interface
00630 subroutine plscolor( color )
00631 integer :: color
00632 end subroutine plscolor
00633 end interface
00634
00635 interface
00636 subroutine plscompression( compression )
00637 integer :: compression
00638 end subroutine plscompression
00639 end interface
00640
00641 interface
00642 subroutine plsdidev( mar, aspect, jx, jy )
00643 use plplot_flt
00644 real(kind=plflt) :: mar, aspect, jx, jy
00645 end subroutine plsdidev
00646 end interface
00647
00648 interface
00649 subroutine plsdimap( dimxmi, dimxmax, diymin, dimymax, dimxpmm, diypmm )
00650 use plplot_flt
00651 real(kind=plflt) :: dimxmi, dimxmax, diymin, dimymax, dimxpmm, diypmm
00652 end subroutine plsdimap
00653 end interface
00654
00655 interface
00656 subroutine plsdiori( rot )
00657 use plplot_flt
00658 real(kind=plflt) :: rot
00659 end subroutine plsdiori
00660 end interface
00661
00662 interface
00663 subroutine plsdiplt( xmin, xmax, ymin, ymax )
00664 use plplot_flt
00665 real(kind=plflt) :: xmin, xmax, ymin, ymax
00666 end subroutine plsdiplt
00667 end interface
00668
00669 interface
00670 subroutine plsdiplz( xmin, xmax, ymin, ymax )
00671 use plplot_flt
00672 real(kind=plflt) :: xmin, xmax, ymin, ymax
00673 end subroutine plsdiplz
00674 end interface
00675
00676 interface
00677 subroutine plseed( s )
00678 integer :: s
00679 end subroutine plseed
00680 end interface
00681
00682
00683 interface
00684 subroutine plsesc( esc )
00685 integer :: esc
00686 end subroutine plsesc
00687 end interface
00688
00689
00690
00691
00692 interface plsetmapformc
00693 subroutine plsetmapformc( mapform )
00694 use plplot_flt
00695 interface
00696 subroutine mapform( n, x, y )
00697 use plplot_flt
00698 integer :: n
00699 real(kind=plflt), dimension(*) :: x, y
00700 end subroutine mapform
00701 end interface
00702 end subroutine plsetmapformc
00703 end interface
00704
00705 interface
00706 subroutine plsfam( fam, num, bmax )
00707 integer :: fam, num, bmax
00708 end subroutine plsfam
00709 end interface
00710
00711 interface
00712 subroutine plsfci( fci )
00713 use plplot_flt
00714 integer(kind=plunicode) :: fci
00715 end subroutine plsfci
00716 end interface
00717
00718 interface
00719 subroutine plsfont( family, style, weight )
00720 integer :: family, style, weight
00721 end subroutine plsfont
00722 end interface
00723
00724 interface plslabelfunc
00725 subroutine plslabelfunc_on( labelfunc )
00726 interface
00727 subroutine labelfunc(axis, value, label, length)
00728 use plplot_flt
00729 implicit none
00730 integer :: axis, length
00731 real(kind=plflt) :: value
00732 character*(length) label
00733 end subroutine labelfunc
00734 end interface
00735 end subroutine plslabelfunc_on
00736
00737 subroutine plslabelfunc_off( dummy )
00738 implicit none
00739 integer :: dummy
00740 end subroutine plslabelfunc_off
00741
00742 subroutine plslabelfunc_none
00743 end subroutine plslabelfunc_none
00744
00745 end interface
00746
00747 interface
00748 subroutine plsmaj( def, scale )
00749 use plplot_flt
00750 real(kind=plflt) :: def, scale
00751 end subroutine plsmaj
00752 end interface
00753
00754
00755
00756
00757 interface
00758 subroutine plsmin( def, scale )
00759 use plplot_flt
00760 real(kind=plflt) :: def, scale
00761 end subroutine plsmin
00762 end interface
00763
00764 interface
00765 subroutine plsori( rot )
00766 integer :: rot
00767 end subroutine plsori
00768 end interface
00769
00770 interface
00771 subroutine plspage( xpmm, ypmm, xwid, ywid, xoff, yoff )
00772 use plplot_flt
00773 real(kind=plflt) :: xpmm, ypmm
00774 integer :: xwid, ywid, xoff, yoff
00775 end subroutine plspage
00776 end interface
00777
00778 interface plspause
00779 module procedure plspause
00780 end interface
00781
00782 interface
00783 subroutine plsstrm( strm )
00784 integer :: strm
00785 end subroutine plsstrm
00786 end interface
00787
00788 interface
00789 subroutine plssub( nx, ny )
00790 integer :: nx, ny
00791 end subroutine plssub
00792 end interface
00793
00794 interface
00795 subroutine plssym( def, scale )
00796 use plplot_flt
00797 real(kind=plflt) :: def, scale
00798 end subroutine plssym
00799 end interface
00800
00801 interface
00802 subroutine plstar( nx, ny )
00803 integer :: nx, ny
00804 end subroutine plstar
00805 end interface
00806
00807 interface plstransform
00808 subroutine plstransform1( transformfunc )
00809 interface
00810 subroutine transformfunc(x, y, xt, yt)
00811 use plplot_flt
00812 implicit none
00813 real(kind=plflt) :: x, y, xt, yt
00814 end subroutine transformfunc
00815 end interface
00816 end subroutine plstransform1
00817
00818 subroutine plstransform2( dummy )
00819 implicit none
00820 integer :: dummy
00821 end subroutine plstransform2
00822
00823 subroutine plstransform3
00824 end subroutine plstransform3
00825
00826 end interface
00827
00828 interface
00829 subroutine plstripa( id, pen, x, y )
00830 use plplot_flt
00831 integer :: id, pen
00832 real(kind=plflt) :: x, y
00833 end subroutine plstripa
00834 end interface
00835
00836 interface
00837 subroutine plstripd( id )
00838 integer :: id
00839 end subroutine plstripd
00840 end interface
00841
00842 interface
00843 subroutine plstyl( n, mark, space )
00844 integer :: n, mark, space
00845 end subroutine plstyl
00846 end interface
00847
00848 interface plsurf3d
00849 module procedure plsurf3d
00850 end interface
00851
00852 interface plstripc
00853 module procedure plstripc
00854 end interface
00855
00856 interface plsvect
00857 module procedure plsvect
00858 end interface
00859
00860 interface
00861 subroutine plsvpa( xmin, xmax, ymin, ymax )
00862 use plplot_flt
00863 real(kind=plflt) :: xmin, xmax, ymin, ymax
00864 end subroutine plsvpa
00865 end interface
00866
00867 interface
00868 subroutine plsxax( digmax, digits )
00869 integer :: digmax, digits
00870 end subroutine plsxax
00871 end interface
00872
00873 interface
00874 subroutine plsyax( digmax, digits )
00875 integer :: digmax, digits
00876 end subroutine plsyax
00877 end interface
00878
00879 interface plsym
00880 module procedure plsym
00881 end interface
00882
00883 interface
00884 subroutine plszax( digmax, digits )
00885 integer :: digmax, digits
00886 end subroutine plszax
00887 end interface
00888
00889 interface
00890 subroutine pltext
00891 end subroutine pltext
00892 end interface
00893
00894 interface
00895 subroutine plvasp( aspect )
00896 use plplot_flt
00897 real(kind=plflt) :: aspect
00898 end subroutine plvasp
00899 end interface
00900
00901 interface
00902 subroutine plvpas( xmin, xmax, ymin, ymax, aspect )
00903 use plplot_flt
00904 real(kind=plflt) :: xmin, xmax, ymin, ymax, aspect
00905 end subroutine plvpas
00906 end interface
00907
00908 interface
00909 subroutine plvpor( xmin, xmax, ymin, ymax )
00910 use plplot_flt
00911 real(kind=plflt) :: xmin, xmax, ymin, ymax
00912 end subroutine plvpor
00913 end interface
00914
00915 interface
00916 subroutine plvsta
00917 end subroutine plvsta
00918 end interface
00919
00920 interface
00921 subroutine plw3d( basex, basey, height, xmin, xmax, ymin, ymax, zmin, zmax, alt, az )
00922 use plplot_flt
00923 real(kind=plflt) :: basex, basey, height, xmin, xmax, ymin, ymax, zmin, zmax, alt, az
00924 end subroutine plw3d
00925 end interface
00926
00927 interface
00928 subroutine plwid( width )
00929 integer :: width
00930 end subroutine plwid
00931 end interface
00932
00933 interface
00934 subroutine plwind( xmin, xmax, ymin, ymax )
00935 use plplot_flt
00936 real(kind=plflt) :: xmin, xmax, ymin, ymax
00937 end subroutine plwind
00938 end interface
00939
00940 interface plxormod
00941 module procedure plxormod
00942 end interface
00943
00944
00945 private :: convert_to_int
00946 private :: convert_to_log
00947
00948
00949 contains
00950
00951 integer function convert_to_int( logvalue )
00952 logical :: logvalue
00953 if ( logvalue ) then
00954 convert_to_int = 1
00955 else
00956 convert_to_int = 0
00957 endif
00958 end function convert_to_int
00959
00960 logical function convert_to_log( intvalue )
00961 integer :: intvalue
00962 convert_to_log = intvalue.ne.0
00963 end function convert_to_log
00964
00965 subroutine plbin( x, y, center )
00966 real(kind=plflt), dimension(:) :: x, y
00967 integer :: center
00968
00969 call plbinf77( size(x), x, y, center )
00970 end subroutine plbin
00971
00972 subroutine plcpstrm( iplsr, flags )
00973 integer :: iplsr
00974 logical :: flags
00975
00976 integer :: iflags
00977
00978 iflags = convert_to_int( flags )
00979 call plcpstrmf77( iplsr, iflags )
00980 end subroutine plcpstrm
00981
00982 subroutine plerrx( xmin, xmax, y )
00983 real(kind=plflt), dimension(:) :: xmin, xmax, y
00984
00985 call plerrxf77( size(xmin), xmin, xmax, y )
00986 end subroutine plerrx
00987
00988 subroutine plerry( x, ymin, ymax )
00989 real(kind=plflt), dimension(:) :: x, ymin, ymax
00990
00991 call plerryf77( size(x), x, ymin, ymax )
00992 end subroutine plerry
00993
00994 subroutine plfill( x, y )
00995 real(kind=plflt), dimension(:) :: x, y
00996
00997 call plfillf77( size(x), x, y )
00998 end subroutine plfill
00999
01000 subroutine plfill3( x, y, z )
01001 real(kind=plflt), dimension(:) :: x, y, z
01002
01003 call plfill3f77( size(x), x, y, z )
01004 end subroutine plfill3
01005
01006 subroutine plgradient( x, y, angle )
01007 real(kind=plflt), dimension(:) :: x, y
01008 real(kind=plflt) :: angle
01009
01010 call plgradientf77( size(x), x, y, angle )
01011 end subroutine plgradient
01012
01013 subroutine plgriddata( x, y, z, xg, yg, zg, type, data )
01014 real(kind=plflt), dimension(:) :: x, y, z, xg, yg
01015 real(kind=plflt), dimension(:,:) :: zg
01016 real(kind=plflt) :: data
01017 integer :: type
01018
01019 call plgriddataf77( x, y, z, size(x), xg, size(xg), yg, size(yg), zg, &
01020 type, data )
01021
01022 return
01023 end subroutine plgriddata
01024
01025 subroutine plhist( data, datmin, datmax, nbin, oldwin )
01026 real(kind=plflt), dimension(:) :: data
01027 real(kind=plflt) :: datmin, datmax
01028 integer :: nbin, oldwin
01029
01030 call plhistf77( size(data), data, datmin, datmax, nbin, oldwin )
01031 end subroutine plhist
01032
01033
01034
01035
01036
01037
01038
01039
01040
01041
01042
01043
01044
01045
01046
01047
01048 subroutine plimage( idata, xmin, xmax, ymin, ymax, zmin, zmax, &
01049 dxmin, dxmax, dymin, dymax )
01050 real(kind=plflt), dimension(:,:) :: idata
01051 real(kind=plflt) :: xmin, xmax, ymin, ymax, zmin, zmax
01052 real(kind=plflt) :: dxmin, dxmax, dymin, dymax
01053
01054 integer :: nx, ny
01055
01056 nx = size(idata,1)
01057 ny = size(idata,2)
01058 call plimagef77( idata, nx, ny, xmin, xmax, ymin, ymax, zmin, zmax, &
01059 dxmin, dxmax, dymin, dymax )
01060 end subroutine plimage
01061
01062 subroutine pllegend_1( legend_width, legend_height, &
01063 & opt, position, x, y, &
01064 & plot_width, bg_color, bb_color, bb_style, &
01065 & nrow, ncolumn, nlegend, opt_array, &
01066 & text_offset, text_scale, text_spacing, &
01067 & text_justification, text_colors, text, &
01068 & box_colors, box_patterns, box_scales, &
01069 & box_line_widths, &
01070 & line_colors, line_styles, line_widths, &
01071 & symbol_colors, symbol_scales, &
01072 & symbol_numbers, symbols )
01073
01074 real(kind=plflt) :: legend_width, legend_height, plot_width, x, y
01075 real(kind=plflt) :: text_offset, text_scale, text_spacing, text_justification
01076 integer :: position, opt, bg_color, bb_color, bb_style
01077 integer :: nrow, ncolumn, nlegend
01078
01079 character(len=*), dimension(:) :: text, symbols
01080
01081 integer, dimension(:) :: opt_array, text_colors, box_colors
01082 integer, dimension(:) :: box_patterns, box_line_widths
01083 integer, dimension(:) :: line_colors, line_styles, line_widths
01084 integer, dimension(:) :: symbol_colors, symbol_numbers
01085 real(kind=plflt), dimension(:) :: box_scales, symbol_scales
01086
01087
01088
01089
01090
01091
01092 call pllegend07_cnv_text( 1, nlegend, text )
01093 call pllegend07_cnv_text( 2, nlegend, symbols )
01094
01095 call pllegend07( legend_width, legend_height, opt, position, x, y, &
01096 plot_width, bg_color, bb_color, bb_style, &
01097 nrow, ncolumn, nlegend, opt_array, &
01098 text_offset, text_scale, text_spacing, &
01099 text_justification, text_colors, &
01100 box_colors, box_patterns, box_scales, &
01101 box_line_widths, &
01102 line_colors, line_styles, line_widths, &
01103 symbol_colors, symbol_scales, &
01104 symbol_numbers )
01105
01106 end subroutine pllegend_1
01107
01108 subroutine pllegend_2( legend_width, legend_height, &
01109 & opt, position, x, y, &
01110 & plot_width, bg_color, bb_color, bb_style, &
01111 & nrow, ncolumn, opt_array, &
01112 & text_offset, text_scale, text_spacing, &
01113 & text_justification, text_colors, text, &
01114 & box_colors, box_patterns, box_scales, &
01115 & box_line_widths, &
01116 & line_colors, line_styles, line_widths, &
01117 & symbol_colors, symbol_scales, &
01118 & symbol_numbers, symbols )
01119
01120 real(kind=plflt) :: legend_width, legend_height, plot_width, x, y
01121 real(kind=plflt) :: text_offset, text_scale, text_spacing, text_justification
01122 integer :: position, opt, bg_color, bb_color, bb_style
01123 integer :: nrow, ncolumn
01124
01125 character(len=*), dimension(:) :: text, symbols
01126
01127 integer, dimension(:) :: opt_array, text_colors, box_colors
01128 integer, dimension(:) :: box_patterns, box_line_widths
01129 integer, dimension(:) :: line_colors, line_styles, line_widths
01130 integer, dimension(:) :: symbol_colors, symbol_numbers
01131 real(kind=plflt), dimension(:) :: box_scales, symbol_scales
01132
01133 integer :: nlegend
01134
01135
01136
01137
01138 nlegend = min( size(opt_array), size(text) )
01139
01140 call pllegend_1( legend_width, legend_height, &
01141 opt, position, x, y, &
01142 plot_width, bg_color, bb_color, bb_style, &
01143 nrow, ncolumn, nlegend, opt_array, &
01144 text_offset, text_scale, text_spacing, &
01145 text_justification, text_colors, text, &
01146 box_colors, box_patterns, box_scales, &
01147 box_line_widths, &
01148 line_colors, line_styles, line_widths, &
01149 symbol_colors, symbol_scales, &
01150 symbol_numbers, symbols )
01151
01152 end subroutine pllegend_2
01153
01154 subroutine plline( x, y )
01155 real(kind=plflt), dimension(:) :: x, y
01156
01157 call pllinef77( size(x), x, y )
01158 end subroutine plline
01159
01160 subroutine plline3( x, y, z )
01161 real(kind=plflt), dimension(:) :: x, y, z
01162
01163 call plline3f77( size(x), x, y, z )
01164 end subroutine plline3
01165
01166 subroutine plmap1(mapform,mapname,minx,maxx,miny,maxy)
01167 use plplot_flt
01168 implicit none
01169 real(kind=plflt) minx, maxx, miny, maxy
01170 character*(*) mapname
01171 external mapform
01172
01173 include 'sfstubs.h'
01174
01175 call plstrf2c(mapname, string1, maxlen)
01176
01177 call plsetmapformc(mapform)
01178 s1 = transfer( string1, s1 )
01179 call plmap7(s1,minx,maxx,miny,maxy)
01180
01181 end subroutine plmap1
01182
01183 subroutine plmap2(mapname,minx,maxx,miny,maxy)
01184 use plplot_flt
01185 implicit none
01186 real(kind=plflt) minx, maxx, miny, maxy
01187 character*(*) mapname
01188
01189 include 'sfstubs.h'
01190
01191 call plstrf2c(mapname, string1, maxlen)
01192
01193 call plclearmapformc()
01194 s1 = transfer( string1, s1 )
01195 call plmap7(s1,minx,maxx,miny,maxy)
01196
01197 end subroutine plmap2
01198
01199 subroutine plmeridians1(mapform,dlong,dlat,minlong,maxlong, &
01200 minlat,maxlat)
01201
01202 implicit none
01203 real(kind=plflt) dlong, dlat, minlong, maxlong, minlat, maxlat
01204 external mapform
01205
01206 include 'sfstubs.h'
01207
01208 call plsetmapformc(mapform)
01209 call plmeridians7(dlong,dlat,minlong,maxlong,minlat,maxlat)
01210
01211 end subroutine plmeridians1
01212
01213 subroutine plmeridians2(dlong,dlat,minlong,maxlong, &
01214 minlat,maxlat)
01215
01216 implicit none
01217 real(kind=plflt) dlong, dlat, minlong, maxlong, minlat, maxlat
01218
01219 include 'sfstubs.h'
01220
01221 call plclearmapformc
01222 call plmeridians7(dlong,dlat,minlong,maxlong,minlat,maxlat)
01223
01224 end subroutine plmeridians2
01225
01226 subroutine plmesh( x, y, z, opt )
01227 integer :: opt
01228 real(kind=plflt), dimension(:) :: x, y
01229 real(kind=plflt), dimension(:,:) :: z
01230
01231 call plmeshf77( x, y, z, size(x), size(y), opt, size(x))
01232
01233 end subroutine plmesh
01234
01235 subroutine plmeshc( x, y, z, opt, clevel )
01236 integer :: opt
01237 real(kind=plflt), dimension(:) :: x, y, clevel
01238 real(kind=plflt), dimension(:,:) :: z
01239
01240 call plmeshcf77( x, y, z, size(x), size(y), opt, &
01241 clevel, size(clevel), size(x))
01242
01243 end subroutine plmeshc
01244
01245 subroutine plot3d( x, y, z, opt, side )
01246 integer :: opt
01247 logical :: side
01248 real(kind=plflt), dimension(:) :: x, y
01249 real(kind=plflt), dimension(:,:) :: z
01250 integer :: iside
01251
01252 iside = convert_to_int(side)
01253 call plot3df77( x, y, z, size(x), size(y), opt, iside, size(x))
01254
01255 end subroutine plot3d
01256
01257 subroutine plot3dc( x, y, z, opt, clevel )
01258 integer :: opt
01259 real(kind=plflt), dimension(:) :: x, y, clevel
01260 real(kind=plflt), dimension(:,:) :: z
01261
01262 call plot3dcf77( x, y, z, size(x), size(y), opt, clevel, &
01263 size(clevel), size(x))
01264
01265 end subroutine plot3dc
01266
01267 subroutine plspause( lpause )
01268 logical :: lpause
01269
01270 integer :: ipause
01271
01272 ipause = convert_to_int( lpause )
01273 call plspausef77( ipause )
01274 end subroutine plspause
01275
01276 subroutine plsurf3d( x, y, z, opt, clevel )
01277 integer :: opt
01278 real(kind=plflt), dimension(:) :: x, y, clevel
01279 real(kind=plflt), dimension(:,:) :: z
01280
01281 call plsurf3df77( x, y, z, size(x), size(y), opt, clevel, &
01282 size(clevel), size(x))
01283
01284 end subroutine plsurf3d
01285
01286 subroutine plpoin( x, y, code )
01287 integer :: code
01288 real(kind=plflt), dimension(:) :: x, y
01289
01290 call plpoinf77( size(x), x, y, code )
01291 end subroutine plpoin
01292
01293 subroutine plpoin3( x, y, z, code )
01294 integer :: code
01295 real(kind=plflt), dimension(:) :: x, y, z
01296
01297 call plpoin3f77( size(x), x, y, z, code )
01298 end subroutine plpoin3
01299
01300 subroutine plpoly3( x, y, z, draw, ifcc )
01301 logical :: ifcc
01302 logical, dimension(:) :: draw
01303 real(kind=plflt), dimension(:) :: x, y, z
01304
01305 integer, dimension(size(draw)) :: idraw
01306 integer :: i
01307 integer :: iifcc
01308
01309 iifcc = convert_to_int( ifcc )
01310 do i = 1,size(draw)
01311 idraw(i) = convert_to_int( draw(i) )
01312 enddo
01313 call plpoly3f77( size(x), x, y, z, idraw, iifcc )
01314 end subroutine plpoly3
01315
01316 real (kind=plflt) function plrandd()
01317 external plranddf77
01318 real(kind=plflt) :: plranddf77
01319
01320 plrandd = plranddf77()
01321 end function plrandd
01322
01323 subroutine plscmap0( r, g, b )
01324 integer, dimension(:) :: r, g, b
01325
01326 call plscmap0f77( r, g, b, size(r) )
01327 end subroutine plscmap0
01328
01329 subroutine plscmap0a( r, g, b, a )
01330 integer, dimension(:) :: r, g, b
01331 real(kind=plflt), dimension(:) :: a
01332
01333 call plscmap0af77( r, g, b, a, size(r) )
01334 end subroutine plscmap0a
01335
01336 subroutine plscmap1( r, g, b )
01337 integer, dimension(:) :: r, g, b
01338
01339 call plscmap1f77( r, g, b, size(r) )
01340 end subroutine plscmap1
01341
01342 subroutine plscmap1a( r, g, b, a )
01343 integer, dimension(:) :: r, g, b
01344 real(kind=plflt), dimension(:) :: a
01345
01346 call plscmap1af77( r, g, b, a, size(r) )
01347 end subroutine plscmap1a
01348
01349 subroutine plscmap1l( rgbtype, intensity, coord1, coord2, coord3, rev)
01350 logical :: rgbtype
01351 real(kind=plflt), dimension(:) :: intensity, coord1, coord2, coord3
01352 logical, dimension(:) :: rev
01353
01354 integer, dimension(size(rev)) :: irev
01355 integer :: i
01356 integer :: type
01357
01358 type = convert_to_int( rgbtype )
01359 do i = 1,size(rev)
01360 irev(i) = convert_to_int( rev(i) )
01361 enddo
01362 call plscmap1lf77( type, size(intensity), intensity, coord1, coord2, coord3, irev )
01363 end subroutine plscmap1l
01364
01365 subroutine plscmap1l2( rgbtype, intensity, coord1, coord2, coord3)
01366 logical :: rgbtype
01367 real(kind=plflt), dimension(:) :: intensity, coord1, coord2, coord3
01368
01369 integer :: type
01370
01371 type = convert_to_int( rgbtype )
01372 call plscmap1l2f77( type, size(intensity), intensity, coord1, coord2, coord3)
01373 end subroutine plscmap1l2
01374
01375 subroutine plscmap1la( rgbtype, intensity, coord1, coord2, coord3, a, rev)
01376 logical :: rgbtype
01377 real(kind=plflt), dimension(:) :: intensity, coord1, coord2, coord3, a
01378 logical, dimension(:) :: rev
01379
01380 integer, dimension(size(rev)) :: irev
01381 integer :: i
01382 integer :: type
01383
01384 type = convert_to_int( rgbtype )
01385 do i = 1,size(rev)
01386 irev(i) = convert_to_int( rev(i) )
01387 enddo
01388 call plscmap1laf77( type, size(intensity), intensity, coord1, coord2, coord3, a, irev )
01389 end subroutine plscmap1la
01390
01391 subroutine plscmap1la2( rgbtype, intensity, coord1, coord2, coord3, a)
01392 logical :: rgbtype
01393 real(kind=plflt), dimension(:) :: intensity, coord1, coord2, coord3, a
01394
01395 integer :: type
01396
01397 type = convert_to_int( rgbtype )
01398 call plscmap1la2f77( type, size(intensity), intensity, coord1, coord2, coord3, a)
01399 end subroutine plscmap1la2
01400
01401 subroutine plstripc(id, xspec, yspec, xmin, xmax, xjump, &
01402 ymin, ymax, xlpos, ylpos, y_ascl, acc, &
01403 colbox, collab, colline, styline, legline, &
01404 labx, laby, labtop)
01405
01406 implicit none
01407 integer id, colbox, collab, colline(4), styline(4)
01408 character*(*) xspec, yspec, legline(4), labx, laby, labtop
01409 real(kind=plflt) xmin, xmax, xjump, ymin, ymax, xlpos, ylpos
01410 integer nx, ny
01411 logical y_ascl, acc
01412 integer iy_ascl, iacc
01413
01414 include 'sfstubs.h'
01415
01416 call plstrf2c(xspec, string1, maxlen)
01417 call plstrf2c(yspec, string2, maxlen)
01418 call plstrf2c(legline(1), string3, maxlen)
01419 call plstrf2c(legline(2), string4, maxlen)
01420 call plstrf2c(legline(3), string5, maxlen)
01421 call plstrf2c(legline(4), string6, maxlen)
01422 call plstrf2c(labx, string7, maxlen)
01423 call plstrf2c(laby, string8, maxlen)
01424 call plstrf2c(labtop, string9, maxlen)
01425
01426 iy_ascl = convert_to_int( y_ascl )
01427 iacc = convert_to_int( acc )
01428
01429 s1 = transfer( string1, s1 )
01430 s2 = transfer( string2, s2 )
01431 s3 = transfer( string3, s3 )
01432 s4 = transfer( string4, s4 )
01433 s5 = transfer( string5, s5 )
01434 s6 = transfer( string6, s6 )
01435 s7 = transfer( string7, s7 )
01436 s8 = transfer( string8, s8 )
01437 s9 = transfer( string9, s9 )
01438 call plstripcf77(id, s1, s2, xmin, xmax, xjump, &
01439 ymin, ymax, xlpos, ylpos, iy_ascl, iacc, &
01440 colbox, collab, colline, styline, &
01441 s3, s4, s5, s6, &
01442 s7, s8, s9)
01443
01444 end subroutine plstripc
01445
01446 subroutine plsvect( arrowx, arrowy, fill )
01447 logical :: fill
01448 real(kind=plflt), dimension(:) :: arrowx, arrowy
01449 integer ifill
01450 ifill = convert_to_int(fill)
01451
01452 call plsvectf77( arrowx, arrowy, size(arrowx), ifill )
01453 end subroutine plsvect
01454
01455 subroutine plsym( x, y, code )
01456 integer :: code
01457 real(kind=plflt), dimension(:) :: x, y
01458
01459 call plsymf77( size(x), x, y, code )
01460 end subroutine plsym
01461
01462 subroutine plxormod( mode, status )
01463 logical :: mode, status
01464 integer :: imode, istatus
01465 imode = convert_to_int(mode)
01466 call plxormodf77( imode, istatus)
01467 status = convert_to_log(istatus)
01468 end subroutine plxormod
01469 end module plplot
01470