gnuplot-3.7.3/ 40755 1200 17 0 7576105266 12306 5ustar lheckingusersgnuplot-3.7.3/NeXT/ 40755 1200 17 0 7576105277 13126 5ustar lheckingusersgnuplot-3.7.3/NeXT/English.lproj/ 40755 1200 17 0 7576105251 15634 5ustar lheckingusersgnuplot-3.7.3/NeXT/English.lproj/GnuTerm.nib/ 40755 1200 17 0 7576105277 17774 5ustar lheckingusersgnuplot-3.7.3/NeXT/English.lproj/GnuTerm.nib/data.classes100644 1200 17 1313 6515203625 22343 0ustar lheckingusersGnuView = { ACTIONS = { }; OUTLETS = { }; SUPERCLASS = View; }; gnuviewController = { ACTIONS = { activate:; activatePushed:; windowWillClose:; windowDidBecomeMain:; deactivate:; }; OUTLETS = { gnuView; window; activateButton; controller; }; SUPERCLASS = Object; }; FirstResponder = { ACTIONS = { }; SUPERCLASS = Object; }; Controller = { ACTIONS = { setDefaultGTSize:; printPScodeInKey:; miniaturizeAll:; setKeyTitle:; setUseBuffered:; newGnuTerm:; closeAll:; appDidInit:; termWillClose:; }; OUTLETS = { DefaultSize; useKeyButton; useBufferedSwitch; gvList; NameField; activeTerm; keyTerm; }; SUPERCLASS = Object; }; gnuplot-3.7.3/NeXT/English.lproj/GnuTerm.nib/data.nib100644 1200 17 10065 6515203625 21502 0ustar lheckingusers typedstreamБвД@ДДД IBObjectDataДДObjectЕД@iДДД CustomObjectФД*@ДД ApplicationЕЖ.Д@@ДДДBoxДДViewДД ResponderФТДЪТЕДfДffffБ>Б╛ЮБ>Б╛ТЕТЕД@ss@ДДДListФДiД[5@]ШДДД TextFieldДДControlЪТЬЭЮ{Б:ЮБ:ТЬТЕЯЕБ ЕДi@sДДД TextFieldCellДД ActionCellДДCellФД*@ssДДGnuTerm gnuplot Terminal ServerДДДFontФД%fssДTimes-BoldItalicЖБТЕДi:ЕДff Дc░ЖБ└ТЕТЕТЕД:ЕЖДаТЬЭЮ CБ,3ЮБ,3ТЬТЕЯЕБ ЕеДгйДДdby Robert Lutwak Atomic Resonance and Spectroscopy Laboratory Massachusetts Institute of Technology ДимнЖБТЕоЕп ░░ЖБ└ТЕТЕТЕ▒ЕЖДаТЬЭЮБ"ЮБ"ТЬТЕЯЕБ ЕеДгйДДLPlease send all comments, suggestions, and bug reports to robert@amo.mit.eduДимД Times-RomanЖБТЕоЕп ░░ЖБ└ТЕТЕТЕ▒ЕЖДаТЬЭЮБшGЮGТЬТЕЯЕБ ЕеДгйДД Version 1.1ДимД Times-Italic ЖБТЕоЕпГ?*клГ>ккл░░ЖБ└ТЕТЕТЕ▒ЕЖЖ@ЕЖЭЮБ8Б╖ЮБ8Б╖ТЬТЕЯДЮбД[1@]ДЪТШЭЮБ(БзЮБ(БзТШТЕЯЕЕЖЖБЕпД@@sДейДДДимД Helvetica БАЖБЖ╢БАЖЬЩДЦЧДД ControllerЕЖХЩДЪТЕЭЮ Б╫{ЮБ╫{ТЕТЕЯДЮбД[2@]ДЩТ╝ЭЮ7Б╧DЮБ╧DТ╝ТЕЯДЮб╖ДЪТ╛ЭЮБ╦2ЮБ╦2Т╛ТЕЯДЮбД[3@]ДДДFormДДMatrixбТ└ЭЮZ-ЮZ-Т└ТЕЯЕБЕеЕБ╚ТЕТЕТЕТЕД@:@iiiiДЮб╝ДДДFormCellдйДД400╣Б0ТЕоЕДf@-ДейДДWidth:╣БАЖЖД╟йДД300╣Б0ТЕоЕ├-ДейДДHeight:╣БАЖЖЖЕЕ  пZпДff@@#::s  ЕД╟йД╣╣Б0ТЕоЕ├-ДейДДField:╣БАЖЖдЕЕБ░░ЖДДДButtonбТ└ЭЮs VЮVТ└ТЕЯЕБЙЕеДДД ButtonCellдйДД Set to Key ╣БТЕоЕДssБ╚йЕЕБЖБД@f╣ЖБ└ЖДаТ└ЭЮR-8Ю-8Т└ТЕЯЕБ ЕеДгйДД}ДимДHelvetica-Narrow0ЖБТЕоЕп ░░ЖБ└ТЕТЕТЕ▒ЕЖЖЕЖЖБЕп╕ДейДДDefault Window Size╣БЖ└Б╨ЖД╘Т╝ЭЮ-!БТЮБТТ╝ТЕЯЕБИЕеД╓йДДUse Buffered Windows╣БТЕоЕ╠Б╚йЕЕБ╚(ЩДДДNXImageФДs*БpДДNXswitchЖДт╙БpДД NXswitchHЖЖБ└ЖЖ@ЕЖДДДWindowTemplateФЮБ╠Б-Б╫{Д iiii***@s@ВяДДGnuTerm PreferencesДЫДДWindow╝БрxЕ░░ЖЩ╢ШЩЬДчЮБ%Б Б>Б╛╫ВяДДInfoДЫДДPanelЬБ`xЕ░░ЖЩыХЩДДД MenuTemplateФТДЁТЕп БпД*@*@cccДДGnuTermД─ТЕЭЮmxЮmxТЕТЕЯЕБЕеЕБ╪ТЕТЕТЕТЕ└ДЮбД[6@]ДДДMenuCell╓йД┌Дим║ БИЖБТДЁТёпwБ ▌Д┌Д─ТЕЭЮj(Юj(ТЕТЕЯЕБЕеЕБ╪ТЕТЕТЕТЕ└ДЮб╝ДЎйДД Info Panel...°БТЕоЕ╠Б╚йЕЕБй═°ТЕ▒ЕЖДЎйДДPreferences...°БТЕоЕ╠Б╚йЕЕБй═°ТЕ▒ЕЖЖЕЕ  пjп╟  ЕЕЎЕЕБ░░ЖДДMenuЕЖоДsubmenuAction:╠Б╚йЕЕБиЩДт╙БpДД NXmenuArrowЖЕТ∙▒ЕЖДЎйДДWIndows°БТяоф╠Б╚йЕЕБиЩЕТя▒ЕЖДЎйДДPage Layout...°БТЕоЕ╠Б╚йЕЕБйБP═°ТЕ▒ЕЖДЎйДДPrint...°БТЕоЕ╠Б╚йЕЕБйБp═°ТЕ▒ЕЖДЎйДДHide°БТЕоЕ╠Б╚йЕЕБйБh═°ТЕ▒ЕЖДЎйДДQuit°БТЕоЕ╠Б╚йЕЕБйБq═°ТЕ▒ЕЖЖЕЕ  пmп╟  ЕЕЎЕЕБ░░ЖДуЕЖпwБЫ▌ДцД─ТЕЭЮБЙБМЮБЙБМТЕТЕЯЕБЕеЕБ╚ТЕТЕТЕТЕ└ДЮбД[7@]ДЎйДДNew°БТЕоЕ╠Б╚йЕЕБйБn═°ТЕ▒ЕЖДЎйДД Set Title°БТЕоЕ╠Б╚йЕЕБйБT═°ТЕ▒ЕЖДЎйДДArrange in Front°БТЕоЕ╠Б╚йЕЕБй═°ТЕ▒ЕЖДЎйДДMiniaturize Window°БТЕоЕ╠Б╚йЕЕБйБm═°ТЕ▒ЕЖДЎйДДMiniaturize All╣БТЕоЕ╠Б╚йЕЕБйБM═╣ТЕ▒ЕЖДЎйДД Close Window°БТЕоЕ╠Б╚йЕЕБйБc═°ТЕ▒ЕЖДЎйДД Close All╣БТЕоЕ╠Б╚йЕЕБйБC═╣ТЕ▒ЕЖЖЕЕ  пБЙп╟  ЕЕЎЕЕБ░░ЖДуЕЖЩД╘ТДЪТЕЭЮБ│/ЮБ│/ТЕТЕЯДЮб╜ДаТ"ЭЮрБ╩ЮБ╩Т"ТЕЯЕБ ЕеДгйДДTerminal Name:ДимД Times-BoldЖБТЕоЕп ░░ЖБ└ТЕТЕТЕ▒ЕЖДаТ"ЭЮ|БьЮБьТ"ТЕЯЕБ ЕеДгйДДgnuplot output╣БЦ0ТЕоЕп░░ЖБ└ТЕТЕТЕ▒ЕЖ!Ж@ЕЖЭЮБp 8Ю8Т"ТЕЯЕБЙЕеД╓йДДOK╣БТЕоЕ╠Б╚йЕЕБЖиБ ЩДт╙БpДД NXreturnSignЖЕЖБ└Ж"Щ∙їЩнЬЩ└╛Щ √ЩЩЩєЩёХЩЩїєЩДЦЧДД FontManagerЕЖХЩцХЩйЬЩяЩ▐╝Щ"ДчЮББ▓Б│/╫ВяДДSet Terminal NameДЫД█"Б`xЕ░░ЖЩ▒ЬЩЩ╞┬Щ єЩ1ХЩєёЩ("Щ╦┬Щ$"ЩєЩ єЩ╪└Щ¤√ЩЩ╙└ЩЯЬЩЩ┬└ЩЩєЩ√∙Щ╛╝б Д@* Дщ·цДД Preferences·ХДД File's Owner·║Д╗·1ДД setTitlePanel· Дъ·ёДДMainMenu·ыДД InfoPanel·/ДД Font ManagerбТДЮбД[24@]ДДДIBControlConnectorДД IBConnectorФД@@* ХДДhide:ЖД@ ХДД terminate:ЖДДДIBOutletConnectorAХ║ДДdelegateЖД@ЕДДperformMiniaturize:ЖД@ЕДД performClose:ЖД@ЕДДarrangeInFront:ЖД@ЕДДrunPageLayout:ЖД@║ДДprintPScodeInKey:ЖД@1ДДmakeKeyAndOrderFront:ЖД@(!ДД performClick:ЖДF║(ДД NameFieldЖД@!║ДД setKeyTitle:ЖД@║ДД newGnuTerm:ЖДF║┬ДД DefaultSizeЖД@ цSЖД@¤ыSЖД@╦║ДДsetDefaultGTSize:ЖД@╞║aЖД@╙║aЖДF║╙ДД useKeyButtonЖД@▐║ДДsetUseBuffered:ЖДF║▐ДДuseBufferedSwitchЖД@║ДДminiaturizeAll:ЖД@║ДД closeAll:ЖЖТ/Жgnuplot-3.7.3/NeXT/English.lproj/gnuview.nib/ 40755 1200 17 0 7576105300 20062 5ustar lheckingusersgnuplot-3.7.3/NeXT/English.lproj/gnuview.nib/bigger.tiff100644 1200 17 404 6515203625 22247 0ustar lheckingusersMM*^кк*к┐ки к┐как┐кАк┐ки к┐ии К┐аккВ┐А и┐ и?А и┐аккВ┐ии К┐ки к┐кАк┐как┐ки к┐кк*к┐ UЇ№( №А' №А'gnuplot-3.7.3/NeXT/English.lproj/gnuview.nib/data.classes100644 1200 17 1150 6515203625 22445 0ustar lheckingusersGnuView = { ACTIONS = { }; OUTLETS = { prInfo; }; SUPERCLASS = View; }; gnuviewController = { ACTIONS = { largerPushed:; GVactivate:; deactivate:; smallerPushed:; windowDidBecomeMain:; windowWillClose:; activatePushed:; }; OUTLETS = { gnuView; window; activateButton; controller; }; SUPERCLASS = Object; }; FirstResponder = { ACTIONS = { }; SUPERCLASS = Object; }; Controller = { ACTIONS = { setKeyTitle:; appDidInit:; printPScodeInKey:; newGnuView:; }; OUTLETS = { NameField; activeTerm; keyTerm; }; SUPERCLASS = Object; }; gnuplot-3.7.3/NeXT/English.lproj/gnuview.nib/data.nib100644 1200 17 2320 6515203625 21560 0ustar lheckingusers typedstreamБвД@ДДД IBObjectDataДДObjectЕД@iДДД CustomObjectФД*@ДД ControllerЕЖ Д@@ДДДWindowTemplateФДffffБ╕БAБЇБНД iiii***@s@ВяДДДДViewДДWindowДДЮДД ResponderФТЕДfЫ БЇБНЫБЇБНТЕТЕД@ss@ДДДListФДiД[3@]ДДДBoxЮТЭбЫ■БЇЫБЇТЭТЕвДбдД[1@]ДЮТвбЫБш ЫБш ТвТЕвЕЕЖЖББИЕДffД@@sДДДCellФД*@ssДжДДДFontФД%fssД Helvetica БАЖБЖеБ└ЖДДД CustomViewЮТЭбЫБЇБwЫБЇБwТЭТЕвЕББHЕЧДДGnuViewЕЖДгТЭбЫБP№БбЫБбТЭТЕвДбдзДЮТобЫБбЫБбТоТЕвДбдеДДДButtonДДControlЮТ░бЫ1pЫpТ░ТЕвЕБЙЕДi@sДДД ButtonCellДД ActionCellзлДД--- ACTIVE ---йБЗТЕДi:ЕДssБ╚лЕЕБ╢ЕД@fйЖБ└ЖД│Т░бЫЫТ░ТЕвЕБЙЕ│Д╢лДЭйБ ТЕ╖Е╕Б╚лЕЕБЖ└ЩДДДNXImageФДs*Б@bДДbiggerЖЕЖБ└ЖД│Т░бЫЫТ░ТЕвЕБЙЕ│Д╢лДЭйБ ТЕ╖Е╕Б╚лЕЕБЗ└ЩД╜╗Б@bДДsmallerЖЕЖБ└ЖЖЕЖЖББДЕийДзлДДTitleйБЖ░ЖЖЕЖБ xЕДc┐иZ ЖХЩвЭЩЭШЩ▓░ЩоЭЩ╣░Щ┐░Щ░оЩевЩДЦЧДДgnuviewControllerЕЖХЩлЭдД@*ШДЯ┴ХДД File's Owner┴╞Д└дТДбд Д[9@]ДДДIBOutletConnectorДД IBConnectorФД@@*╞ШДДwindowЖД═╞Ш╞ДДdelegateЖД═╞╞лДДgnuViewЖД═╞╞ХДД controllerЖД═╞Х╞ДД activeTermЖД═╞╞▓ДДactivateButtonЖДДДIBControlConnector╬╞▓╞ДДactivatePushed:ЖД█╞╣╞ДД largerPushed:ЖД█╞┐╞ДДsmallerPushed:ЖЖТЕЖgnuplot-3.7.3/NeXT/English.lproj/gnuview.nib/smaller.tiff100644 1200 17 564 6515203625 22456 0ustar lheckingusersMM*▓ки кАки кАкАкАкакАки кАвк*вАаккВА*к и*каккВАвк*вАки кАкакАкАкАки кАки кА                                                                                      T\dl(R]UU №А' №А'gnuplot-3.7.3/NeXT/Controller.h100644 1200 17 1125 6515203624 15501 0ustar lheckingusers#import @interface Controller:Object { id activeTerm; id keyTerm; id NameField; NXConnection *myConnection; int wcnt; int backing; id gvList; id DefaultSize; /* textfield matrix */ id useKeyButton; id useBufferedSwitch; } - newGnuTerm:sender; - appDidInit:sender; - activeTerm; - setActiveTerm:newView; - setKeyTerm:newTerm; - setKeyTitle:sender; - printPScodeInKey:sender; - executePScode:(char *)PSstring termTitle:(char *)title; - termWillClose:sender; - setDefaultGTSize:sender; - setUseBuffered:sender; - closeAll:sender; - miniaturizeAll:sender; @end gnuplot-3.7.3/NeXT/Controller.m100644 1200 17 10737 6515203624 15537 0ustar lheckingusers#import #import "Controller.h" #import "gnuviewController.h" #import "GnuView.h" @implementation Controller - (id) activeTerm { return activeTerm; } - appDidInit:sender { id prInfo; NXRect *paperRect; static NXDefaultsVector GnuTermDefaults = { {"Width", "400"}, {"Height", "300"}, {"Backing", "Buffered"}, {NULL} }; activeTerm = keyTerm = nil; myConnection = [NXConnection registerRoot:self withName:"gnuplotServer"]; [myConnection runFromAppKit]; prInfo = [NXApp printInfo]; paperRect = (NXRect *) [prInfo paperRect]; [prInfo setOrientation:NX_LANDSCAPE andAdjust:YES]; [prInfo setHorizCentered:YES]; [prInfo setVertCentered:YES]; /* Get user Preferences */ NXRegisterDefaults("GnuTerm", GnuTermDefaults); [DefaultSize setStringValue:NXGetDefaultValue("GnuTerm","Width") at:0]; [DefaultSize setStringValue:NXGetDefaultValue("GnuTerm","Height") at:1]; if (!strcmp(NXGetDefaultValue("GnuTerm","Backing"), "Buffered")) { backing = NX_BUFFERED; [useBufferedSwitch setState:YES]; } else { backing = NX_RETAINED; [useBufferedSwitch setState:NO]; } gvList = [[List new] initCount:10]; return self; } - newGnuTerm:sender { NXRect frame; if ([gvList indexOf:keyTerm] != NX_NOT_IN_LIST) { [[keyTerm window] getFrame: &frame]; NX_X(&frame) += 24; NX_Y(&frame) -= 24; } else { NX_WIDTH(&frame) = atof(NXGetDefaultValue("GnuTerm","Width")); NX_HEIGHT(&frame) = atof(NXGetDefaultValue("GnuTerm","Height")); NX_X(&frame) = 200; NX_Y(&frame) = 350; } if ([NXApp loadNibSection: "gnuview.nib" owner: self] == nil) { return nil; } // fprintf(stderr,"newGnuTerm: %g x %g\n",NX_WIDTH(&frame),NX_HEIGHT(&frame)); [[activeTerm window] setBackingType:backing]; [[activeTerm window] placeWindowAndDisplay: &frame]; [self setKeyTerm:activeTerm]; [gvList addObject:activeTerm]; ++wcnt; return activeTerm; } - setActiveTerm:(id) newTerm { if (activeTerm != nil) [activeTerm deactivate:self]; activeTerm = newTerm; [activeTerm GVactivate:self]; return self; } - printPScodeInKey:sender { [[keyTerm gnuView] printPSCode:sender]; return self; } - setKeyTerm:newTerm { keyTerm = newTerm; [NameField setStringValue:[[keyTerm window] title]]; [NameField selectText:self]; return self; } - setKeyTitle:sender { [[keyTerm window] setTitle:[NameField stringValue]]; [[NameField window] performClose:self]; return self; } - executePScode:(char *)PSstring termTitle:(char *)title { int i, cnt; id test; char buf[50]; //fprintf(stderr, "Request for window: %s\n", title); if (*title) { /* If the window exists, use it */ cnt = [gvList count]; for (i=0; i < cnt; ++i) { test = [gvList objectAt:i]; if ( !strcmp([[test window] title], title)) { if (test != activeTerm) [self setActiveTerm:test]; break; } } /* O.K., it doesn't exist, what now? */ if (i == cnt) { [self newGnuTerm:self]; [[activeTerm window] setTitle: title]; } } else { if (activeTerm == nil) { [self newGnuTerm:self]; sprintf(buf, "gnuplot %d", wcnt); [[activeTerm window] setTitle: buf]; } } [[activeTerm window] makeKeyAndOrderFront: nil]; [[activeTerm gnuView] executePS:PSstring]; return activeTerm; } - termWillClose:sender { [gvList removeObject:sender]; if (activeTerm == sender) activeTerm =nil; return self; } - setDefaultGTSize:sender { NXRect frame; if (sender == useKeyButton) { fprintf(stderr, "useKey\n"); if ([gvList indexOf:keyTerm] != NX_NOT_IN_LIST) { [[keyTerm window] getFrame: &frame]; [DefaultSize setFloatValue:NX_WIDTH(&frame) at:0]; [DefaultSize setFloatValue:NX_HEIGHT(&frame) at:1]; } } NXWriteDefault("GnuTerm", "Width", [DefaultSize stringValueAt:0]); NXWriteDefault("GnuTerm", "Height", [DefaultSize stringValueAt:1]); fprintf(stderr, "setDefaultGTSize: %s x %s\n", [DefaultSize stringValueAt:0],[DefaultSize stringValueAt:1]); return self; } - setUseBuffered:sender { if ([sender state] == YES) { backing = NX_BUFFERED; NXWriteDefault("GnuTerm", "Backing", "Buffered"); } else { backing = NX_RETAINED; NXWriteDefault("GnuTerm", "Backing", "Retained"); } [[activeTerm window] setBackingType:backing]; return self; } - closeAll:sender { while([gvList count]) [[[gvList objectAt:0] window] performClose:self]; return self; } - miniaturizeAll:sender { int i, cnt; cnt = [gvList count]; for (i=0; i < cnt; ++i) [[[gvList objectAt:i] window] performMiniaturize:self]; return self; } @end gnuplot-3.7.3/NeXT/GnuTerm.iconheader100644 1200 17 60 6515203624 16546 0ustar lheckingusersF GnuTerm.app GnuTerm app F GnuTerm GnuTerm app gnuplot-3.7.3/NeXT/GnuTerm.tiff100644 1200 17 22302 6515203624 15460 0ustar lheckingusersMM*$                                                                                                                                                                                                                                     UUU                                                                                                                                                                                       UUU                                                                                                                                                                                       UUU                                                                                                                                                                                       UUU                                                                                                                                                                                       UUU                                                                                                                                                                                    UUU                                                                                                                   UUU UUU UUU                        UUU                                                                                      ккк  ккк ккк ккк                                                                              UUU                                                                                           ккк                                                                                      UUU                                                                                           ккк                                                                                      UUU                                                                                           ккк                                                                                      UUU                                                                                        ккк                                                                                      UUU                                                                                      UUU  UUU                                                                                      UUU                                                                                      UUU  UUU                                                                                      UUU                                                                                  UUU         ккк UUU                                                                                  UUU                                                                                  UUU             UUU                                                                                  UUU                                                                                  UUU             UUU                                                                                  UUU                                                                              UUU                     UUU                                                                              UUU                                                                           UUU                     UUU                                                                              UUU                                                                          UUU                             UUU                                                                          UUU                                                                       UUU                                                                                        UUU                                                               ккк     UUU  ккк                  UUU ккк ккк ккк ккк                                                          UUU                                                               ккк UUU      ккк                  ╟╟╟ UUU                                                                      UUU                                                               ккк UUU      ккк                                                                                      UUU                                                               UUU          ккк                  ккк ккк UUU ккк                                                              UUU                                                            UUU          ккк                  ббб     UUU                                                                  UUU                                                               ккк          ккк                  ╟╟╟         UUU                                                              UUU                                                          UUU            ккк                      UUU                                                          UUU                                                          UUU         ккк ккк ккк                         ккк ккк ккк ккк UUU                                                          UUU                                                                                                                                                                     UUU                                                UUU  ккк                                                          UUU ккк ккк                                           UUU                                                UUU  ккк                                                          ╟╟╟ UUU      ╟╟╟                                UUU                               ккк       ккк                                                          ббб UUU      ббб             ккк          UUU                   ккк ккк           UUU       ккк                                                                 ╟╟╟             ккк          UUU               ккк             ккк      UUU       ккк                                                          ккк  ккк UUU          ккк       ккк          UUU               ккк                 UUU  ккк       ккк                                                          ккк          UUU UUU  UUU UUU UUU  UUU UUU UUU  UUU  UUU UUU UUU  UUU UUU         ккк          ккк                                                          ккк                   ккк          ккк          UUU               ккк          ккк ╟╟╟     ккк             ккк                                                             ккк             ╟╟╟      ккк          ккк          UUU               ккк          ккк                                                                                                                  ккк          ккк          UUU                      ккк                                                                                                                     ккк             ккк          UUU                      ккк ккк ккк                                                                                                                                                      UUU                                                                                                                                                                                       UUU                                                                                                                                                                                       UUU                                                                                                                                                                                       UUU                                                                                                                                                                     UUU                                                UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU  00$к$$▓$║(R №А' №А'gnuplot-3.7.3/NeXT/GnuTerm_main.m100644 1200 17 507 6515203624 15733 0ustar lheckingusers/* Generated by the NeXT Project Builder NOTE: Do NOT change this file -- Project Builder maintains it. */ #import void main(int argc, char *argv[]) { [Application new]; if ([NXApp loadNibSection:"GnuTerm.nib" owner:NXApp withNames:NO]) [NXApp run]; [NXApp free]; exit(0); } gnuplot-3.7.3/NeXT/GnuView.h100644 1200 17 470 6515203624 14724 0ustar lheckingusers#import /* This is the coordinate system defined in next.trm. */ #define NEXT_XMAX 640 #define NEXT_YMAX 480 @interface GnuView:View { char *PSstring; } - drawSelf:(const NXRect *) rects : (int) rectCount; - initFrame: (NXRect *)rects; - executePS:(char *)PStext; - free; @end gnuplot-3.7.3/NeXT/GnuView.m100644 1200 17 4145 6515203624 14754 0ustar lheckingusers#import "GnuView.h" @implementation GnuView static NXCoord xsize= NEXT_XMAX; static NXCoord ysize= NEXT_YMAX; static int printing; static void setprintsize(); - initFrame: (NXRect *)rects { [super initFrame:rects]; PSstring = NULL; [self display]; return self; } /* This is here to fix NeXT bug # 21973: failure to free D.O. memory */ /* Note: personally I don't think this fixes it. */ - free { if (PSstring) free(PSstring); [super free]; return self; } - executePS:(char *) PStext { if (PSstring) free(PSstring); PSstring = PStext; [window makeKeyAndOrderFront:self]; [self display]; return self; } - drawSelf:(const NXRect *) rects : (int) rectCount { DPSContext d; d = DPSGetCurrentContext(); if (!printing) { /* Clear Screen */ PSsetgray(NX_WHITE); NXRectFill(&bounds); /* scale to gnuplot coords */ [self setDrawSize:xsize:ysize]; } else { setprintsize(); } if (PSstring) DPSWritePostScript(d, PSstring, strlen(PSstring)); DPSFlushContext(d); return self; } - printPSCode: sender { printing = 1; [super printPSCode:sender]; printing = 0; return self; } static void setprintsize() { DPSContext d; NXRect *paperRect; float width, height; id prInfo; float xscale, yscale; d = DPSGetCurrentContext(); prInfo = [NXApp printInfo]; paperRect = (NXRect *) [prInfo paperRect]; width = paperRect->size.width; height = paperRect->size.height; /* Leave margins on paper */ DPSPrintf(d, "grestore\ngrestore\ngrestore\n"); if ([prInfo orientation] == NX_LANDSCAPE) { DPSPrintf(d, "-90 rotate\n"); DPSPrintf(d, "%g 0 translate\n", -1 * paperRect->size.width); DPSPrintf(d, "0 %g translate\n", paperRect->size.height/100); xscale = width/NEXT_XMAX*0.95; yscale = height/NEXT_YMAX*0.9; DPSPrintf(d, "%g %g scale\n", xscale, yscale); } else { xscale = width/NEXT_XMAX*0.95; yscale = height/NEXT_YMAX*0.95; DPSPrintf(d, "%g %g scale\n", xscale, yscale); DPSPrintf(d, "0 %g translate\n", paperRect->size.height/100); } DPSPrintf(d, "gsave\ngsave\n"); DPSFlushContext(d); return; } @end gnuplot-3.7.3/NeXT/Makefile100644 1200 17 1667 6515203624 14660 0ustar lheckingusers# # Generated by the NeXT Project Builder. # # NOTE: Do NOT change this file -- Project Builder maintains it. # # Put all of your customizations in files called Makefile.preamble # and Makefile.postamble (both optional), and Makefile will include them. # NAME = GnuTerm PROJECTVERSION = 1.1 LANGUAGE = English APPICON = GnuTerm.tiff LOCAL_RESOURCES = GnuTerm.nib gnuview.nib CLASSES = Controller.m GnuView.m gnuviewController.m HFILES = Controller.h GnuView.h gnuviewController.h MFILES = GnuTerm_main.m OTHERSRCS = Makefile.preamble Makefile Makefile.postamble MAKEFILEDIR = /NextDeveloper/Makefiles/app MAKEFILE = app.make INSTALLDIR = $(HOME)/Apps INSTALLFLAGS = -c -s -m 755 SOURCEMODE = 444 ICONSECTIONS = -sectcreate __ICON app GnuTerm.tiff LIBS = -lMedia_s -lNeXT_s DEBUG_LIBS = $(LIBS) PROF_LIBS = $(LIBS) -include Makefile.preamble include $(MAKEFILEDIR)/$(MAKEFILE) -include Makefile.postamble -include Makefile.dependencies gnuplot-3.7.3/NeXT/Makefile.postamble100644 1200 17 11200 6515203625 16646 0ustar lheckingusers############################################################################### # NeXT Makefile.postamble Template # Copyright 1993, NeXT Computer, Inc. # # This Makefile is used for configuring the standard app makefiles associated # with ProjectBuilder. # # Use this template to set attributes for a project, sub-project, bundle, or # palette. Each node in the project's tree of sub-projects and bundles # should have it's own Makefile.preamble and Makefile.postamble. Additional # rules (e.g., after_install) that are defined by the developer should be # defined in this file. # ############################################################################### # # Here are the variables exported by the common "app" makefiles that can be # used in any customizations you make to the template below: # # PRODUCT_ROOT - Name of top-level app-wrapper (e.g., Webster.app) # OFILE_DIR - Directory into which .o object files are generated. # (Note that this name is calculated based on the target # architectures specified in Project Builder). # DERIVED_SRC_DIR - Directory used for all other derived files # ALL_CFLAGS - All the flags passed to the cc(1) driver for compilations # # NAME - name of application, bundle, subproject, palette, etc. # LANGUAGE - langage in which the project is written (default "English") # ENGLISH - boolean flag set iff $(LANGUAGE) = "English" # JAPANESE - boolean flag set iff $(LANGUAGE) = "Japanese" # LOCAL_RESOURCES - localized resources (e.g. nib's, images) of project # GLOBAL_RESOURCES - non-localized resources of project # PROJECTVERSION - version of ProjectBuilder that output Makefile # APPICON - application icon file # DOCICONS - dock icon files # ICONSECTIONS - Specifies icon sections when linking executable # # CLASSES - Class implementation files in project. # HFILES - Header files in project. # MFILES - Other Objective-C source files in project. # CFILES - Other C source files in project. # PSWFILES - .psw files in the project # PSWMFILES - .pswm files in the project # SUBPROJECTS - Subprojects of this project # BUNDLES - Bundle subprojects of this project # OTHERSRCS - Other miscellaneous sources of this project # OTHERLINKED - Source files not matching a standard source extention # # LIBS - Libraries to link with when making app target # DEBUG_LIBS - Libraries to link with when making debug target # PROF_LIBS - Libraries to link with when making profile target # OTHERLINKEDOFILES - Other relocatable files to (always) link in. # # APP_MAKEFILE_DIR - Directory in which to find generic set of Makefiles # MAKEFILEDIR - Directory in which to find $(MAKEFILE) # MAKEFILE - Top level mechanism Makefile (e.g., app.make, bundle.make) # INSTALLDIR - Directory app will be installed into by 'install' target # Change defaults assumed by the standard app makefiles here. Edit the # following default values as appropriate. (Note that if no Makefile.postamble # exists, these values will have defaults set in common.make). # Add Makefile.preamble, Makefile.postamble, and Makefile.dependencies here if # you would like changes to them to invalidate previous builds. The project # depends on $(MAKEFILES) so that changes to Makefiles will trigger a re-build. #MAKEFILES = Makefile # Optimization flag passed to compiler: #OPTIMIZATION_CFLAG = -O # Flags passed to compiler in normal 'app' compiles: #NORMAL_CFLAGS = -g $(OPTIMIZATION_CFLAG) -Wall # Flags passed to compiler in 'debug' compiles: #DEBUG_CFLAGS = -g -Wall -DDEBUG # Flags passed to compiler in 'profile' compiles #PROFILE_CFLAGS = -g -pg $(OPTIMIZATION_CFLAG) -Wall -DPROFILE # Ownership and permissions of files installed by 'install' target #INSTALL_AS_USER = root # User to chown app to #INSTALL_AS_GROUP = wheel # Group to chgrp app to #INSTALL_PERMISSIONS = # If set, 'install' chmod's executable to this # Options to strip for bundles, apps with bundles, and apps without bundles, # respectively. #RELOCATABLE_STRIP_OPTS = -x -u #DYLD_APP_STRIP_OPTS = -A -n #APP_STRIP_OPTS = #TOOL_STRIP_OPTS = # (Note: APP_STRIP_OPTS and TOOL_STRIP_OPTS default to empty, but # developers doing their own dynamic loading should set this to # $(DYLD_APP_STRIP_OPTS)). ######################################################################### # Put rules to extend the behavior of the standard Makefiles here. Typical # user-defined rules are before_install and after_install (please don't # redefine things like install or app, as they are owned by the top-level # Makefile API), which are rules that get invoked before and after the install # target runs. Such rules should be specified with the '::' syntax rather than # a single colon. gnuplot-3.7.3/NeXT/Makefile.preamble100644 1200 17 6627 6515203625 16450 0ustar lheckingusers############################################################################### # NeXT Makefile.preamble Template # Copyright 1993, NeXT Computer, Inc. # # This Makefile is used for configuring the standard app makefiles associated # with ProjectBuilder. # # Use this template to set attributes for a project, sub-project, bundle, or # palette. Each node in the project's tree of sub-projects and bundles # should have it's own Makefile.preamble and Makefile.postamble. # ############################################################################### ## Configure the flags passed to $(CC) here. These flags will also be ## inherited by all nested sub-projects and bundles. Put your -I, -D, -U, and ## -L flags here. To change the default flags that get passed to ${CC} ## (e.g. change -O to -O2), see Makefile.postamble. # Flags passed to compiler (in addition to -g, -O, etc) OTHER_CFLAGS = # Flags passed to ld (in addition to -ObjC, etc.) OTHER_LDFLAGS = ## Configure what is linked in at each level here. Libraries are only used in ## the final 'app' linking step. Final 'app' linking is only done via the ## 'app', 'debug', and 'profile' targets when they are invoked for ## the top-level app. # Additional relocatables to be linked in at this level OTHER_OFILES = # Additional libs to link apps against ('app' target) OTHER_LIBS = # Additional libs to link apps against ('debug' target) OTHER_DEBUG_LIBS = # Additional libs to link apps against ('profile' target) OTHER_PROF_LIBS = # More 'app' libraries when $(JAPANESE) = "YES" OTHER_JAPANESE_LIBS = # More 'debug' libraries when $(JAPANESE) = "YES" OTHER_JAPANESE_DEBUG_LIBS = # More 'profile' libs when $(JAPANESE) = "YES" OTHER_JAPANESE_PROF_LIBS = ## Configure how things get built here. Additional dependencies, sourcefiles, ## derived files, and build order should be specified here. # Other dependencies of this project OTHER_PRODUCT_DEPENDS = # Built *before* building subprojects/bundles OTHER_INITIAL_TARGETS = # Other source files maintained by .pre/postamble OTHER_SOURCEFILES = # Additional files to be removed by `make clean' OTHER_GARBAGE = # Precompiled headers to be built before any compilation occurs (e.g., draw.p) PRECOMPS = # Targets to be built before subprojects & bundles OTHER_INITIAL_TARGETS = # A virtual root directory (other than /) to be prepended to the $(INSTALLDIR) # passed from ProjectBuilder. DSTROOT = ## Add more obscure source files here to cause them to be automatically ## processed by the appropriate tool. Note that these files should also be ## added to "Supporting Files" in ProjectBuilder. The desired .o files that ## result from these files should also be added to OTHER_OFILES above so they ## will be linked in. # .msg files that should have msgwrap run on them MSGFILES = # .defs files that should have mig run on them DEFSFILES = # .mig files (no .defs files) that should have mig run on them MIGFILES = ## Add additional Help directories here (add them to the project as "Other ## Resources" in Project Builder) so that they will be compressed into .store ## files and copied into the app wrapper. If the help directories themselves ## need to also be in the app wrapper, then a cp command will need to be added ## in an after_install target. OTHER_HELP_DIRS = # Don't add more rules here unless you want the first one to be the default # target for make! Put all your targets in Makefile.postamble. gnuplot-3.7.3/NeXT/PB.gdbinit100644 1200 17 166 6515203625 15035 0ustar lheckingusers# # Generated by the NeXT Project Builder. # # NOTE: Do NOT change this file -- Project Builder maintains it. # view gnuplot-3.7.3/NeXT/PB.project100644 1200 17 1267 6515203625 15106 0ustar lheckingusersINSTALLDIR = "$(HOME)/Apps"; APPICON = GnuTerm.tiff; GENERATEMAIN = YES; DOCICONFILES = (); FILESTABLE = { OTHER_LIBS = (Media_s, NeXT_s); CLASSES = (Controller.m, GnuView.m, gnuviewController.m); OTHER_SOURCES = (Makefile.preamble, Makefile, Makefile.postamble); INTERFACES = (GnuTerm.nib, gnuview.nib); H_FILES = (Controller.h, GnuView.h, gnuviewController.h); IMAGES = (); OTHER_LINKED = (); M_FILES = (GnuTerm_main.m); }; APPCLASS = Application; MAINNIB = GnuTerm; DOCEXTENSIONS = (); PROJECTTYPE = Application; PROJECTVERSION = 1.1; LOCALIZABLE_FILES = { GnuTerm.nib; gnuview.nib; }; PROJECTNAME = GnuTerm; SYSTEMEXTENSIONS = (); LANGUAGE = English; gnuplot-3.7.3/NeXT/README.rtf100644 1200 17 2322 6515203625 14660 0ustar lheckingusers{\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;\f2\fmodern Ohlfs;} \paperw13040 \paperh10200 \margl120 \margr120 \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Hi.\ \ This directory contains the source code for my cool new NeXTstep\ gnuplot filter. For more details about the usage of the filter,\ please see the GnuTerm distribution.\ \ This document describes how to compile the distribution.\ \ Because the terminal works via NeXTstep distributed objects, the\ source code contains two parts, modifications to the gnuplot \ source distribution and the source for GnuTerm.app itself.\ \ Here's how I recommend building it:\ \ \ \ \b\ul\fs32 Building GnuTerm.app\ \ \b0\ulnone\fs24 Fire up /NextDeveloper/Apps/ProjectBuilder.app\ Open /YourGnuplotSourceDirectory/NeXT/PB.Project from ProjectBuilder's File->Open menu.\ Select your desired fatness from the options panel.\ Click on BUILD.\ \ This will build GnuTerm.app in /YourGnuplotSourceDirectory/NeXT.\ You will probably then want to move GnuTerm.app to /LocalApps or ~/Apps.\ \ \ If you have any suggestions or uncover bugs please address all correspondance to me at robert@amo.mit.edu\ \ Robert Lutwak\ June 29, 1996\ \ } gnuplot-3.7.3/NeXT/bigger.tiff100644 1200 17 404 6515203625 15276 0ustar lheckingusersMM*^кк*к┐ки кАкакАкАкАки к┐ии К░аккВАА иА иА и╝аккВ┐ии К┐ки к┐кАк┐как╝ки кАкк*кА UЇ№( №А' №А'gnuplot-3.7.3/NeXT/gnuviewController.h100644 1200 17 514 6515203625 17070 0ustar lheckingusers #import @interface gnuviewController:Object { id window; id gnuView; id activateButton; id controller; } - window; - windowWillClose:sender; - windowDidBecomeMain:sender; - gnuView; - activatePushed:sender; - deactivate:sender; - GVactivate:sender; - largerPushed:sender; - smallerPushed:sender; @end gnuplot-3.7.3/NeXT/gnuviewController.m100644 1200 17 2434 6515203625 17120 0ustar lheckingusers#import "gnuviewController.h" #import "Controller.h" @implementation gnuviewController - window { return window; } - gnuView { return gnuView; } - windowWillClose:sender { [sender setDelegate: nil]; [controller termWillClose:self]; return self; } - windowDidBecomeMain:sender { [controller setKeyTerm:self]; return self; } - activatePushed:sender { if ([sender state] == 1) { [controller setActiveTerm: self]; [sender setTitle:"--- ACTIVE ---"]; } else { [controller setActiveTerm:nil]; [sender setTitle:"Activate"]; } return self; } - deactivate:sender { [activateButton setState:0]; [activateButton setTitle:"Activate"]; return self; } - GVactivate:sender { [activateButton setState:1]; [activateButton setTitle:"--- ACTIVE ---"]; return self; } - largerPushed:sender { NXRect oldFrame; double factor; [[window contentView] getFrame:&oldFrame]; factor = 1.3; [window sizeWindow:oldFrame.size.width*factor:oldFrame.size.height*factor]; [[window contentView] display]; return self; } - smallerPushed:sender { NXRect oldFrame; double factor; [[window contentView] getFrame:&oldFrame]; factor = 1.3; [window sizeWindow:oldFrame.size.width/factor:oldFrame.size.height/factor]; [[window contentView] display]; return self; } @end gnuplot-3.7.3/NeXT/smaller.tiff100644 1200 17 564 6515203625 15505 0ustar lheckingusersMM*▓ки кАки кАкАкАкакАки кАвк*вАаккВА*к и*каккВАвк*вАки кАкакАкАкАки кАки кА                                                                                      T\dl(R]UU №А' №А'gnuplot-3.7.3/beos/ 40755 1200 17 0 7576105300 13223 5ustar lheckingusersgnuplot-3.7.3/beos/GPApp.cpp100644 1200 17 15652 6677003741 15033 0ustar lheckingusers/*[ * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley * * Permission to use, copy, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. * * Permission to modify the software is granted, but not the right to * distribute the complete modified source code. Modifications are to * be distributed as patches to the released version. Permission to * distribute binaries produced by compiling modified sources is granted, * provided you * 1. distribute the corresponding source modifications from the * released version in the form of a patch file along with the binaries, * 2. add special version identification to distinguish your version * in addition to the base release version number, * 3. provide your name and address as the primary contact for the * support of your modified version, and * 4. retain our contact information in regard to use of the base * software. * Permission to distribute the released version of the source code along * with corresponding source modifications in the form of a patch file is * granted with same provisions 2 through 4 for binary distributions. * * This software is provided "as is" without express or implied warranty * to the extent permitted by applicable law. ]*/ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "constants.h" #include "GPBitmap.h" #include "GPView.h" #include "GPApp.h" #include "GPWindow.h" // Application's signature const char *APP_SIGNATURE = "application/x-vnd.Xingo-gnuplotViewer"; BRect windowRect(50,50,600,400); // // main // // The main() function's only real job in a basic BeOS // application is to create the BApplication object // and run it. // int main(void) { GPApp theApp; // The application object theApp.Run(); return 0; } // // GPApp::GPApp // // The constructor for the WEApp class. This // will create our window. // GPApp::GPApp() : BApplication(APP_SIGNATURE) { window_count = 0; // No windows yet next_untitled_number = 1; // Next window is "Untitled 1" // Create the Open file panel // openPanel = new BFilePanel; } // // GPApp::MessageReceived // // Handle incoming messages. In particular, handle the // WINDOW_REGISTRY_ADD and WINDOW_REGISTRY_SUB messages. // void GPApp::MessageReceived(BMessage *message) { switch(message->what) { case WINDOW_REGISTRY_ADD: { bool need_id = false; BMessage reply(WINDOW_REGISTRY_ADDED); if (message->FindBool("need_id", &need_id) == B_OK) { if (need_id) { reply.AddInt32("new_window_number", next_untitled_number); next_untitled_number++; } window_count++; } reply.AddRect("rect", windowRect); windowRect.OffsetBy(20,20); message->SendReply(&reply); break; } case WINDOW_REGISTRY_SUB: window_count--; if (!window_count) { Quit(); } break; case MENU_FILE_OPEN: // openPanel->Show(); // Show the file panel break; default: BApplication::MessageReceived(message); break; } } // // GPApp::RefsReceived // // Handle a refs received message. // void GPApp::RefsReceived(BMessage *message) { entry_ref ref; // The entry_ref to open status_t err; // The error code int32 ref_num; // The index into the ref list // Loop through the ref list and open each one #if 0 ref_num = 0; do { if ((err = message->FindRef("refs", ref_num, &ref)) != B_OK) { return; } new GPWindow(windowRect, &ref); ref_num++; } while (1); #endif } void GPApp::ReadyToRun(void) { io_thread = spawn_thread(&io_loop, "gnuplot io_loop", B_LOW_PRIORITY, NULL); resume_thread(io_thread); } int32 GPApp::io_loop(void* data) { static plot_struct plot_array[MAX_WINDOWS]; int32 res = 1; while(res) res = io_task(plot_array); return res; } int32 GPApp::io_task(plot_struct *plot_array) { char buf[256]; struct plot_struct *plot = plot_array; FILE *fp = stdin; BMessage msg(bmsgNewCmd); int cnt = 0; while (fgets(buf, 256, fp)) { // printf("Got : %s", buf); switch (*buf) { case 'G': /* enter graphics mode */ { //printf("entering gfx mode\n"); int plot_number = atoi(buf + 1); /* 0 if none specified */ if (plot_number < 0 || plot_number >= MAX_WINDOWS) plot_number = 0; //printf("plot for window number %d\n", plot_number); plot = plot_array + plot_number; prepare_plot(plot, plot_number); continue; } case 'E': /* leave graphics mode / suspend */ { // BMessage msg(bmsgBitmapDirty); msg.AddInt32("numcmds",cnt); msg.AddPointer("cmds", plot->commands); if(plot->window) plot->window->PostMessage(&msg); // printf("displaying %d cmds, %X at %X\n",cnt,plot->commands[0],&plot->commands[0]); // display(plot); cnt = 0; return 1; } case 'R': /* leave x11 mode */ { //printf("leaving gfx mode\n"); return 0; } default: { // msg.AddString("cmd",buf); // plot->window->PostMessage(&msg); store_command(buf, plot); cnt++; continue; } } } /* get here if fgets fails */ return (feof(fp) || ferror(fp)) ? 0 : 1; } void GPApp::prepare_plot(plot_struct *plot, int term_number) { int i; for (i = 0; i < plot->ncommands; ++i) free(plot->commands[i]); plot->ncommands = 0; if (!plot->posn_flags) { /* first time this window has been used - use default or -geometry * settings */ plot->posn_flags = 1; plot->x = 50; plot->y = 20; plot->width = 400; plot->height = 400; } if (!plot->window) { windowRect.Set(plot->x,plot->y,plot->width,plot->height); plot->window = new GPWindow(windowRect); } else { BMessage msg(bmsgClrCmd); plot->window->PostMessage(&msg); } } void GPApp::display(plot_struct *plot) { BMessage msg(bmsgBitmapDirty); if(plot->window) plot->window->PostMessage(&msg); } /* store a command in a plot structure */ void GPApp::store_command(char *buffer, plot_struct *plot) { char *p; // BMessage msg(bmsgNewCmd); // FPRINTF((stderr, "Store in %d : %s", plot - plot_array, buffer)); if (plot->ncommands >= plot->max_commands) { plot->max_commands = plot->max_commands * 2 + 1; plot->commands = (plot->commands) ? (char **) realloc(plot->commands, plot->max_commands * sizeof(char *)) : (char **) malloc(sizeof(char *)); } p = (char *) malloc((unsigned) strlen(buffer) + 1); if (!plot->commands || !p) { fputs("gnuplot: can't get memory. aborted.\n", stderr); exit(1); } plot->commands[plot->ncommands++] = strcpy(p, buffer); // msg.AddString("cmd",buffer); // plot->window->PostMessage(&msg); } gnuplot-3.7.3/beos/GPApp.h100644 1200 17 4543 6677003743 14457 0ustar lheckingusers/*[ * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley * * Permission to use, copy, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. * * Permission to modify the software is granted, but not the right to * distribute the complete modified source code. Modifications are to * be distributed as patches to the released version. Permission to * distribute binaries produced by compiling modified sources is granted, * provided you * 1. distribute the corresponding source modifications from the * released version in the form of a patch file along with the binaries, * 2. add special version identification to distinguish your version * in addition to the base release version number, * 3. provide your name and address as the primary contact for the * support of your modified version, and * 4. retain our contact information in regard to use of the base * software. * Permission to distribute the released version of the source code along * with corresponding source modifications in the form of a patch file is * granted with same provisions 2 through 4 for binary distributions. * * This software is provided "as is" without express or implied warranty * to the extent permitted by applicable law. ]*/ #ifndef __GNUPLOTAPP_H__ #define __GNUPLOTAPP_H__ extern const char *APP_SIGNATURE; #define MAX_WINDOWS 10 typedef struct plot_struct { BWindow *window; // GPBixmap *pixmap; unsigned int posn_flags; int x, y; unsigned int width, height; /* window size */ unsigned int px, py; /* pointsize */ int ncommands, max_commands; char **commands; } plot_struct; class GPApp : public BApplication { public: GPApp(); virtual void ReadyToRun(void); virtual void MessageReceived(BMessage *message); virtual void RefsReceived(BMessage *message); private: int32 window_count; int32 next_untitled_number; void prepare_plot(plot_struct *plot, int term_number); void store_command(char *buffer, plot_struct *plot); void display(plot_struct *plot); int32 io_task(plot_struct *data); int32 io_loop(void *data); thread_id io_thread; // BFilePanel *openPanel; }; #endif gnuplot-3.7.3/beos/GPBitmap.cpp100644 1200 17 25212 6677003744 15523 0ustar lheckingusers #include #include #include #include "GPBitmap.h" #include "GPView.h" #include "constants.h" #include #include #define LineSolid 1 /*******************************************************************/ // GPBitmap GPBitmap::GPBitmap(float width, float height) { m_bitmap = new BBitmap(BRect(0,0,width-1,height-1),B_RGB_32_BIT,TRUE); BRect r(0,0,width-1,height-1); m_view = new BView(r,"BitmapDrawer",B_FOLLOW_ALL,0); m_bitmap->AddChild(m_view); max_commands = 7; ncommands = 0; m_needRedraw = false; m_redrawing = false; commands = (char **) malloc(max_commands * sizeof(char *)); this->width = nwidth = width; this->height = nheight = height; for(int i=1 ; i<16 ; i++) { colors[i].red = i*16; colors[i].green = i*16; colors[i].blue = i*16; colors[i].alpha = 255; } }; GPBitmap::GPBitmap(float width, float height, char **cmds) { } GPBitmap::~GPBitmap() { if (m_bitmap) delete m_bitmap; if(m_view) delete m_view; if(ncommands) clearCommands(); if(commands) { free(commands); commands = NULL; } } void GPBitmap::SetDirty(BRegion *r) { BMessage msg(bmsgBitmapDirty); m_needRedraw = true; } void GPBitmap::clearCommands() { int32 ncmds = atomic_add(&ncommands,-ncommands); if(ncmds > 0) { for( --ncmds ; ncmds >= 0 ; ncmds--) { if(commands[ncmds]) free(commands[ncmds]); commands[ncmds] = NULL; } } } #if 1 void GPBitmap::addCommands(BMessage *msg, int32 numCmds) { char *p, **cmd = NULL; if (numCmds+ncommands >= max_commands) { max_commands = max_commands + numCmds + 2; commands = (commands) ? (char **) realloc(commands, max_commands * sizeof(char *)) : (char **) malloc(sizeof(char *)); } if (!commands) { fputs("gnuplot: can't get memory. aborted.\n", stderr); // exit(1); } else { msg->FindPointer("cmds", (void **)&cmd); // printf("got : %X at %X\n",cmd[0], cmd); for(int i=0; i< numCmds; i++) { // cmd = msg->FindString("cmd", i); // p = (char *) malloc((unsigned) strlen(cmd[i]) + 1); // if (!p) { // fputs("gnuplot: can't get memory. aborted.\n", stderr); // exit(1); // } else // commands[ncommands++] = strcpy(p, cmd[i]); commands[ncommands++] = strdup(cmd[i]); // commands[ncommands++] = cmd[i]; m_needRedraw = true; } } } #else void GPBitmap::addCommands(BMessage *msg, int32 numCmds) { char *cmd = NULL; if (numCmds+ncommands >= max_commands) { max_commands = max_commands + numCmds + 2; commands = (commands) ? (char **) realloc(commands, max_commands * sizeof(char *)) : (char **) malloc(sizeof(char *)); } if (!commands) { fputs("gnuplot: can't get memory. aborted.\n", stderr); // exit(1); } else { for(int i=0; i< numCmds; i++) { cmd = msg->FindString("cmd", i); commands[ncommands++] = strdup(cmd); m_needRedraw = true; } } } #endif void GPBitmap::addCommand(char *cmd) { // printf("adding a cmd : %s\n",cmd); if(!cmd) return; if (ncommands >= max_commands) { max_commands = max_commands * 2 + 1; commands = (commands) ? (char **) realloc(commands, max_commands * sizeof(char *)) : (char **) malloc(sizeof(char *)); } if (!commands) { fputs("gnuplot: can't get memory. X11 aborted.\n", stderr); return; // exit(1); } else { commands[ncommands++] = strdup(cmd); m_needRedraw = true; } } void GPBitmap::ResizeTo(float width, float height, uint32 btns) { if(btns) { nwidth = width; nheight = height; // m_needRedraw = true; return; } BRect r(0,0,width-1,height-1); if (m_bitmap) m_bitmap->Lock(); if(m_view) { m_bitmap->RemoveChild(m_view); m_view->ResizeTo(nwidth, nheight); } else m_view = new BView(r,"BitmapDrawer",B_FOLLOW_ALL,0); // drawing_thread = spawn_thread(&drawing_loop, "gnuplot io_loop", B_LOW_PRIORITY, this); // resume_thread(drawing_thread); // kill_thread(drawing_thread); if (m_bitmap) { m_bitmap->Unlock(); delete m_bitmap; } m_bitmap = new BBitmap(r,B_RGB_32_BIT,TRUE); m_bitmap->Lock(); m_bitmap->AddChild(m_view); this->width = nwidth = width; this->height = nheight = height; m_needRedraw = true; } int32 GPBitmap::drawing_loop(void* data) { int32 res = 1; GPBitmap * bmp = (GPBitmap *)data; return res; } /*----------------------------------------------------------------------------- * display - display a stored plot *---------------------------------------------------------------------------*/ void GPBitmap::display(float v_width, float v_height) { int n, x, y, jmode, sl, lt = 0, type, point, px, py; int uwidth, user_width = 1; /* as specified by plot...linewidth */ char *buffer, *str; float sw, vchar; uint32 buttons; BPoint cursor; m_view->GetMouse(&cursor, &buttons); if(buttons == 0) { if ((width != v_width ) || (height != v_height)) ResizeTo(v_width, v_height, 0); } if (ncommands == 0 || m_needRedraw == false) return; vchar = 11.0; m_view->SetFontSize(vchar); /* set scaling factor between internal driver & window geometry */ xscale = width / 4096.0; yscale = height / 4096.0; /* initial point sizes, until overridden with P7xxxxyyyy */ px = (int) (xscale * pointsize); py = (int) (yscale * pointsize); /* set pixmap background */ m_view->SetHighColor(255,255,255); m_view->FillRect(BRect(0,0,width,height)); m_view->SetViewColor(colors[2]); /* loop over accumulated commands from inboard driver */ for (n = 0; n < ncommands; n++) { buffer = commands[n]; /* X11_vector(x,y) - draw vector */ if (*buffer == 'V') { sscanf(buffer, "V%4d%4d", &x, &y); m_view->StrokeLine( BPoint(X(cx), Y(cy)),BPoint(X(x), Y(y))); cx = x; cy = y; } /* X11_move(x,y) - move */ else if (*buffer == 'M') { sscanf(buffer, "M%4d%4d", &cx, &cy); m_view->MovePenTo(BPoint(X(cx), Y(cy))); } /* X11_put_text(x,y,str) - draw text */ else if (*buffer == 'T') { sscanf(buffer, "T%4d%4d", &x, &y); str = buffer + 9; sl = strlen(str) - 1; sw = m_view->StringWidth(str, sl); switch (jmode) { case CENTRE: sw = -sw / 2; break; case RIGHT: sw = -sw; break; case LEFT: sw = 0; break; } m_view->SetHighColor(colors[2]); m_view->DrawString(str, sl, BPoint(X(x) + sw, Y(y) + vchar / 3 )); m_view->SetHighColor(colors[lt + 3]); } else if (*buffer == 'F') { /* fill box */ int style, xtmp, ytmp, w, h; if (sscanf(buffer + 1, "%4d%4d%4d%4d%4d", &style, &xtmp, &ytmp, &w, &h) == 5) { /* gnuplot has origin at bottom left, but X uses top left * There may be an off-by-one (or more) error here. * style ignored here for the moment */ m_view->SetHighColor(colors[0]); m_view->FillRect(BRect(X(xtmp), Y(ytmp + h), w * xscale, h * yscale)); m_view->SetHighColor(colors[lt + 3]); } } /* X11_justify_text(mode) - set text justification mode */ else if (*buffer == 'J') sscanf(buffer, "J%4d", (int *) &jmode); /* X11_linewidth(width) - set line width */ else if (*buffer == 'W') sscanf(buffer + 1, "%4d", &user_width); /* X11_linetype(type) - set line type */ else if (*buffer == 'L') { sscanf(buffer, "L%4d", <); lt = (lt % 8) + 2; /* default width is 0 {which X treats as 1} */ uwidth = user_width; // widths[lt] ? user_width * widths[lt] : user_width; // if (dashes[lt][0]) { // type = LineOnOffDash; // XSetDashes(dpy, gc, 0, dashes[lt], strlen(dashes[lt])); // } else { type = LineSolid; // } m_view->SetHighColor(colors[lt + 3]); m_view->SetPenSize(uwidth); m_view->SetLineMode(B_ROUND_CAP,B_BEVEL_JOIN); // XSetLineAttributes(dpy, gc, width, type, CapButt, JoinBevel); } /* X11_point(number) - draw a point */ else if (*buffer == 'P') { /* linux sscanf does not like %1d%4d%4d" with Oxxxxyyyy */ /* sscanf(buffer, "P%1d%4d%4d", &point, &x, &y); */ point = buffer[1] - '0'; sscanf(buffer + 2, "%4d%4d", &x, &y); if (point == 7) { /* set point size */ px = (int) (x * xscale * pointsize); py = (int) (y * yscale * pointsize); } else { if (type != LineSolid || uwidth != 0) { /* select solid line */ m_view->SetPenSize(1.0); m_view->SetLineMode(B_ROUND_CAP,B_BEVEL_JOIN); // XSetLineAttributes(dpy, gc, 0, LineSolid, CapButt, JoinBevel); } switch (point) { case 0: /* dot */ doDot(x,y); break; case 1: /* do diamond */ doDiamond(x,y,px,py); break; case 2: /* do plus */ doPlus(x,y,px,py); break; case 3: /* do box */ doBox(x,y,px,py); break; case 4: /* do X */ doCross(x,y,px,py); break; case 5: /* do triangle */ doTriangle(x,y,px,py); break; case 6: /* do star */ doStar(x,y,px,py); break; } if (type != LineSolid || uwidth != 0) { /* select solid line */ m_view->SetPenSize(uwidth); // canview->SetLineMode(B_ROUND_CAP,B_ROUND_JOIN); // XSetLineAttributes(dpy, gc, width, type, CapButt, JoinBevel); } } } /* end X11_point(number) - draw a point */ } /* end loop over accumulated commands from inboard driver */ m_view->Sync(); m_needRedraw = false; } void GPBitmap::doDiamond(int x, int y, int px, int py) { m_view->StrokeLine(BPoint(X(x) - px, Y(y)),BPoint(X(x), Y(y) - py)); m_view->StrokeLine(BPoint(X(x) + px, Y(y))); m_view->StrokeLine(BPoint(X(x), Y(y) + py)); m_view->StrokeLine(BPoint(X(x) - px, Y(y))); m_view->StrokeLine(BPoint(X(x), Y(y)),BPoint(X(x), Y(y))); } void GPBitmap::doPlus(int x, int y, int px, int py) { m_view->StrokeLine(BPoint(X(x) - px, Y(y)),BPoint(X(x) + px, Y(y))); m_view->StrokeLine(BPoint(X(x), Y(y) - py),BPoint(X(x), Y(y) + py)); } void GPBitmap::doBox(int x, int y, int px, int py) { m_view->StrokeRect(BRect(X(x) - px, Y(y) - py, (px + px), (py + py))); m_view->StrokeLine(BPoint(X(x), Y(y)),BPoint(X(x), Y(y))); } void GPBitmap::doCross(int x, int y, int px, int py) { m_view->StrokeLine(BPoint(X(x) - px, Y(y) - py),BPoint(X(x) + px, Y(y) + py)); m_view->StrokeLine(BPoint(X(x) - px, Y(y) + py),BPoint(X(x) + px, Y(y) - py)); } void GPBitmap::doTriangle(int x, int y, int px, int py) { short temp_x, temp_y; temp_x = (short) (1.33 * (double) px + 0.5); temp_y = (short) (1.33 * (double) py + 0.5); m_view->StrokeLine(BPoint(X(x), Y(y) - temp_y), BPoint(X(x) + temp_x, Y(y) - temp_y + 2 * py)); m_view->StrokeLine(BPoint(X(x) - temp_x, Y(y) - temp_y + 2 * py)); m_view->StrokeLine(BPoint(X(x), Y(y) - temp_y)); m_view->StrokeLine(BPoint(X(x), Y(y)),BPoint(X(x), Y(y))); } void GPBitmap::doStar(int x, int y, int px, int py) { m_view->StrokeLine(BPoint(X(x)-px, Y(y)), BPoint(X(x) + px, Y(y))); m_view->StrokeLine(BPoint(X(x), Y(y)-py), BPoint(X(x), Y(y)+py)); m_view->StrokeLine(BPoint(X(x)-px, Y(y)-py), BPoint(X(x)+px, Y(y)+py)); m_view->StrokeLine(BPoint(X(x)-px, Y(y)+py), BPoint(X(x)+px, Y(y)-py)); } void GPBitmap::doDot(int x, int y) { m_view->StrokeLine(BPoint(X(x), Y(y)),BPoint(X(x), Y(y))); } gnuplot-3.7.3/beos/GPBitmap.h100644 1200 17 7167 6677003746 15163 0ustar lheckingusers/*[ * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley * * Permission to use, copy, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. * * Permission to modify the software is granted, but not the right to * distribute the complete modified source code. Modifications are to * be distributed as patches to the released version. Permission to * distribute binaries produced by compiling modified sources is granted, * provided you * 1. distribute the corresponding source modifications from the * released version in the form of a patch file along with the binaries, * 2. add special version identification to distinguish your version * in addition to the base release version number, * 3. provide your name and address as the primary contact for the * support of your modified version, and * 4. retain our contact information in regard to use of the base * software. * Permission to distribute the released version of the source code along * with corresponding source modifications in the form of a patch file is * granted with same provisions 2 through 4 for binary distributions. * * This software is provided "as is" without express or implied warranty * to the extent permitted by applicable law. ]*/ #ifndef GPBitmap_h #define GPBitmap_h #include #include #include #include #include #define bmsgZoomIn 'zmin' #define bmsgZoomOut 'zmot' #define bmsgSetScale 'zset' class GPBitmap { protected: BView * m_view; BList m_editors; BBitmap * m_bitmap; BBitmap * m_bufbitmap; sem_id m_readerLock; rgb_color colors[16]; bool m_needRedraw; bool m_redrawing; thread_id drawing_thread; public: float width, height, nwidth, nheight, pointsize, xscale, yscale; int32 ncommands, max_commands; int cx, cy; char ** commands; //int gX = 100, gY = 100; //unsigned int gW = 640, gH = 450; GPBitmap(float width, float height); GPBitmap(float width, float height, char **cmds); ~GPBitmap(); BBitmap * RealBitmap() { return m_bitmap; }; void Lock() { m_bitmap->Lock(); }; void Unlock() { m_bitmap->Unlock(); }; BRect Bounds() { return m_bitmap->Bounds(); }; void * Bits() { return m_bitmap->Bits(); }; color_space ColorSpace() { return m_bitmap->ColorSpace(); }; int32 BitsLength() { return m_bitmap->BitsLength(); }; int32 BytesPerRow() { return m_bitmap->BytesPerRow(); }; BView * View() { return m_view; }; void SetDirty(BRegion *r); void ResizeTo(float width, float height, uint32 btns); rgb_color PixelAtRGB(int x, int y) { rgb_color c = *((rgb_color*)(((char*)Bits()) + x*4 + y*BytesPerRow())); return c; }; int32 drawing_loop(void *data); void addCommand(char *cmd); void addCommands(BMessage *msg, int32 numCmds); void clearCommands(); void display(float v_width, float v_height); void doDiamond(int x, int y, int px, int py); void doPlus(int x, int y, int px, int py); void doBox(int x, int y, int px, int py); void doCross(int x, int y, int px, int py); void doTriangle(int x, int y, int px, int py); void doStar(int x, int y, int px, int py); void doDot(int x, int y); inline float X(int x) { return x * xscale; }; inline float Y(int y) { return (4095-(y)) * yscale; } }; #ifndef LEFT #define LEFT 0 #endif #ifndef CENTRE #define CENTRE 1 #endif #ifndef RIGHT #define RIGHT 2 #endif #endif gnuplot-3.7.3/beos/GPView.cpp100644 1200 17 7630 6677003747 15210 0ustar lheckingusers/*[ * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley * * Permission to use, copy, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. * * Permission to modify the software is granted, but not the right to * distribute the complete modified source code. Modifications are to * be distributed as patches to the released version. Permission to * distribute binaries produced by compiling modified sources is granted, * provided you * 1. distribute the corresponding source modifications from the * released version in the form of a patch file along with the binaries, * 2. add special version identification to distinguish your version * in addition to the base release version number, * 3. provide your name and address as the primary contact for the * support of your modified version, and * 4. retain our contact information in regard to use of the base * software. * Permission to distribute the released version of the source code along * with corresponding source modifications in the form of a patch file is * granted with same provisions 2 through 4 for binary distributions. * * This software is provided "as is" without express or implied warranty * to the extent permitted by applicable law. ]*/ #include #include #include #include "GPBitmap.h" #include "GPView.h" #include "constants.h" #include #include /*******************************************************************/ // GPView GPView::GPView(BRect rect, ulong resizeMode, ulong flags, GPBitmap *bitmap) : BView(rect,"BitmapEditor",resizeMode,flags|B_SUBPIXEL_PRECISE|B_FRAME_EVENTS) { m_bitmap = (bitmap) ? bitmap : new GPBitmap(rect.Width(), rect.Height()); SetScale(1); }; void GPView::GetMaxSize(float *width, float *height) { BRect r = m_bitmap->Bounds(); *width = floor((r.right+1)*m_scale - 0.5); *height = floor((r.bottom+1)*m_scale - 0.5); }; void GPView::MessageReceived(BMessage *msg) { switch (msg->what) { case bmsgBitmapDirty: { // m_bitmap->Lock(); // m_bitmap->display(); // m_bitmap->Unlock(); // printf("view (dirty) displaying %d commands\n",m_bitmap->ncommands); Draw(Bounds()); break; }; case bmsgBitmapResize: { BRect r; msg->FindRect("rect",&r); m_bitmap->ResizeTo(r.Width(),r.Height(),0); break; }; case bmsgNewCmd: { char *cmd = NULL; int32 i, num; num = msg->FindInt32("numcmds"); m_bitmap->addCommands(msg,num); // printf("view (new cmds) displaying %d commands\n",m_bitmap->ncommands); Draw(Bounds()); break; } case bmsgClrCmd: { m_bitmap->clearCommands(); break; } default: BView::MessageReceived(msg); }; }; GPView::~GPView() { }; void GPView::SetScale(float scale) { m_scale = scale; // FixupScrollbars(); Invalidate(); }; float GPView::Scale() { return m_scale; }; void GPView::FrameResized(float width, float height) { uint32 buttons; BPoint cursor; printf("resising\n"); // ResizeTo(width, height); // GetMouse(&cursor, &buttons); m_bitmap->Lock(); m_bitmap->ResizeTo(width, height,1); BBitmap *b = m_bitmap->RealBitmap(); DrawBitmap(b,b->Bounds(),Bounds()); Sync(); m_bitmap->Unlock(); // Draw(Bounds()); // FixupScrollbars(); }; void GPView::AttachedToWindow() { // FixupScrollbars(); SetViewColor(B_TRANSPARENT_32_BIT); }; void GPView::MouseDown(BPoint point) { printf("Mouse Down\n"); }; void GPView::MouseUp(BPoint point) { printf("Mouse Up\n"); Draw(Bounds()); }; void GPView::Draw(BRect updateRect) { m_bitmap->Lock(); m_bitmap->display(Bounds().Width(),Bounds().Height()); BBitmap *b = m_bitmap->RealBitmap(); DrawBitmap(b,b->Bounds(),Bounds()); Sync(); m_bitmap->Unlock(); }; void GPView::FixupScrollbars() { }; gnuplot-3.7.3/beos/GPView.h100644 1200 17 4373 6677003751 14651 0ustar lheckingusers/*[ * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley * * Permission to use, copy, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. * * Permission to modify the software is granted, but not the right to * distribute the complete modified source code. Modifications are to * be distributed as patches to the released version. Permission to * distribute binaries produced by compiling modified sources is granted, * provided you * 1. distribute the corresponding source modifications from the * released version in the form of a patch file along with the binaries, * 2. add special version identification to distinguish your version * in addition to the base release version number, * 3. provide your name and address as the primary contact for the * support of your modified version, and * 4. retain our contact information in regard to use of the base * software. * Permission to distribute the released version of the source code along * with corresponding source modifications in the form of a patch file is * granted with same provisions 2 through 4 for binary distributions. * * This software is provided "as is" without express or implied warranty * to the extent permitted by applicable law. ]*/ #ifndef GPView_h #define GPView_h #include #include #include #include #include class GPView : public BView { protected: GPBitmap * m_bitmap; float m_scale; public: GPView(BRect rect, ulong resizeMode, ulong flags, GPBitmap *bitmap); ~GPView(); GPBitmap * Document() { return m_bitmap; }; void SetScale(float scale); float Scale(); void GetMaxSize(float *width, float *height); virtual void MouseDown(BPoint point); virtual void MouseUp(BPoint point); virtual void Draw(BRect updateRect); virtual void AttachedToWindow(); virtual void MessageReceived(BMessage *msg); virtual void FrameResized(float width, float height); void FixupScrollbars(); }; #endif gnuplot-3.7.3/beos/GPWindow.cpp100644 1200 17 20627 6677003753 15563 0ustar lheckingusers/*[ * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley * * Permission to use, copy, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. * * Permission to modify the software is granted, but not the right to * distribute the complete modified source code. Modifications are to * be distributed as patches to the released version. Permission to * distribute binaries produced by compiling modified sources is granted, * provided you * 1. distribute the corresponding source modifications from the * released version in the form of a patch file along with the binaries, * 2. add special version identification to distinguish your version * in addition to the base release version number, * 3. provide your name and address as the primary contact for the * support of your modified version, and * 4. retain our contact information in regard to use of the base * software. * Permission to distribute the released version of the source code along * with corresponding source modifications in the form of a patch file is * granted with same provisions 2 through 4 for binary distributions. * * This software is provided "as is" without express or implied warranty * to the extent permitted by applicable law. ]*/ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "constants.h" #include "GPApp.h" #include "GPBitmap.h" #include "GPView.h" #include "GPWindow.h" // Constructs the window we'll be drawing into. // GPWindow::GPWindow(BRect frame) : BWindow(frame, " ", B_TITLED_WINDOW, 0) { _InitWindow(); Show(); } // Create a window from a file. // GPWindow::GPWindow(BRect frame, plot_struct *plot) : BWindow(frame, "Untitled ", B_TITLED_WINDOW, 0) { _InitWindow(); Show(); } void GPWindow::_InitWindow(void) { BRect r, rtool, plotframe; BMenu *menu; BMenuItem *item; // Initialize variables savemessage = NULL; // No saved path yet r = rtool = plotframe = Bounds(); // rtool = Bounds(); // plotframe = Bounds(); // Add the menu bar menubar = new BMenuBar(r, "menu_bar"); // Add File menu to menu bar menu = new BMenu("File"); menu->AddItem(new BMenuItem("New", new BMessage(MENU_FILE_NEW), 'N')); menu->AddItem(item=new BMenuItem("Open" B_UTF8_ELLIPSIS, new BMessage(MENU_FILE_OPEN), 'O')); item->SetTarget(be_app); menu->AddItem(new BMenuItem("Close", new BMessage(MENU_FILE_CLOSE), 'W')); menu->AddSeparatorItem(); menu->AddItem(saveitem=new BMenuItem("Save", new BMessage(MENU_FILE_SAVE), 'S')); saveitem->SetEnabled(false); menu->AddItem(new BMenuItem("Save as" B_UTF8_ELLIPSIS, new BMessage(MENU_FILE_SAVEAS))); menu->AddSeparatorItem(); menu->AddItem(item=new BMenuItem("Page Setup" B_UTF8_ELLIPSIS, new BMessage(MENU_FILE_PAGESETUP))); item->SetEnabled(false); menu->AddItem(item=new BMenuItem("Print" B_UTF8_ELLIPSIS, new BMessage(MENU_FILE_PRINT), 'P')); item->SetEnabled(false); menu->AddSeparatorItem(); menu->AddItem(new BMenuItem("Quit", new BMessage(MENU_FILE_QUIT), 'Q')); menubar->AddItem(menu); // Attach the menu bar to the window AddChild(menubar); // Add the plot view // plotframe.left +=rtool.right+5; plotframe.top = menubar->Bounds().bottom+2; // plotframe.right -= B_V_SCROLL_BAR_WIDTH; // plotframe.bottom -= B_H_SCROLL_BAR_HEIGHT; BRect plotrect = plotframe; plotrect.OffsetTo(B_ORIGIN); r.InsetBy(3.0,3.0); plotview = new GPView(plotframe, B_FOLLOW_ALL_SIDES, B_WILL_DRAW|B_PULSE_NEEDED, NULL); // plotview = new BView(plotframe, "test", B_FOLLOW_ALL_SIDES, B_WILL_DRAW|B_PULSE_NEEDED); AddChild(plotview); //help menu menu = new BMenu("Help"); menu->AddItem(new BMenuItem("Help",new BMessage(MENU_HELP_REQUESTED))); menu->AddItem(new BMenuItem("About...",new BMessage(MENU_HELP_ABOUT))); menubar->AddItem(menu); // Create the save filepanel for this window savePanel = new BFilePanel(B_SAVE_PANEL, new BMessenger(this), NULL, B_FILE_NODE, false); // Tell the application that there's one more window // and get the number for this untitled window. Register(true); Minimize(false); // So Show() doesn't really make it visible } // // GPWindow::FrameResized // // Adjust the size of the BTextView's text rectangle // when the window is resized. // void GPWindow::FrameResized(float width, float height) { BRect plotrect = plotview->Bounds(); plotrect.right = plotrect.left + (width - 3.0); // plotview->SetTextRect(plotrect); } // // GPWindow::~GPWindow // // Destruct the window. This calls Unregister(). // GPWindow::~GPWindow() { Unregister(); if (savemessage) { delete savemessage; } delete savePanel; } // // GPWindow::MessageReceived // // Called when a message is received by our // application. // void GPWindow::MessageReceived(BMessage *message) { switch(message->what) { case WINDOW_REGISTRY_ADDED: { char s[22]; BRect rect; if (message->FindInt32("new_window_number", &window_id) == B_OK) { if (!savemessage) { // if it's untitled sprintf(s, "File%ld.html", window_id); SetTitle(s); } } if (message->FindRect("rect", &rect) == B_OK) { MoveTo(rect.LeftTop()); ResizeTo(rect.Width(), rect.Height()); } Minimize(false); } break; case MENU_FILE_NEW: { BRect r; r = Frame(); new GPWindow(r); } break; case MENU_FILE_CLOSE: Quit(); break; case MENU_FILE_QUIT: be_app->PostMessage(B_QUIT_REQUESTED); break; case MENU_FILE_SAVEAS: savePanel->Show(); break; case MENU_FILE_SAVE: Save(NULL); break; case B_SAVE_REQUESTED: Save(message); break; case MENU_HELP_REQUESTED:{ int arg_c; char **_arg; arg_c=1; _arg = (char **)malloc(sizeof(char *) * (arg_c+ 1)); _arg[0]="/boot/home/peojects/WebEditor/help.html"; _arg[1]=NULL; be_roster->Launch("application/x-vnd.Be-NPOS",arg_c,_arg,NULL); free(_arg); } break; case MENU_HELP_ABOUT:{ BAlert *alert; alert= new BAlert("About ", "WebEditor for BeOSтДв\n┬йFran├зois Jouen 1999.\ne-mail:jouen@epeire.univ-rouen.fr", "OK"); alert->Go(); } break; // case B_MOUSE_UP: // printf("gor something\n"); // break; case bmsgNewCmd: case bmsgClrCmd: case bmsgBitmapDirty: case bmsgBitmapResize: // printf("gor something\n"); plotview->MessageReceived(message); break; default: BWindow::MessageReceived(message); break; } } // // GPWindow::Register // // Since MessageWorld can have multiple windows and // we need to know when there aren't any left so the // application can be shut down, this function is used // to tell the application that a new window has been // opened. // // If the need_id argument is true, we'll specify true // for the "need_id" field in the message we send; this // will cause the application to send back a // WINDOW_REGISTRY_ADDED message containing the window's // unique ID number. If this argument is false, we won't // request an ID. // void GPWindow::Register(bool need_id) { BMessenger messenger(APP_SIGNATURE); BMessage message(WINDOW_REGISTRY_ADD); message.AddBool("need_id", need_id); messenger.SendMessage(&message, this); } // // GPWindow::Unregister // // Unregisters a window. This tells the application that // one fewer windows are open. The application will // automatically quit if the count goes to zero because // of this call. // void GPWindow::Unregister(void) { BMessenger messenger(APP_SIGNATURE); messenger.SendMessage(new BMessage(WINDOW_REGISTRY_SUB)); } // // GPWindow::QuitRequested // // Here we just give permission to close the window. // bool GPWindow::QuitRequested() { return true; } // // GPWindow::Save // // Save the contents of the window. The message specifies // where to save it (see BFilePanel in the Storage Kit chapter // of the Be Book). // status_t GPWindow::Save(BMessage *message) { entry_ref ref; // For the directory to save into status_t err = B_OK; // For the return code return err; } gnuplot-3.7.3/beos/GPWindow.h100644 1200 17 4126 6677003755 15206 0ustar lheckingusers/*[ * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley * * Permission to use, copy, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. * * Permission to modify the software is granted, but not the right to * distribute the complete modified source code. Modifications are to * be distributed as patches to the released version. Permission to * distribute binaries produced by compiling modified sources is granted, * provided you * 1. distribute the corresponding source modifications from the * released version in the form of a patch file along with the binaries, * 2. add special version identification to distinguish your version * in addition to the base release version number, * 3. provide your name and address as the primary contact for the * support of your modified version, and * 4. retain our contact information in regard to use of the base * software. * Permission to distribute the released version of the source code along * with corresponding source modifications in the form of a patch file is * granted with same provisions 2 through 4 for binary distributions. * * This software is provided "as is" without express or implied warranty * to the extent permitted by applicable law. ]*/ #ifndef __GNUPLINDOW_H__ #define __GNUPLINDOW_H__ class GPWindow : public BWindow { public: GPWindow(BRect frame); GPWindow(BRect frame, plot_struct *plot); ~GPWindow(); virtual bool QuitRequested(); virtual void MessageReceived(BMessage *message); virtual void FrameResized(float width, float height); status_t Save(BMessage *message); private: void _InitWindow(void); void Register(bool need_id); void Unregister(void); BMenuBar *menubar; BView *plotview; // GPView *plotview; BMenuItem *saveitem; BMessage *savemessage; int32 window_id; BFilePanel *savePanel; }; #endifgnuplot-3.7.3/beos/Makefile100644 1200 17 22462 6730014123 14777 0ustar lheckingusers## BeOS Generic Makefile v2.0b3 ## ## Fill in the top section of this makefile to define exactly what sort of ## binary you are creating, and what sources, resources and libraries are ## needed to create it. The makefile will then determine the proper ## platform specific options. ## Fill in the top section to define the binary being created and the makefile ## will make sure that all of the hard work is taken care of for you, for both ## PowerPC and Intel versions of the BeOS. ## Application Specific Settings --------------------------------------------- # specify the name of the binary NAME= gnuplot_be # specify the type of binary # APP: Application # SHARED: Shared library or add-on # STATIC: Static library archive # DRIVER: Kernel Driver TYPE= APP # specify the source files to use # full paths or paths relative to the makefile can be included # all files, regardless of directory, will have their object # files created in the common object directory. # Note that this means this makefile will not work correctly # if two source files with the same name (source.c or source.cpp) # are included from different directories. Also note that spaces # in folder names do not work well with this makefile. SOURCES= GPApp.cpp GPWindow.cpp GPView.cpp GPBitmap.cpp HEADERS= GPApp.h GPBitmap.h GPView.h GPWindow.h XStringList.h constants.h EXTRA_DIST= Makefile XStringList.cpp # specify the resource files to use # full path or a relative path to the resource file can be used. RSRCS= gnuplot_be.rsrc #specify additional libraries to link against # if libName.so or libName.a is the name of the library to link against # then simply specify Name in the LIBS list # if there is another naming scheme use the full binary # name: my_library.so or my_lib.a # libroot.so never needs to be specified here, although libbe.so does LIBS= be tracker # specify the paths to directories where additional # libraries are to be found. /boot/develop/lib/PLATFORM/ is # already set. The paths can be full or relative to this # makefile. The paths included may not be recursive, so # specify all of the needed paths explicitly # Directories containing source-files are automatically added. LIBPATHS= # specify additional directories where header files can be found # directories where sources are found are included automatically # included. INCPATHS= # specify the level of optimization that you desire # NONE, SOME, FULL OPTIMIZE= NONE # specify any symbols to be defined. The symbols will be # set to a value of 1. For example specify DEBUG if you want # DEBUG=1 to be set when compiling. DEFINES= # specify special warning levels # if unspecified default warnings will be used # NONE = supress all warnings # ALL = enable all warnings WARNINGS = # specify symbols # if TRUE debug symbols will be created SYMBOLS = TRUE # specify debug settings # if TRUE will allow application to be run from # the debugger DEBUGGER = TRUE ## Generic Makefile Rules --------------------------- ## DO NOT MODIFY BENEATH THIS LINE ----------------- # determine wheather running on x86 or ppc MACHINE=$(shell uname -m) ifeq ($(MACHINE), BePC) CPU = x86 else CPU = ppc endif # set the directory where object files and binaries will be created OBJ_DIR := obj.$(CPU) # specify that the binary should be created in the object directory TARGET := $(NAME) # specify the mimeset tool MIMESET := mimeset # specify the tools for adding and removing resources XRES = xres # platform specific settings # x86 Settings ifeq ($(CPU), x86) # set the compiler and compiler flags CC = gcc # SETTING: set the CFLAGS for each binary type ifeq ($(TYPE), DRIVER) CFLAGS += -no-fpic else CFLAGS += endif # SETTING: set the proper optimization level ifeq ($(OPTIMIZE), FULL) OPTIMIZER = -O3 else ifeq ($(OPTIMIZE), SOME) OPTIMIZER = -O1 else ifeq ($(OPTIMIZE), NONE) OPTIMIZER = -O0 else # OPTIMIZE not set so set to full OPTIMIZER = -O3 endif endif endif # SETTING: set proper debugger flags ifeq ($(DEBUGGER), TRUE) DEBUG = -gdwarf-2 OPTIMIZER = -O0 endif CFLAGS += $(OPTIMIZER) $(DEBUG) # SETTING: set warning level ifeq ($(WARNINGS), ALL) CFLAGS += -Wall -Wno-multichar -Wno-ctor-dtor-privacy else ifeq ($(WARNINGS), NONE) CFLAGS += endif endif # set the linker and linker flags LD = gcc LDFLAGS += $(DEBUG) # SETTING: set linker flags for each binary type ifeq ($(TYPE), APP) LDFLAGS += -Xlinker -soname=_APP_ else ifeq ($(TYPE), SHARED) LDFLAGS += -nostart -Xlinker -soname=$(NAME) else ifeq ($(TYPE), DRIVER) LDFLAGS += -nostdlib /boot/develop/lib/x86/_KERNEL_ endif endif endif # SETTING: define debug symbols if desired ifeq ($(SYMBOLS), TRUE) CFLAGS += -g endif else # ppc Settings ifeq ($(CPU), ppc) # set the compiler and compiler flags CC = mwcc CFLAGS += # SETTING: set the proper optimization level ifeq ($(OPTIMIZE), FULL) OPTIMIZER = -O7 else ifeq ($(OPTIMIZE), SOME) OPTIMIZER = -O3 else ifeq ($(OPTIMIZE), NONE) OPTIMIZER = else # OPTIMIZE not set so set to full OPTIMIZER = -O7 endif endif endif CFLAGS += $(OPTIMIZER) # SETTING: set warning level ifeq ($(WARNINGS), ALL) CFLAGS += -w all else ifeq ($(WARNINGS), NONE) CFLAGS += -w 0 endif endif # clear the standard environment variable # now there are no standard libraries to link against BELIBFILES= # set the linker and linker flags LD = mwldppc # SETTING: set linker flags for each binary type ifeq ($(TYPE), APP) LDFLAGS += else ifeq ($(TYPE), SHARED) LDFLAGS += -xms endif endif ifeq ($(TYPE), DRIVER) LDFLAGS += -nodefaults \ -export all \ -G \ /boot/develop/lib/ppc/glue-noinit.a \ /boot/develop/lib/ppc/_KERNEL_ else LDFLAGS += -export pragma \ -init _init_routine_ \ -term _term_routine_ \ -lroot \ /boot/develop/lib/ppc/glue-noinit.a \ /boot/develop/lib/ppc/init_term_dyn.o \ /boot/develop/lib/ppc/start_dyn.o endif # SETTING: output symbols in an xMAP file ifeq ($(SYMBOLS), TRUE) LDFLAGS += -map $(TARGET).xMAP endif # SETTING: output debugging info to a .SYM file ifeq ($(DEBUGGER), TRUE) LDFLAGS += -g -osym $(TARGET).SYM endif endif endif # psuedo-function for converting a list of source files in SOURCES variable # to a corresponding list of object files in $(OBJ_DIR)/xxx.o # The "function" strips off the src file suffix (.ccp or .c or whatever) # and then strips of the directory name, leaving just the root file name. # It then appends the .o suffix and prepends the $(OBJ_DIR)/ path define SRCS_LIST_TO_OBJS $(addprefix $(OBJ_DIR)/, $(addsuffix .o, $(foreach file, $(SOURCES), \ $(basename $(notdir $(file)))))) endef OBJS = $(SRCS_LIST_TO_OBJS) # create a unique list of paths to our sourcefiles SRC_PATHS += $(sort $(foreach file, $(SOURCES), $(dir $(file)))) # add source paths to VPATH if not already present VPATH := VPATH += $(addprefix :, $(subst ,:, $(filter-out $($(subst, :, ,$(VPATH))), $(SRC_PATHS)))) # add source paths and include paths to INLCUDES if not already present INCLUDES = $(foreach path, $(INCPATHS) $(SRC_PATHS), $(addprefix -I, $(path))) # SETTING: add the -L prefix to all library paths to search LINK_PATHS = $(foreach path, $(LIBPATHS) $(SRC_PATHS) , \ $(addprefix -L, $(path))) # SETTING: add the -l prefix to all libs to be linked against LINK_LIBS = $(foreach lib, $(LIBS), $(addprefix -l, $(lib))) # add to the linker flags LDFLAGS += $(LINK_PATHS) $(LINK_LIBS) # SETTING: add the defines to the compiler flags CFLAGS += $(foreach define, $(DEFINES), $(addprefix -D, $(define))) # SETTING: use the archive tools if building a static library # otherwise use the linker ifeq ($(TYPE), STATIC) BUILD_LINE = ar -cru $(TARGET) $(OBJS) else BUILD_LINE = $(LD) -o $@ $(OBJS) $(LDFLAGS) endif # create the resource instruction ifeq ($(RSRCS), ) DO_RSRCS := else DO_RSRCS := $(XRES) -o $(TARGET) $(RSRCS) endif # define the actual work to be done default: $(TARGET) $(TARGET): $(OBJ_DIR) $(OBJS) $(RSRCS) $(BUILD_LINE) $(DO_RSRCS) $(MIMESET) -f $@ # rule to create the object file directory if needed $(OBJ_DIR):: @[ -d $(OBJ_DIR) ] || mkdir $(OBJ_DIR) > /dev/null 2>&1 $(OBJ_DIR)/%.o : %.c $(CC) $(INCLUDES) $(CFLAGS) -c $< -o $@ $(OBJ_DIR)/%.o : %.cpp $(CC) $(INCLUDES) $(CFLAGS) -c $< -o $@ $(OBJ_DIR)/%.o : %.cp $(CC) $(INCLUDES) $(CFLAGS) -c $< -o $@ $(OBJ_DIR)/%.o : %.C $(CC) $(INCLUDES) $(CFLAGS) -c $< -o $@ $(OBJ_DIR)/%.o : %.CC $(CC) $(INCLUDES) $(CFLAGS) -c $< -o $@ $(OBJ_DIR)/%.o : %.CPP $(CC) $(INCLUDES) $(CFLAGS) -c $< -o $@ # empty rule. Things that depend on this rule will always get triggered FORCE: # The generic clean command. Delete everything in the object folder. clean :: FORCE -rm -rf $(OBJ_DIR) # distclean: clean # remove just the application from the object folder rmapp :: -rm -f $(TARGET) # generic distdir rules - needed with automake # maybe we can automakify the Makefile? srcdir = . top_builddir = ../.. distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/src/$(subdir) subdir = beos DISTFILES = $(SOURCES) $(HEADERS) $(EXTRA_DIST) distdir: $(DISTFILES) distdir=`cd $(distdir) && pwd` @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \ cp -pr $$d/$$file $(distdir)/$$file; \ else \ test -f $(distdir)/$$file \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done gnuplot-3.7.3/beos/XStringList.cpp100644 1200 17 446 6677003760 16252 0ustar lheckingusersClass XStringList { protected: int32 numStrings; int32 maxStrings; int32 bufferSize; int32 bufferUse; char *strArray[]; char *strBuffer; char *strNext; public : XStringList(); XStringList(char *head, int32 numStr); ~XStringList(); Add(char *str); char *operator[]; } gnuplot-3.7.3/beos/XStringList.h100644 1200 17 1174 6677003762 15740 0ustar lheckingusersClass XStringList { protected: int32 numStrings; int32 maxStrings; int32 bufferSize; int32 bufferUse; char *strArray[]; char *strBuffer; char *strNext; public : XStringList(); XStringList(char *head, int32 numStr); ~XStringList(); Add(char *str); char *operator[int i]; } XStringList::XStringList() { numStrings = 0; maxStrings = INITIAL_SIZE; bufferSize = INITIAL_SIZE * 16; bufferUse = 0; strArray new(); strNext = strBuffer = ; } XStringList::XStringList(char *head, int32 numStr) { } XStringList::~XStringList() { } XStringList::Add(char *str) { } char *XStringList::operator[int idx] { } gnuplot-3.7.3/beos/constants.h100644 1200 17 4726 6677003764 15532 0ustar lheckingusers/*[ * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley * * Permission to use, copy, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. * * Permission to modify the software is granted, but not the right to * distribute the complete modified source code. Modifications are to * be distributed as patches to the released version. Permission to * distribute binaries produced by compiling modified sources is granted, * provided you * 1. distribute the corresponding source modifications from the * released version in the form of a patch file along with the binaries, * 2. add special version identification to distinguish your version * in addition to the base release version number, * 3. provide your name and address as the primary contact for the * support of your modified version, and * 4. retain our contact information in regard to use of the base * software. * Permission to distribute the released version of the source code along * with corresponding source modifications in the form of a patch file is * granted with same provisions 2 through 4 for binary distributions. * * This software is provided "as is" without express or implied warranty * to the extent permitted by applicable law. ]*/ #ifndef __GNUPLCONSTANTS_H__ #define __GNUPLCONSTANTS_H__ // Messages for window registry with application const uint32 WINDOW_REGISTRY_ADD = 'WRad'; const uint32 WINDOW_REGISTRY_SUB = 'WRsb'; const uint32 WINDOW_REGISTRY_ADDED = 'WRdd'; const uint32 OUTLINE_REQUESTED = 'OuRq'; // Messages for menu commands const uint32 MENU_FILE_NEW = 'MFnw'; const uint32 MENU_FILE_OPEN = 'MFop'; const uint32 MENU_FILE_CLOSE = 'MFcl'; const uint32 MENU_FILE_BASIC = 'MFba'; const uint32 MENU_FILE_SAVE = 'MFsv'; const uint32 MENU_FILE_SAVEAS = 'MFsa'; const uint32 MENU_FILE_PAGESETUP = 'MFps'; const uint32 MENU_FILE_PRINT = 'MFpr'; const uint32 MENU_FILE_QUIT = 'MFqu'; const uint32 MENU_EDIT_CLEAR = 'MEcl'; const uint32 MENU_TOOL_PREVIEW = 'MTpw'; const uint32 MENU_HELP_ABOUT = 'MHab'; const uint32 MENU_HELP_REQUESTED = 'MHrq'; const uint32 bmsgBitmapDirty = 'Mbpd'; const uint32 bmsgBitmapResize = 'Mbrz'; const uint32 bmsgNewCmd = 'Mcmd'; const uint32 bmsgClrCmd = 'Mclr'; #endifgnuplot-3.7.3/demo/ 40755 1200 17 0 7576105312 13222 5ustar lheckingusersgnuplot-3.7.3/demo/1.dat100644 1200 17 1515 6515203630 14145 0ustar lheckingusers# # $Id: 1.dat,v 1.1.1.1 2025/04/15 19:16:40 lhecking Exp $ # # -20.000000 -3.041676 -19.000000 -3.036427 -18.000000 -3.030596 -17.000000 -3.024081 -16.000000 -3.016755 -15.000000 -3.008456 -14.000000 -2.998978 -13.000000 -2.988049 -12.000000 -2.975310 -11.000000 -2.960273 -10.000000 -2.942255 -9.000000 -2.920278 -8.000000 -2.892883 -7.000000 -2.857799 -6.000000 -2.811295 -5.000000 -2.746802 -4.000000 -2.651635 -3.000000 -2.498092 -2.000000 -2.214297 -1.000000 -1.570796 0.000000 0.000000 1.000000 1.570796 2.000000 2.214297 3.000000 2.498092 4.000000 2.651635 5.000000 2.746802 6.000000 2.811295 7.000000 2.857799 8.000000 2.892883 9.000000 2.920278 10.000000 2.942255 11.000000 2.960273 12.000000 2.975310 13.000000 2.988049 14.000000 2.998978 15.000000 3.008456 16.000000 3.016755 17.000000 3.024081 18.000000 3.030596 19.000000 3.036427 gnuplot-3.7.3/demo/2.dat100644 1200 17 1515 6515203630 14146 0ustar lheckingusers# # $Id: 2.dat,v 1.1.1.1 2025/04/15 19:16:40 lhecking Exp $ # # -20.000000 -6.083352 -19.000000 -6.072853 -18.000000 -6.061191 -17.000000 -6.048162 -16.000000 -6.033510 -15.000000 -6.016913 -14.000000 -5.997955 -13.000000 -5.976098 -12.000000 -5.950620 -11.000000 -5.920546 -10.000000 -5.884511 -9.000000 -5.840556 -8.000000 -5.785765 -7.000000 -5.715597 -6.000000 -5.622591 -5.000000 -5.493603 -4.000000 -5.303271 -3.000000 -4.996183 -2.000000 -4.428595 -1.000000 -3.141593 0.000000 0.000000 1.000000 3.141593 2.000000 4.428595 3.000000 4.996183 4.000000 5.303271 5.000000 5.493603 6.000000 5.622591 7.000000 5.715597 8.000000 5.785765 9.000000 5.840556 10.000000 5.884511 11.000000 5.920546 12.000000 5.950620 13.000000 5.976098 14.000000 5.997955 15.000000 6.016913 16.000000 6.033510 17.000000 6.048162 18.000000 6.061191 19.000000 6.072853 gnuplot-3.7.3/demo/3.dat100644 1200 17 1515 6515203630 14147 0ustar lheckingusers# # $Id: 3.dat,v 1.1.1.1 2025/04/15 19:16:40 lhecking Exp $ # # -20.000000 -9.125028 -19.000000 -9.109280 -18.000000 -9.091787 -17.000000 -9.072243 -16.000000 -9.050265 -15.000000 -9.025369 -14.000000 -8.996933 -13.000000 -8.964147 -12.000000 -8.925931 -11.000000 -8.880819 -10.000000 -8.826766 -9.000000 -8.760835 -8.000000 -8.678648 -7.000000 -8.573396 -6.000000 -8.433886 -5.000000 -8.240405 -4.000000 -7.954906 -3.000000 -7.494275 -2.000000 -6.642892 -1.000000 -4.712389 0.000000 0.000000 1.000000 4.712389 2.000000 6.642892 3.000000 7.494275 4.000000 7.954906 5.000000 8.240405 6.000000 8.433886 7.000000 8.573396 8.000000 8.678648 9.000000 8.760835 10.000000 8.826766 11.000000 8.880819 12.000000 8.925931 13.000000 8.964147 14.000000 8.996933 15.000000 9.025369 16.000000 9.050265 17.000000 9.072243 18.000000 9.091787 19.000000 9.109280 gnuplot-3.7.3/demo/airfoil.dem100644 1200 17 11325 7403154745 15460 0ustar lheckingusers# # $Id: airfoil.dem,v 1.1.1.1.2.2 2025/12/04 14:12:53 lhecking Exp $ # # This demo shows how to use bezier splines to define NACA four # series airfoils and complex variables to define Joukowski # Airfoils. It will be expanded after overplotting in implemented # to plot Coefficient of Pressure as well. # Alex Woo, Dec. 1992 # # The definitions below follows: "Bezier presentation of airfoils", # by Wolfgang Boehm, Computer Aided Geometric Design 4 (1987) pp 17-22. # # Gershon Elber, Nov. 1992 # # m = percent camber # p = percent chord with maximum camber pause 0 "NACA four series airfoils by bezier splines" pause 0 "Will add pressure distribution later with Overplotting" mm = 0.6 # NACA6xxx thick = 0.09 # nine percent NACAxx09 pp = 0.4 # NACAx4xx # Combined this implies NACA6409 airfoil # # Airfoil thickness function. # set xlabel "NACA6409 -- 9% thick, 40% max camber, 6% camber" x0 = 0.0 y0 = 0.0 x1 = 0.0 y1 = 0.18556 x2 = 0.03571 y2 = 0.34863 x3 = 0.10714 y3 = 0.48919 x4 = 0.21429 y4 = 0.58214 x5 = 0.35714 y5 = 0.55724 x6 = 0.53571 y6 = 0.44992 x7 = 0.75000 y7 = 0.30281 x8 = 1.00000 y8 = 0.01050 # # Directly defining the order 8 Bezier basis function for a faster evaluation. # bez_d4_i0(x) = (1 - x)**4 bez_d4_i1(x) = 4 * (1 - x)**3 * x bez_d4_i2(x) = 6 * (1 - x)**2 * x**2 bez_d4_i3(x) = 4 * (1 - x)**1 * x**3 bez_d4_i4(x) = x**4 bez_d8_i0(x) = (1 - x)**8 bez_d8_i1(x) = 8 * (1 - x)**7 * x bez_d8_i2(x) = 28 * (1 - x)**6 * x**2 bez_d8_i3(x) = 56 * (1 - x)**5 * x**3 bez_d8_i4(x) = 70 * (1 - x)**4 * x**4 bez_d8_i5(x) = 56 * (1 - x)**3 * x**5 bez_d8_i6(x) = 28 * (1 - x)**2 * x**6 bez_d8_i7(x) = 8 * (1 - x) * x**7 bez_d8_i8(x) = x**8 m0 = 0.0 m1 = 0.1 m2 = 0.1 m3 = 0.1 m4 = 0.0 mean_y(t) = m0 * mm * bez_d4_i0(t) + \ m1 * mm * bez_d4_i1(t) + \ m2 * mm * bez_d4_i2(t) + \ m3 * mm * bez_d4_i3(t) + \ m4 * mm * bez_d4_i4(t) p0 = 0.0 p1 = pp / 2 p2 = pp p3 = (pp + 1) / 2 p4 = 1.0 mean_x(t) = p0 * bez_d4_i0(t) + \ p1 * bez_d4_i1(t) + \ p2 * bez_d4_i2(t) + \ p3 * bez_d4_i3(t) + \ p4 * bez_d4_i4(t) z_x(x) = x0 * bez_d8_i0(x) + x1 * bez_d8_i1(x) + x2 * bez_d8_i2(x) + \ x3 * bez_d8_i3(x) + x4 * bez_d8_i4(x) + x5 * bez_d8_i5(x) + \ x6 * bez_d8_i6(x) + x7 * bez_d8_i7(x) + x8 * bez_d8_i8(x) z_y(x, tk) = \ y0 * tk * bez_d8_i0(x) + y1 * tk * bez_d8_i1(x) + y2 * tk * bez_d8_i2(x) + \ y3 * tk * bez_d8_i3(x) + y4 * tk * bez_d8_i4(x) + y5 * tk * bez_d8_i5(x) + \ y6 * tk * bez_d8_i6(x) + y7 * tk * bez_d8_i7(x) + y8 * tk * bez_d8_i8(x) # # Given t value between zero and one, the airfoild curve is defined as # # c(t) = mean(t1(t)) +/- z(t2(t)) n(t1(t)), # # where n is the unit normal to the mean line. See the above paper for more. # # Unfortunately, the parametrization of c(t) is not the same for mean(t1) # and z(t2). The mean line (and its normal) can assume linear function t1 = t, # -1 # but the thickness z_y is, in fact, a function of z_x (t). Since it is # not obvious how to compute this inverse function analytically, we instead # replace t in c(t) equation above by z_x(t) to get: # # c(z_x(t)) = mean(z_x(t)) +/- z(t) n(z_x(t)), # # and compute and display this instead. Note we also ignore n(t) and assumes # n(t) is constant in the y direction, # airfoil_y1(t, thick) = mean_y(z_x(t)) + z_y(t, thick) airfoil_y2(t, thick) = mean_y(z_x(t)) - z_y(t, thick) airfoil_y(t) = mean_y(z_x(t)) airfoil_x(t) = mean_x(z_x(t)) set nogrid set nozeroaxis set parametric set xrange [-0.1:1.1] set yrange [-0.1:.7] set trange [ 0.0:1.0] set title "NACA6409 Airfoil" plot airfoil_x(t), airfoil_y(t) title "mean line" w l 2, \ airfoil_x(t), airfoil_y1(t, thick) title "upper surface" w l 1, \ airfoil_x(t), airfoil_y2(t, thick) title "lower surface" w l 1 pause -1 "Press Return" mm = 0.0 pp = .5 thick = .12 set title "NACA0012 Airfoil" set xlabel "12% thick, no camber -- classical test case" plot airfoil_x(t), airfoil_y(t) title "mean line" w l 2, \ airfoil_x(t), airfoil_y1(t, thick) title "upper surface" w l 1, \ airfoil_x(t), airfoil_y2(t, thick) title "lower surface" w l 1 pause -1 "Press Return" set title "" set xlab "" set key box set parametric set samples 100 set isosamples 10 set data style lines set function style lines pause 0 "Joukowski Airfoil using Complex Variables" set title "Joukowski Airfoil using Complex Variables" 0,0 set time set yrange [-.2 : 1.8] set trange [0: 2*pi] set xrange [-.6:.6] zeta(t) = -eps + (a+eps)*exp(t*{0,1}) eta(t) = zeta(t) + a*a/zeta(t) eps = 0.06 a =.250 set xlabel "eps = 0.06 real" plot real(eta(t)),imag(eta(t)) pause -1 "Press Return" eps = 0.06*{1,-1} set xlabel "eps = 0.06 + i0.06" plot real(eta(t)),imag(eta(t)) pause -1 "Press Return" reset gnuplot-3.7.3/demo/all.dem100644 1200 17 5204 6515203630 14551 0ustar lheckingusers# # $Id: all.dem,v 1.1.1.1 2025/04/15 19:16:40 lhecking Exp $ # # Executes ALL demos in this directory, in functionality order. # print "******************** file simple.dem ********************" load "simple.dem" reset print "******************** file controls.dem ********************" load "controls.dem" reset print "******************** file electron.dem ********************" load "electron.dem" reset print "******************** file using.dem ********************" load "using.dem" reset print "******************** file mgr.dem ********************" load "mgr.dem" reset print "******************** file fit.dem ********************" load "fit.dem" reset print "******************** file param.dem ********************" load "param.dem" reset print "******************** file polar.dem ********************" load "polar.dem" reset print "******************** file poldat.dem ********************" load "poldat.dem" reset print "******************** file surface1.dem ********************" load "surface1.dem" reset print "******************** file discrete.dem ********************" load "discrete.dem" reset print "******************** file hidden.dem ********************" load "hidden.dem" reset print "******************** file world.dem ********************" load "world.dem" reset print "******************** file prob.dem ********************" load "prob.dem" reset print "******************** file prob2.dem ********************" load "prob2.dem" reset print "******************** file random.dem ********************" load "random.dem" reset print "******************** file spline.dem ********************" load "spline.dem" reset print "******************** file binary.dem ********************" load "binary.dem" reset print "******************** file steps.dem ********************" load "steps.dem" reset print "******************** file scatter.dem ********************" load "scatter.dem" reset print "******************** file singulr.dem ********************" load "singulr.dem" reset print "******************** file airfoil.dem ********************" load "airfoil.dem" reset print "******************** file surface2.dem ********************" load "surface2.dem" reset print "******************** file contours.dem ********************" load "contours.dem" reset print "******************** file multimsh.dem ********************" load "multimsh.dem" reset print "******************** file bivariat.dem ********************" load "bivariat.dem" reset print "******************** file timedat.dem ********************" load "timedat.dem" reset print "******************** file animate.dem ********************" load "animate.dem" reset gnuplot-3.7.3/demo/animate.dem100644 1200 17 1225 7000362523 15413 0ustar lheckingusers# HBB: Demo animation, tumbling around 'glass.dat' # meant to replace the 'rotating whale' demo. set parametric set hidden3d set nokey set data style line xrot=60 zrot=0 set view xrot,zrot splot "glass.dat" limit_iterations=40 # limits number of iterations if nonzero if (!limit_iterations) print "The following animation will never stop on its own. You have" if (!limit_iterations) print "to stop it manually by interrupting gnuplot (e.g., press ^C)" print "On some screen terminal drivers for PC screens, you'll have" print "to hit a key to get to the next frame" pause -1 "Press a key to start the rotation..." iteration_count=0 load "gnuplot.rot" reset gnuplot-3.7.3/demo/battery.dat100644 1200 17 1354 6515203631 15461 0ustar lheckingusers# # $Id: battery.dat,v 1.1.1.1 2025/04/15 19:16:41 lhecking Exp $ # 50.000000 0.036990 2.500000 0.007039 47.000000 0.036990 2.500000 0.007039 44.000000 0.038360 2.500000 0.007053 41.000000 0.042160 2.500000 0.007050 38.000000 0.043200 2.500000 0.007018 35.000000 0.046900 2.500000 0.007021 32.000000 0.048840 2.500000 0.006963 29.000000 0.052000 2.500000 0.006929 26.000000 0.055470 2.500000 0.006947 23.000000 0.060000 2.500000 0.006882 20.000000 0.064660 2.500000 0.006879 17.000000 0.069600 2.500000 0.006936 14.000000 0.079800 2.500000 0.007080 11.000000 0.086920 2.500000 0.007232 8.000000 0.085500 2.500000 0.007262 5.000000 0.101260 2.500000 0.008415 2.000000 0.091000 2.500000 0.011203 0.000000 0.081480 2.500000 0.011828 gnuplot-3.7.3/demo/big_peak.dat100644 1200 17 512 6515203631 15523 0ustar lheckingusers# # $Id: big_peak.dat,v 1.1.1.1 2025/04/15 19:16:41 lhecking Exp $ # 26.500000 0.753252 0.012953 27.000000 0.877710 0.019712 27.500000 0.996531 0.021018 27.500000 0.940807 0.014499 28.000000 1.015178 0.021216 28.000000 0.984822 0.014840 28.500000 0.960538 0.020631 28.500000 0.930182 0.014416 29.000000 0.750650 0.018215 gnuplot-3.7.3/demo/binary.dem100644 1200 17 1073 7000362504 15261 0ustar lheckingusers# # $Id: binary.dem,v 1.1.1.1.2.1 2025/10/11 13:25:24 lhecking Exp $ # set data style lines set hidden3d set title "Hidden line removal of explicit binary surfaces" set ticslevel 0 set key box set xrange [-3:3] set yrange [-2:2] splot "binary1" binary pause -1 "Hit return to continue (1)" set view 70,45 set xrange [-3:3] set yrange [-3:3] splot "binary2" binary pause -1 "Hit return to continue (2)" set title "Notice that sampling rate can change" set vi 70,10 set xrange [-3:6] set yrange [-3:6] splot "binary3" binary pause -1 "Hit return to continue (3)" reset gnuplot-3.7.3/demo/bivariat.dem100644 1200 17 5746 6515203631 15616 0ustar lheckingusers# # $Id: bivariat.dem,v 1.1.1.1 2025/04/15 19:16:41 lhecking Exp $ # # This demo is very slow and requires unusually large stack size. # Do not attempt to run this demo under MSDOS. # # the function integral_f(x) approximates the integral of f(x) from 0 to x. # integral2_f(x,y) approximates the integral from x to y. # define f(x) to be any single variable function # # the integral is calculated as the sum of f(x_n)*delta # do this x/delta times (from x down to 0) # f(x) = exp(-x**2) delta = 0.2 # delta can be set to 0.025 for non-MSDOS machines # # integral_f(x) takes one variable, the upper limit. 0 is the lower limit. # calculate the integral of function f(t) from 0 to x integral_f(x) = (x>0)?integral1a(x):-integral1b(x) integral1a(x) = (x<=0)?0:(integral1a(x-delta)+delta*f(x)) integral1b(x) = (x>=0)?0:(integral1b(x+delta)+delta*f(x)) # # integral2_f(x,y) takes two variables; x is the lower limit, and y the upper. # claculate the integral of function f(t) from x to y integral2_f(x,y) = (xy)?0:(integral2(x+delta,y)+delta*f(x)) set autoscale set title "approximate the integral of functions" set samples 50 plot [-5:5] f(x) title "f(x)=exp(-x**2)", 2/sqrt(pi)*integral_f(x) title "erf(x)=2/sqrt(pi)*integral_f(x)" pause -1 "Hit return to continue" f(x)=sin(x) plot [-5:5] f(x) title "f(x)=sin(x)", integral_f(x) pause -1 "Hit return to continue" set title "approximate the integral of functions (upper and lower limits)" f(x)=(x-2)**2-20 plot [-10:10] f(x) title "f(x)=(x-2)**2-20", integral2_f(-5,x) pause -1 "Hit return to continue" f(x)=sin(x-1)-.75*sin(2*x-1)+(x**2)/8-5 plot [-10:10] f(x) title "f(x)=sin(x-1)-0.75*sin(2*x-1)+(x**2)/8-5", integral2_f(x,1) pause -1 "Hit return to continue" # # This definition computes the ackermann. Do not attempt to compute its # values for non integral values. In addition, do not attempt to compute # its beyond m = 3, unless you want to wait really long time. ack(m,n) = (m == 0) ? n + 1 : (n == 0) ? ack(m-1,1) : ack(m-1,ack(m,n-1)) set xrange [0:3] set yrange [0:3] set isosamples 4 set samples 4 set title "Plot of the ackermann function" splot ack(x, y) pause -1 "Hit return to continue" set xrange [-5:5] set yrange [-10:10] set isosamples 10 set samples 100 set key 4,-3 set title "Min(x,y) and Max(x,y)" # min(x,y) = (x < y) ? x : y max(x,y) = (x > y) ? x : y plot sin(x), x**2, x**3, max(sin(x), min(x**2, x**3))+0.5 pause -1 "Hit return to continue" # # gcd(x,y) finds the greatest common divisor of x and y, # using Euclid's algorithm # as this is defined only for integers, first round to the nearest integer gcd(x,y) = gcd1(rnd(max(x,y)),rnd(min(x,y))) gcd1(x,y) = (y == 0) ? x : gcd1(y, x - x/y * y) rnd(x) = int(x+0.5) set samples 59 set xrange [1:59] set auto set key set title "Greatest Common Divisor (for integers only)" plot gcd(x, 60) pause -1 "Hit return to continue" set xrange [-10:10] set yrange [-10:10] set auto set isosamples 10 set samples 100 set title "" gnuplot-3.7.3/demo/borders.dem100644 1200 17 216 6515203631 15420 0ustar lheckingusersset nogrid set xlab "Demonstration of different borders" bb=0 set border bb set xrang [0:15] plot x,bb title "border value" load "reread.bor" gnuplot-3.7.3/demo/contours.dem100644 1200 17 10454 7403154745 15711 0ustar lheckingusers# # $Id: contours.dem,v 1.2.2.4 2025/12/04 14:12:53 lhecking Exp $ # set samples 20 set isosamples 21 set xlabel "X axis" -5,-2 set ylabel "Y axis" 4,-1 set zlabel "Z axis" set title "3D gnuplot demo - contour plot" set contour splot x*y pause -1 "Hit return to continue (1)" set cntrparam levels 20 set title "3D gnuplot demo - contour plot (more contours)" replot pause -1 "Hit return to continue (2)" set cntrparam levels incr -100,10,100 set title "3D gnuplot demo - contour plot (every 10, starting at -100)" replot pause -1 "Hit return to continue (3)" set cntrparam levels disc -75,-50,0 set title "3D gnuplot demo - contour plot (at -75, -50, 0)" replot pause -1 "Hit return to continue (4)" set cntrparam levels auto 10 set title "3D gnuplot demo - contour plot on base grid" set contour base splot x**2-y**2 pause -1 "Hit return to continue (5)" set title "3D gnuplot demo - contour plot on surface" set contour surface replot pause -1 "Hit return to continue (6)" set title "3D gnuplot demo - contour plot on both" set contour both replot pause -1 "Hit return to continue (7)" set contour base set title "3D gnuplot demo - 2 surfaces" splot x**2*y**3, x**3*y**2 pause -1 "Hit return to continue (8)" set title "3D gnuplot demo - some more interesting contours" splot x*y / (x**2 + y**2 + 0.1) pause -1 "Hit return to continue (9)" splot [x=-3:3] [y=-3:3] sin(x) * cos(y) pause -1 "Hit return to continue (10)" set zrange [-1.0:1.0] replot pause -1 "Hit return to continue (11)" set samples 6 set isosamples 6 set cntrparam levels 5 set title "3D gnuplot demo - low resolution (6x6)" replot pause -1 "Hit return to continue (12)" set cntrparam bspline set title "3D gnuplot demo - low resolution (6x6) using bspline approx." replot pause -1 "Hit return to continue (13)" set cntrparam order 8 set title "3D gnuplot demo - low resolution (6x6) raise bspline order." replot pause -1 "Hit return to continue (14)" set cntrparam linear set auto set title "3D gnuplot demo - low resolution (6x6) using linear contours." splot x*y pause -1 "Hit return to continue (15)" set cntrparam order 4 set cntrparam bspline set title "3D gnuplot demo - low resolution (6x6) using bspline approx." replot pause -1 "Hit return to continue (16)" set samples 25 set isosamples 26 set title "3D gnuplot demo - contour of Sinc function" splot [-5:5.01] [-5:5.01] sin(sqrt(x**2+y**2)) / sqrt(x**2+y**2) pause -1 "Hit return to continue (17)" splot [-12:12.01] [-12:12.01] sin(sqrt(x**2+y**2)) / sqrt(x**2+y**2) pause -1 "Hit return to continue (18)" set cntrparam levels 10 set xrange [0:15] set yrange [0:15] set auto set zrange [-1.0:1.0] set data style lines set title "3D gnuplot demo - contour of data grid plotting" set parametric splot "glass.dat" pause -1 "Hit return to continue (19)" set zrange [-1.2:1.2] set noparametric splot "glass.dat" using 1 pause -1 "Hit return to continue (20)" set view 0,0,1 set nosurface set title "3D gnuplot demo - 2D contour projection of last plot" replot pause -1 "Hit return to continue (21)" #From: shen@athena.cs.uga.edu (Mingzuo Shen) #Subject: Rosenbrock's function: some answers and thanks #Date: Wed, 23 Jun 2025 20:50:36 GMT # # Last night I asked for help with a contour plot for the function: # # (1-x)**2 + 100 * (y - x**2)**2 # #which should have a minimum at (x=1,y=1). This is the 2D case of a more #general function named after Rosenbrock (the book I am reading does not #give a reference to any paper/book by this person): # # for even integer n, # # f(x) = \sum_{j=1,3,5,\ldots,n} [(1 - x_j)^2 + 100(x_{j+1} - x_j^2)^2] # #where x is a vector (x1, x2, ..., x_n). This function also have a minimum #at (1,1,...,1), which lies at the base of a "banana-shaped valley". #Here are the new commands I have tried. # set auto set surface set nocontour set cntrparam levels 5 set cntrparam linear set samples 100 set logscale z set hidden3d set isosamples 20 set view 70,335,1 set xlabel "x" set ylabel "y" set title "Rosenbrock Function" splot [0.9:1.1] [0.9:1.1] (1-x)**2 + 100*(y - x**2)**2 pause -1 "Hit Return to Continue (22)" set logscale z set hidden3d set isosamples 60 set ticslevel 0. set view 20,340 #HBB: ,1,2 set xlabel "x" set ylabel "y" splot [-1.5:1.5] [-0.5:1.5] (1-x)**2 + 100*(y - x**2)**2 pause -1 "Hit Return to Continue (23)" set contour set nosurface replot pause -1 "Hit Return to Continue (24)" # # Clean up: # reset gnuplot-3.7.3/demo/controls.dem100644 1200 17 1306 7000362500 15633 0ustar lheckingusers# # $Id: controls.dem,v 1.1.1.1.2.1 2025/10/11 13:25:20 lhecking Exp $ # # warning: this demo is SLOW on PCs without math coprocessors! # # From _Automatic_Control_Systems_, fourth ed., figure 6-14 # transient response of a second-order system to a unit step input function # damp(t) = exp(-s*wn*t)/sqrt(1.0-s*s) per(t) = sin(wn*sqrt(1.0-s**2)*t - atan(-sqrt(1.0-s**2)/s)) c(t) = 1-damp(t)*per(t) # # wn is natural undamped frequency # s is damping factor # wn = 1.0 set xrange [0:13] set samples 50 set dummy t set key box # # plot c(t) for several different damping factors s # plot s=.1,c(t),s=.3,c(t),s=.5,c(t),s=.7,c(t),s=.9,c(t),s=1.0,c(t),s=1.5,c(t),s=2.0,c(t) pause -1 "Hit return to continue" reset gnuplot-3.7.3/demo/density.fnc100644 1200 17 1256 6515203631 15465 0ustar lheckingusers# # This is a rough approach to fit a model function to the density # data of a liquid crystal. The function consists of a linear # branch for the high temperature region and of a curved branch with # linear asymptote for the low temperatuer branch # # free parameters: # m1, m2 slopes of the linear function in the low and high T region # Tc transition temperature # dens_Tc density at the transition temperature # g factor to scale tanh function ml = -0.0001 mh = -0.0001 dens_Tc = 1.020 Tc = 45 g = 1 b = 0.1 high(x) = mh*(x-Tc) + dens_Tc lowlin(x) = ml*(x-Tc) + dens_Tc curve(x) = b*tanh(g*(Tc-x)) density(x) = x < Tc ? curve(x)+lowlin(x) : high(x) gnuplot-3.7.3/demo/discrete.dem100644 1200 17 1115 6515203631 15601 0ustar lheckingusers# # $Id: discrete.dem,v 1.1.1.1 2025/04/15 19:16:41 lhecking Exp $ # # set contour set title "Demo of specifying discrete contour levels - default contours" splot x*y pause -1 "Hit return to continue" #set discrete levels set cntrparam levels discrete 0, 15, 75 set title "3 discrete contours at 0 15 & 75" replot pause -1 "Hit return to continue" #set incremental levels set cntrp level incr -20, 5, 9 set title "9 incremental contours starting at -20, stepping by 5" replot pause -1 "Hit return to continue" #restore defaults set title "" set nocontour set cntrparam levels auto 5 gnuplot-3.7.3/demo/electron.dem100644 1200 17 3712 7000362472 15616 0ustar lheckingusers# # $Id: electron.dem,v 1.1.1.1.2.1 2025/10/11 13:25:14 lhecking Exp $ # # Electronics demo # # Bipolar Transistor (NPN) Mutual Characteristic Ie(Vbe)=Ies*exp(Vbe/kT_q) Ic(Vbe)=alpha*Ie(Vbe)+Ico alpha = 0.99 Ies = 4e-14 Ico = 1e-09 kT_q = 0.025 set dummy Vbe set grid set offsets set nolog set nopolar set samples 160 set title "Mutual Characteristic of a Transistor" set xlabel "Vbe (base emmitter voltage)" set xrange [0 : 0.75] set ylabel "Ic (collector current)" set yrange [0 : 0.005] set key box set key .2,.0045 set format y "%.4f" plot Ic(Vbe) set format "%g" pause -1 "Hit return to continue" # Junction Field Effect Transistor (JFET) Mutual Characteristic # drain current above pinch off Ida(Vd)=Ido*(1-Vg/Vp)**2 # drain current below pinch off Idb(Vd)=Ido*(2*Vd*(Vg-Vp)-Vd*Vd)/(Vp*Vp) # drain current Id(Vd)= (Vd>Vg-Vp) ? Ida(Vd) : Idb(Vd) # drain current at zero gate voltage Ido = 2.5 # pinch off voltage Vp = -1.25 # gate voltage Vg = 0 set dummy Vd set nogrid set nokey set offsets 0, 1, 0, 0 set title "JFET Mutual Characteristic" set xlabel "Drain voltage Vd (V)" set xrange [0 : 4] set ylabel "Drain current Id (mA)" set yrange [0 : 5] set label "-0.5 Vp" at 4.1,0.625 set label "-0.25 Vp" at 4.1,1.4 set label "0" at 4.1,2.5 set label "Vg = 0.5 Vp" at 4.1,3.9 plot Vg=0.5*Vp,Id(Vd),Vg=0.25*Vp,Id(Vd),Vg=0,Id(Vd),Vg=-0.25*Vp,Id(Vd) set nolabel pause -1 "Hit return to continue" # show off double axes # amplitude frequency response A(jw) = ({0,1}*jw/({0,1}*jw+p1)) * (1/(1+{0,1}*jw/p2)) p1 = 10 p2 = 10000 set dummy jw set grid x y2 set key set logscale xy set log x2 set nolog y2 set title "Amplitude and Phase Frequency Response" set xlabel "jw (radians)" set xrange [1.1 : 90000.0] set x2range [1.1 : 90000.0] set ylabel "magnitude of A(jw)" set y2label "Phase of A(jw) (degrees)" set ytics nomirror set y2tics set tics out set autoscale y set autoscale y2 plot abs(A(jw)), 180/pi*arg(A(jw)) axes x2y2 pause -1 "Hit return to continue" # undo what we've done reset gnuplot-3.7.3/demo/fit.dem100644 1200 17 20561 7403154745 14617 0ustar lheckingusers# # $Id: fit.dem,v 1.1.1.1.2.3 2025/12/04 14:12:53 lhecking Exp $ # print "Some examples how data fitting using nonlinear least squares fit" print "can be done." print "" pause -1 "first plotting the pure data set (-> return)" set title 'data for first fit demo' plot 'lcdemo.dat' set xlabel "Temperature T [deg Cels.]" set ylabel "Density [g/cm3]" set key below print "now fitting a straight line to the data :-)" print "only as a demo without physical meaning" load 'line.fnc' y0 = 0.0 m = 0.0 show variables pause -1 "first a plot with all parameters set to zero (-> return)" set title 'all fit params set to 0' plot 'lcdemo.dat', l(x) pause -1 "now start fitting... (-> return)" fit l(x) 'lcdemo.dat' via y0, m pause -1 "now look at the result (-> return)" set title 'unweighted fit' plot 'lcdemo.dat', l(x) pause -1 "see the influence of weights for single data points (-> return)" fit l(x) 'lcdemo.dat' using 1:2:3 via y0, m pause -1 "now look at the result (-> return)" set title 'fit weighted towards low temperatures' plot 'lcdemo.dat', l(x) pause -1 "now prefer the high temperature data (-> return)" fit l(x) 'lcdemo.dat' using 1:2:4 via y0, m pause -1 "now look at the result (-> return)" set title 'bias to high-temperates' plot 'lcdemo.dat', l(x) pause 0 "now use real single-measurement errors to reach such a result (-> return)" pause 0 "(look at the file lcdemo.dat and compare the columns to see the difference)" pause -1 "(-> return)" set title 'data with experimental errors' plot 'lcdemo.dat' using 1:2:5 with errorbars fit l(x) 'lcdemo.dat' using 1:2:5 via y0, m pause -1 "now look at the result (-> return)" set title 'fit weighted by experimental errors' plot 'lcdemo.dat' using 1:2:5 with errorbars, l(x) print "It's time now to try a more realistic model function" load 'density.fnc' show functions print "density(x) is a function which shall fit the whole temperature" print "range using a ?: expression. It contains 6 model parameters which" print "will all be varied. Now take the start parameters out of the" pause -1 "file 'start.par' and plot the function (-> return)" load 'start.par' set title 'initial parameters for realistic model function' plot 'lcdemo.dat', density(x) fit density(x) 'lcdemo.dat' via 'start.par' pause -1 "now look at the result (-> return)" set title 'fitted to realistic model function' plot 'lcdemo.dat', density(x) print "looks already rather nice? We will do now the following: set" print "the epsilon limit higher so that we need more iteration steps" print "to convergence. During fitting please hit ctrl-C. You will be asked" print "Stop, Continue, Execute: Try everything. You may define a script" print "using the FIT_SCRIPT environment variable. An example would be" print "'FIT_SCRIPT=plot nonsense.dat'. Normally you don't need to set" print "FIT_SCRIPT since it defaults to 'replot'. Please note that FIT_SCRIPT" print "cannot be set from inside gnuplot." print "" pause -1 "(-> return)" FIT_LIMIT = 1e-10 fit density(x) 'lcdemo.dat' via 'start.par' pause -1 "now look at the result (-> return)" set title 'fit with more iterations' plot 'lcdemo.dat', density(x) FIT_LIMIT = 1e-5 print "\nNow a brief demonstration of 3d fitting." print "hemisphr.dat contains random points on a hemisphere of" print "radius 1, but we let fit figure this out for us." print "It takes many iterations, so we limit FIT_MAXITER to 50." #HBB: made this a lot harder: also fit the center of the sphere #h(x,y) = sqrt(r*r - (x-x0)**2 - (y-y0)**2) + z0 #HBB 970522: distort the function, so it won't fit exactly: h(x,y) = sqrt(r*r - (abs(x-x0))**2.2 - (abs(y-y0))**1.8) + z0 x0 = 0.1 y0 = 0.2 z0 = 0.3 r=0.5 FIT_MAXITER=50 set title 'the scattered points, and the initial parameter' splot 'hemisphr.dat' using 1:2:3, h(x,y) pause -1 "(-> return)" # we *must* provide 4 columns for a 3d fit. We fake errors=1 fit h(x,y) 'hemisphr.dat' using 1:2:3:(1) via r, x0, y0, z0 set title 'the scattered points, fitted curve' splot 'hemisphr.dat' using 1:2:3, h(x,y) print "\n\nNotice, however, that this would converge much faster when" print "fitted in a more appropriate co-ordinate system:" print "fit r 'hemisphr.dat' using 0:($1*$1+$2*$2+$3*$3) via r" print "where we are fitting f(x)=r to the radii calculated as the data" print "is read from the file. No x value is required in this case." pause -1 "(This is left as an excercise for the user). (-> return)" FIT_MAXITER=0 # no limit : we cannot delete the variable once set print "\n\nNow an example how to fit multi-branch functions\n" print "The model consists of two branches, the first describing longitudinal" print "sound velocity as function of propagation direction (upper data)," print "the second describing transverse sound velocity (lower data).\n" print "The model uses these data in order to fit elastic stiffnesses" print "which occur differently in both branches.\n" pause -1 "(-> return)" load 'hexa.fnc' load 'sound.par' set title 'sound data, and model with initial parameters' plot 'soundvel.dat', vlong(x), vtrans(x) # Must provide an error estimate for a 3d fit. Use constant 1 fit f(x,y) 'soundvel.dat' using 1:-2:2:(1) via 'sound.par' #create soundfit.par, reading from sound.par and updating values update 'sound.par' 'soundfit.par' print "" pause -1 "(-> return)" set title 'pseudo-3d multi-branch fit to velocity data' plot 'soundvel.dat', vlong(x), vtrans(x) print "Look at the file 'hexa.fnc' to see how the branches are realized" print "using the data index as a pseudo-3d fit" print "" print "Next we only use every fifth data point for fitting by using the" print "'every' keyword. Look at the fitting-speed increase and at" print "fitting result." print "" pause -1 "(-> return)" load 'sound.par' fit f(x,y) 'soundvel.dat' every 5 using 1:-2:2:(1) via 'sound.par' set title 'fitted only every 5th data point' plot 'soundvel.dat', vlong(x), vtrans(x) print "When you compare the results (see 'fit.log') you remark that" print "the uncertainties in the fitted constants have become larger," print "the quality of the plot is only slightly affected." print "" print "By marking some parameters as '# FIXED' in the parameter file" print "you fit only the others (c44 and c13 fixed here)." print "" pause -1 "(-> return)" load 'sound2.par' set title 'initial parameters' plot 'soundvel.dat', vlong(x), vtrans(x) fit f(x,y) 'soundvel.dat' using 1:-2:2:(1) via 'sound2.par' set title 'fit with c44 and c13 fixed' plot 'soundvel.dat', vlong(x), vtrans(x) print "This has the same effect as specifying only the real free" print "parameters by the 'via' syntax." print "" print "fit f(x) 'soundvel.dat' via c33, c11, phi0" print "" pause -1 "(-> return)" load 'sound.par' set title 'initial parameters' plot 'soundvel.dat', vlong(x), vtrans(x) fit f(x,y) 'soundvel.dat' using 1:-2:2:(1) via c33, c11, phi0 set title 'fit via c33,c11,phi0' plot 'soundvel.dat', vlong(x), vtrans(x) print "Here comes an example of a very complex function..." print "" pause -1 "first plotting the pure data set (-> return)" set xlabel "Delta [degrees]" set ylabel "Reflectivity" set title 'raw data' #HBB 970522: here and below, use the error column present in moli3.dat: plot 'moli3.dat' w e print "now fitting the model function to the data" load 'reflect.fnc' #HBB 970522: Changed initial values to something sensible, i.e. # something an experienced user of fit would actually use. # FIT_LIMIT is also raised, to ensure a better fit. eta = 1.2e-4 tc = 1.8e-3 FIT_LIMIT=1e-10 show variables show functions pause -1 "first a plot with all parameters set to initial values (-> return)" set title 'initial parameters' plot 'moli3.dat' w e, R(x) pause -1 "now start fitting... (-> return)" fit R(x) 'moli3.dat' u 1:2:3 via eta, tc pause -1 "Hit return to continue" set title 'fitted parameters' replot #HBB 970522: added comment on result of last fit. print "Looking at the plot of the resulting fit curve, you can see" print "that this function doesn't really fit this set of data points." print "This would normally be a reason to check for measurement problems" print "not yet accounted for, and maybe even re-think the theoretic" print "prediction in use." print "" print "You can have a look at all previous fit results by looking into" print "the file 'fit.log' or whatever you defined the env-variable 'FIT_LOGFILE'." print "Remember that this file will always be appended, so remove it" print "from time to time!" print "" pause -1 "Done with fitting demo (-> return)" reset gnuplot-3.7.3/demo/glass.dat100644 1200 17 20632 6515203631 15140 0ustar lheckingusers# # $Id: glass.dat,v 1.1.1.1 2025/04/15 19:16:41 lhecking Exp $ # # 16x16 grid Glass shape. Created Using DRAWFN3D, Gershon Elber 1990. # 0.568000 0.000000 -0.911000 0.518894 0.231026 -0.911000 0.380066 0.422106 -0.911000 0.175522 0.540200 -0.911000 -0.059372 0.564888 -0.911000 -0.284000 0.491902 -0.911000 -0.459522 0.333862 -0.911000 -0.555588 0.118094 -0.911000 -0.555588 -0.118094 -0.911000 -0.459522 -0.333862 -0.911000 -0.284000 -0.491902 -0.911000 -0.059372 -0.564888 -0.911000 0.175522 -0.540200 -0.911000 0.380066 -0.422106 -0.911000 0.518894 -0.231027 -0.911000 0.568000 -0.000000 -0.911000 0.341741 0.000000 -0.905215 0.312196 0.138999 -0.905215 0.228669 0.253963 -0.905215 0.105604 0.325015 -0.905215 -0.035722 0.339869 -0.905215 -0.170870 0.295956 -0.905215 -0.276474 0.200870 -0.905215 -0.334273 0.071052 -0.905215 -0.334273 -0.071052 -0.905215 -0.276474 -0.200870 -0.905215 -0.170871 -0.295956 -0.905215 -0.035722 -0.339869 -0.905215 0.105604 -0.325015 -0.905215 0.228669 -0.253963 -0.905215 0.312196 -0.138999 -0.905215 0.341741 -0.000000 -0.905215 0.212153 0.000000 -0.863178 0.193812 0.086290 -0.863178 0.141958 0.157661 -0.863178 0.065559 0.201770 -0.863178 -0.022176 0.210991 -0.863178 -0.106077 0.183730 -0.863178 -0.171636 0.124701 -0.863178 -0.207517 0.044109 -0.863178 -0.207517 -0.044109 -0.863178 -0.171636 -0.124701 -0.863178 -0.106077 -0.183730 -0.863178 -0.022176 -0.210991 -0.863178 0.065559 -0.201770 -0.863178 0.141958 -0.157661 -0.863178 0.193812 -0.086291 -0.863178 0.212153 -0.000000 -0.863178 0.138097 0.000000 -0.764660 0.126157 0.056169 -0.764660 0.092405 0.102626 -0.764660 0.042674 0.131338 -0.764660 -0.014435 0.137340 -0.764660 -0.069048 0.119595 -0.764660 -0.111722 0.081171 -0.764660 -0.135079 0.028712 -0.764660 -0.135079 -0.028712 -0.764660 -0.111722 -0.081171 -0.764660 -0.069048 -0.119595 -0.764660 -0.014435 -0.137340 -0.764660 0.042674 -0.131338 -0.764660 0.092405 -0.102626 -0.764660 0.126157 -0.056169 -0.764660 0.138097 -0.000000 -0.764660 0.098588 0.000000 -0.618872 0.090065 0.040099 -0.618872 0.065968 0.073265 -0.618872 0.030465 0.093763 -0.618872 -0.010305 0.098048 -0.618872 -0.049294 0.085380 -0.618872 -0.079760 0.057949 -0.618872 -0.096434 0.020498 -0.618872 -0.096434 -0.020498 -0.618872 -0.079760 -0.057949 -0.618872 -0.049294 -0.085380 -0.618872 -0.010305 -0.098048 -0.618872 0.030465 -0.093763 -0.618872 0.065968 -0.073265 -0.618872 0.090065 -0.040099 -0.618872 0.098588 -0.000000 -0.618872 0.084164 0.000000 -0.452254 0.076887 0.034232 -0.452254 0.056317 0.062546 -0.452254 0.026008 0.080044 -0.452254 -0.008798 0.083703 -0.452254 -0.042082 0.072888 -0.452254 -0.068090 0.049470 -0.452254 -0.082325 0.017499 -0.452254 -0.082325 -0.017499 -0.452254 -0.068090 -0.049470 -0.452254 -0.042082 -0.072888 -0.452254 -0.008798 -0.083703 -0.452254 0.026008 -0.080045 -0.452254 0.056317 -0.062546 -0.452254 0.076887 -0.034233 -0.452254 0.084164 -0.000000 -0.452254 0.092386 0.000000 -0.291706 0.084399 0.037577 -0.291706 0.061819 0.068656 -0.291706 0.028549 0.087865 -0.291706 -0.009657 0.091880 -0.291706 -0.046193 0.080009 -0.291706 -0.074742 0.054303 -0.291706 -0.090368 0.019208 -0.291706 -0.090368 -0.019208 -0.291706 -0.074742 -0.054303 -0.291706 -0.046193 -0.080009 -0.291706 -0.009657 -0.091880 -0.291706 0.028549 -0.087865 -0.291706 0.061819 -0.068656 -0.291706 0.084399 -0.037577 -0.291706 0.092386 -0.000000 -0.291706 0.124988 0.000000 -0.153861 0.114183 0.050837 -0.153861 0.083634 0.092885 -0.153861 0.038624 0.118871 -0.153861 -0.013065 0.124304 -0.153861 -0.062494 0.108243 -0.153861 -0.101118 0.073466 -0.153861 -0.122257 0.025987 -0.153861 -0.122257 -0.025987 -0.153861 -0.101118 -0.073466 -0.153861 -0.062494 -0.108243 -0.153861 -0.013065 -0.124304 -0.153861 0.038624 -0.118871 -0.153861 0.083634 -0.092885 -0.153861 0.114183 -0.050837 -0.153861 0.124988 -0.000000 -0.153861 0.185015 0.000000 -0.041791 0.169020 0.075253 -0.041791 0.123799 0.137493 -0.041791 0.057173 0.175960 -0.041791 -0.019339 0.184002 -0.041791 -0.092508 0.160228 -0.041791 -0.149681 0.108749 -0.041791 -0.180972 0.038467 -0.041791 -0.180972 -0.038467 -0.041791 -0.149681 -0.108749 -0.041791 -0.092508 -0.160228 -0.041791 -0.019339 -0.184002 -0.041791 0.057173 -0.175960 -0.041791 0.123799 -0.137493 -0.041791 0.169020 -0.075253 -0.041791 0.185015 -0.000000 -0.041791 0.273264 0.000000 0.053395 0.249639 0.111146 0.053395 0.182849 0.203075 0.053395 0.084443 0.259889 0.053395 -0.028564 0.271767 0.053395 -0.136632 0.236653 0.053395 -0.221075 0.160620 0.053395 -0.267292 0.056815 0.053395 -0.267292 -0.056815 0.053395 -0.221075 -0.160620 0.053395 -0.136632 -0.236653 0.053395 -0.028564 -0.271767 0.053395 0.084443 -0.259889 0.053395 0.182849 -0.203075 0.053395 0.249639 -0.111146 0.053395 0.273264 -0.000000 0.053395 0.384384 0.000000 0.149114 0.351152 0.156343 0.149114 0.257203 0.285653 0.149114 0.118781 0.365570 0.149114 -0.040179 0.382278 0.149114 -0.192192 0.332886 0.149114 -0.310973 0.225935 0.149114 -0.375984 0.079918 0.149114 -0.375984 -0.079918 0.149114 -0.310973 -0.225935 0.149114 -0.192192 -0.332886 0.149114 -0.040179 -0.382278 0.149114 0.118781 -0.365571 0.149114 0.257203 -0.285653 0.149114 0.351152 -0.156343 0.149114 0.384384 -0.000000 0.149114 0.504089 0.000000 0.267473 0.460508 0.205031 0.267473 0.337301 0.374611 0.267473 0.155772 0.479417 0.267473 -0.052692 0.501327 0.267473 -0.252044 0.436554 0.267473 -0.407816 0.296296 0.267473 -0.493073 0.104806 0.267473 -0.493073 -0.104806 0.267473 -0.407816 -0.296296 0.267473 -0.252044 -0.436554 0.267473 -0.052692 -0.501327 0.267473 0.155772 -0.479417 0.267473 0.337301 -0.374611 0.267473 0.460508 -0.205031 0.267473 0.504089 -0.000000 0.267473 0.609609 0.000000 0.430046 0.556906 0.247950 0.430046 0.407908 0.453028 0.430046 0.188380 0.579773 0.430046 -0.063721 0.606270 0.430046 -0.304805 0.527937 0.430046 -0.493184 0.358319 0.430046 -0.596288 0.126745 0.430046 -0.596288 -0.126745 0.430046 -0.493184 -0.358319 0.430046 -0.304805 -0.527937 0.430046 -0.063722 -0.606270 0.430046 0.188380 -0.579773 0.430046 0.407908 -0.453028 0.430046 0.556906 -0.247951 0.430046 0.609609 -0.000000 0.430046 0.675154 0.000000 0.647779 0.616784 0.274610 0.647779 0.451766 0.501737 0.647779 0.208634 0.642110 0.647779 -0.070573 0.671455 0.647779 -0.337577 0.584700 0.647779 -0.546211 0.396846 0.647779 -0.660400 0.140372 0.647779 -0.660400 -0.140372 0.647779 -0.546211 -0.396845 0.647779 -0.337577 -0.584700 0.647779 -0.070573 -0.671455 0.647779 0.208634 -0.642110 0.647779 0.451766 -0.501737 0.647779 0.616784 -0.274610 0.647779 0.675154 -0.000000 0.647779 0.681825 0.000000 0.900691 0.622878 0.277323 0.900691 0.456230 0.506695 0.900691 0.210696 0.648454 0.900691 -0.071270 0.678090 0.900691 -0.340913 0.590478 0.900691 -0.551608 0.400767 0.900691 -0.666926 0.141760 0.900691 -0.666926 -0.141759 0.900691 -0.551608 -0.400767 0.900691 -0.340913 -0.590478 0.900691 -0.071270 -0.678090 0.900691 0.210695 -0.648454 0.900691 0.456230 -0.506695 0.900691 0.622878 -0.277324 0.900691 0.681825 -0.000000 0.900691 0.626000 0.000000 1.101000 0.571879 0.254617 1.101000 0.418876 0.465209 1.101000 0.193445 0.595361 1.101000 -0.065435 0.622571 1.101000 -0.313000 0.542132 1.101000 -0.506445 0.367954 1.101000 -0.612320 0.130153 1.101000 -0.612320 -0.130153 1.101000 -0.506445 -0.367953 1.101000 -0.313000 -0.542132 1.101000 -0.065435 -0.622571 1.101000 0.193444 -0.595361 1.101000 0.418876 -0.465209 1.101000 0.571879 -0.254617 1.101000 0.626000 -0.000000 1.101000 gnuplot-3.7.3/demo/gnuplot.rot100644 1200 17 1006 6517371342 15534 0ustar lheckingusers# HBB: revised open-ended animation routine. Used to just turn # round and round by somewhat large steps. Now, it tumbles # back and forth smoothly. # If 'limit_iterations' is set to a nonzero value, it'll stop after that # many iterations (iteration_count=0 has to be set before this # script is called) zrot=(zrot+10)%360 xrot=(xrot+17)%180 set view (50.+30.*sin(xrot/180.*pi)),60.+45.*sin(zrot/180.*pi) replot iteration_count=iteration_count+1 if ((!limit_iterations) || (iteration_count<=limit_iterations)) reread gnuplot-3.7.3/demo/hemisphr.dat100644 1200 17 15477 6515203631 15661 0ustar lheckingusers0.687151 -0.636061 0.351070 0.641845 -0.232436 0.730759 0.273514 -0.848211 0.453572 -0.550699 0.813122 0.188582 -0.347821 0.841382 0.413639 -0.829282 -0.509933 0.228604 0.399696 0.466770 0.788903 0.736650 0.020192 0.675973 -0.274921 -0.182391 0.944008 0.222153 -0.841996 0.491621 -0.461820 -0.755197 0.465189 0.294122 0.670369 0.681247 0.261892 0.211723 0.941587 -0.554902 0.477345 0.681341 -0.316651 -0.647984 0.692711 0.940858 -0.324848 0.096228 0.455903 -0.594463 0.662394 0.144714 -0.941617 0.304000 -0.417407 0.068704 0.906119 0.227478 -0.641231 0.732855 -0.636961 -0.237343 0.733450 0.302450 -0.701212 0.645620 0.355187 0.625974 0.694261 0.126868 0.938774 0.320325 -0.198825 -0.825277 0.528571 -0.605855 0.466076 0.644758 -0.979983 0.196939 0.029143 0.730081 -0.677485 0.089423 -0.733658 -0.065519 0.676353 0.593833 -0.583880 0.553576 0.630038 -0.757773 0.169798 0.214063 0.953829 0.210682 -0.210639 0.045720 0.976494 0.502269 -0.672584 0.543467 -0.713914 -0.019685 0.699956 -0.102652 0.225742 0.968764 -0.575935 0.679368 0.454707 -0.552680 0.325656 0.767133 -0.105718 0.489948 0.865318 -0.642008 0.237217 0.729077 0.912208 -0.302322 0.276546 0.685076 0.723350 0.086233 -0.730777 -0.226034 0.644107 -0.733895 -0.430285 0.525597 0.643521 -0.710952 0.283598 0.206564 0.497907 0.842271 -0.388945 -0.813833 0.431738 0.514538 -0.817664 0.258216 0.658314 0.496308 0.565952 0.588167 0.708096 0.390716 0.552130 0.427566 0.715779 -0.705121 0.320760 0.632390 -0.689813 0.688923 0.222582 0.553844 0.711779 0.432004 -0.046413 0.212599 0.976037 0.399406 -0.766162 0.503458 -0.233463 -0.160645 0.959004 0.529336 -0.621840 0.577163 0.606825 0.629365 0.485451 0.501835 0.612707 0.610534 -0.683857 0.450334 0.574055 -0.882283 0.443548 0.157614 0.586683 0.464120 0.663623 -0.595482 0.233864 0.768576 0.237607 -0.846347 0.476696 -0.409129 0.625441 0.664407 0.664685 -0.741902 0.088182 -0.588147 -0.803628 0.090915 -0.682428 -0.728175 0.063668 0.540892 0.542901 0.642413 0.117736 -0.786009 0.606900 0.846712 -0.474373 0.240934 -0.739743 -0.661408 0.123773 -0.674807 -0.295222 0.676373 0.612938 0.564586 0.552766 -0.200352 -0.584274 0.786437 -0.583626 -0.608199 0.538028 -0.842820 -0.537921 0.017206 -0.914848 -0.365948 0.170690 -0.722029 -0.691806 0.008805 -0.749203 0.647075 0.141379 0.542856 0.713704 0.442644 0.708415 0.597082 0.376353 -0.514737 -0.622752 0.589258 0.517661 -0.651774 0.554273 0.964970 -0.229158 0.127752 -0.896947 -0.320221 0.304868 -0.806679 0.191888 0.558970 -0.449889 0.492534 0.744990 -0.121829 0.701839 0.701840 -0.136385 -0.726159 0.673864 0.141310 0.776791 0.613700 0.730240 0.567015 0.381108 -0.096403 0.876852 0.470997 -0.407930 0.721095 0.560014 -0.617285 0.119734 0.777575 -0.516675 0.784493 0.342954 -0.409966 -0.414935 0.812254 0.172975 0.141665 0.974685 -0.421979 0.745663 0.515674 -0.657963 -0.199035 0.726271 0.579425 0.685534 0.440805 -0.214461 0.856536 0.469418 0.809815 -0.403364 0.426025 -0.706903 0.588917 0.391745 0.585611 0.463666 0.664886 0.438727 0.698150 0.565779 -0.464391 -0.446944 0.764580 -0.657744 0.534413 0.530825 0.537112 -0.749640 0.386718 0.007187 -0.597134 0.802109 -0.356817 -0.675864 0.644895 0.682514 -0.090759 0.725216 -0.759950 -0.640982 0.107787 0.314462 0.320252 0.893618 0.794300 -0.091894 0.600535 0.231465 -0.737745 0.634159 -0.493894 -0.137710 0.858548 -0.636201 0.372391 0.675703 0.851855 -0.078785 0.517819 -0.252937 0.823486 0.507832 -0.501036 -0.558527 0.661068 -0.667380 -0.740968 0.074628 0.826057 -0.356650 0.436383 0.676558 0.736342 0.008355 0.356317 0.717007 0.599115 -0.702754 -0.252940 0.664950 0.241305 0.873806 0.422179 -0.444469 0.694911 0.565284 0.285538 0.893811 0.345789 -0.816376 -0.543964 0.193993 0.411338 -0.215215 0.885711 -0.685665 0.175779 0.706375 -0.370169 -0.144937 0.917588 0.415254 -0.282774 0.864640 0.342285 -0.791855 0.505773 -0.442990 -0.543366 0.713101 0.737523 0.300789 0.604637 -0.648119 0.560986 0.515012 0.832393 -0.080222 0.548349 -0.745494 -0.022420 0.666135 -0.343740 -0.929656 0.132602 0.632050 -0.340980 0.695878 -0.670904 0.696398 0.254790 -0.691893 -0.369253 0.620433 -0.644716 -0.667477 0.372578 0.511738 -0.534049 0.672990 0.542618 -0.778095 0.316437 -0.369727 -0.900054 0.230662 -0.681421 -0.572227 0.456313 0.200343 -0.968269 0.149389 -0.897349 0.345346 0.274776 -0.524090 -0.266174 0.809000 -0.863974 0.483194 0.141680 -0.549403 -0.740878 0.386336 0.206515 -0.791156 0.575694 -0.617364 0.470918 0.630157 0.964888 0.246811 0.089862 0.681090 0.695442 0.229080 -0.635200 -0.708299 0.307949 0.388299 0.158032 0.907882 0.573002 0.727986 0.376438 0.601183 -0.586111 0.543188 -0.235470 -0.811948 0.534130 0.155904 -0.681863 0.714672 -0.672889 0.588006 0.448852 0.306393 0.874114 0.376892 0.032428 0.271616 0.961859 0.107372 0.155924 0.981916 0.592487 0.224923 0.773543 -0.585302 -0.568462 0.578163 0.663301 0.728159 0.172675 -0.513634 0.781053 0.355157 0.810010 -0.386643 0.440898 -0.139469 0.655629 0.742091 0.621210 0.615790 0.484666 -0.051261 0.216594 0.974915 0.658176 -0.726097 0.198966 0.603351 0.247584 0.758070 0.686614 -0.089142 0.721537 0.226818 0.552577 0.802005 -0.741481 0.327178 0.585799 -0.366696 0.771805 0.519472 0.238979 0.647361 0.723749 -0.672754 -0.332136 0.661126 0.696711 -0.471073 0.541004 0.160743 0.905419 0.392909 -0.912978 0.232968 0.334959 -0.285567 -0.185395 0.940255 -0.619693 -0.706342 0.342142 0.382874 0.892396 0.238822 -0.381917 0.512306 0.769209 -0.652722 -0.575238 0.493006 0.240731 0.522574 0.817902 -0.047170 0.578270 0.814481 -0.769256 0.592413 0.239359 0.517803 -0.372629 0.770083 0.879867 -0.153159 0.449862 -0.408953 0.473917 0.779846 -0.611694 0.790628 0.027172 0.082968 0.088643 0.992602 0.329262 0.745222 0.579854 -0.093733 0.752980 0.651334 -0.876795 -0.216424 0.429408 0.659021 0.742999 0.116803 0.471778 -0.608160 0.638410 -0.771241 0.625579 0.117638 0.666548 0.601906 0.439799 -0.177481 -0.887762 0.424711 -0.544219 -0.682418 0.487987 -0.232865 0.617965 0.750929 -0.761795 -0.037050 0.646758 0.261925 0.847441 0.461778 -0.447484 -0.545276 0.708824 -0.005218 -0.773747 0.633474 0.216045 0.575576 0.788693 -0.018365 0.656245 0.754325 0.305420 0.594325 0.743973 -0.508168 -0.512279 0.692341 0.478855 0.493185 0.726269 0.451841 0.584772 0.673707 0.253152 -0.875528 0.411540 -0.653601 0.507497 0.561474 0.486897 0.719655 0.495003 0.497595 -0.353890 0.791935 -0.044254 -0.938949 0.341197 -0.781823 -0.038665 0.622300 -0.486930 -0.527387 0.696249 0.869944 -0.440150 0.222408 0.279697 0.693758 0.663679 0.593555 0.421221 0.685759 0.519810 -0.396648 0.756616 -0.862087 0.275232 0.425503 0.237904 -0.755351 0.610612 -0.614121 -0.664634 0.425579 0.328900 0.035730 0.943689 0.769607 0.633896 0.076682 -0.575359 -0.794269 0.195191 -0.608405 0.637947 0.472087 -0.658203 0.089686 0.747479 -0.913833 -0.389451 0.115050 0.272020 -0.871201 0.408673 -0.519856 -0.851058 0.073831 0.411266 0.672267 0.615563 0.686633 0.578928 0.439747 -0.097612 -0.192980 0.976335 -0.710703 -0.205920 0.672680 -0.622197 0.068071 0.779896 -0.296696 0.405710 0.864506 gnuplot-3.7.3/demo/hexa.fnc100644 1200 17 2040 6515203631 14723 0ustar lheckingusers# # Use this function to fit sound velocity data as function of # sound propagation direction, indicated by its angle against the # z-axis of an hexagonal symmetry coordinate system # # Adjustable parameters: # # c33, c11, c13, c44 elastic moduli - materials constants # phi0 angle offset # # HBB 970522: factored out common factor 1e9 from c?? into the # function, to improve the fit convergence. Fit parameters were # just too grossly different before. rho = 1000.0 # density in kg/m3 phi(x) = (x - phi0)/360.0*2.0*pi main(x) = c11*sin(phi(x))**2 + c33*cos(phi(x))**2 + c44 mixed(x) = sqrt( ((c11-c44)*sin(phi(x))**2 \ +(c44-c33)*cos(phi(x))**2)**2 \ +(2.0*(c13+c44)*sin(phi(x))*cos(phi(x)))**2 ) vlong(x) = sqrt(1.0/2.0/rho*1e9*(main(x) + mixed(x))) vtrans(x) = sqrt(1.0/2.0/rho*1e9*(main(x) - mixed(x))) # When we read the file in, we set y=index, and we use # y in this (pseudo) 3d fit to choose an x function f(x,y) = y==1 ? vlong(x) : vtrans(x) gnuplot-3.7.3/demo/hidden.dem100644 1200 17 2322 7000362456 15234 0ustar lheckingusers# # $Id: hidden.dem,v 1.2.2.1 2025/10/11 13:25:02 lhecking Exp $ # # set samples 20 set isosamples 20 set hidden3d set title "Hidden line removal of explicit surfaces" set xrange [-3:3] set yrange [-2:2] splot 1 / (x*x + y*y + 1) pause -1 "Hit return to continue (1)" set xrange [-1:1] set yrange [-1:1] splot x*y / (x**2 + y**2 + 0.1) pause -1 "Hit return to continue (2)" set view 70,45 set nocontour set xrange [-3:3] set yrange [-3:3] splot sin(x*x + y*y) / (x*x + y*y) pause -1 "Hit return to continue (3)" set view 60,30 set xrange [-3:3] set yrange [-3:3] set zrange [-1:1] set ztics -1,0.5,1 set grid z set border 4095 splot sin(x) * cos(y) pause -1 "Hit return to continue (4)" set nogrid set ztics autofreq set border 31 set view 75,230 set contour replot pause -1 "Hit return to continue (5)" set view 80,30,1,1 set data style lines # autoranging loses the verticals set xrange [0:15] set yrange [0:15] splot "glass.dat" using 1 pause -1 "Hit return to continue (6)" set view 50 set grid replot pause -1 "Hit return to continue (7)" set nocontour set nogrid set nohidden3d set samples 100 set isosamples 10 set view 60,30,1,1 set xrange [-10:10] set yrange [-10:10] set zrange [-10:10] set auto set title "" 0,0 gnuplot-3.7.3/demo/klein.dat100644 1200 17 47225 6515203631 15140 0ustar lheckingusers1 0 0 0.924 -0.383 0 0.707 -0.707 0 0.383 -0.924 0 0 -1 0 -0.383 -0.924 0 -0.707 -0.707 0 -0.924 -0.383 0 -1 0 0 -0.924 0.383 0 -0.707 0.707 0 -0.383 0.924 0 0 1 0 0.383 0.924 0 0.707 0.707 0 0.924 0.383 0 1 0 0 1.076 0 0.673 0.994 -0.412 0.673 0.761 -0.761 0.673 0.412 -0.994 0.673 0 -1.076 0.673 -0.412 -0.994 0.673 -0.761 -0.761 0.673 -0.994 -0.412 0.673 -1.076 0 0.673 -0.994 0.412 0.673 -0.761 0.761 0.673 -0.412 0.994 0.673 0 1.076 0.673 0.412 0.994 0.673 0.761 0.761 0.673 0.994 0.412 0.673 1.076 0 0.673 1.304 0 1.315 1.205 -0.499 1.315 0.922 -0.922 1.315 0.499 -1.205 1.315 0 -1.304 1.315 -0.499 -1.205 1.315 -0.922 -0.922 1.315 -1.205 -0.499 1.315 -1.304 0 1.315 -1.205 0.499 1.315 -0.922 0.922 1.315 -0.499 1.205 1.315 0 1.304 1.315 0.499 1.205 1.315 0.922 0.922 1.315 1.205 0.499 1.315 1.304 0 1.315 1.757 0 2.206 1.623 -0.672 2.206 1.242 -1.242 2.206 0.672 -1.623 2.206 0 -1.757 2.206 -0.672 -1.623 2.206 -1.242 -1.242 2.206 -1.623 -0.672 2.206 -1.757 0 2.206 -1.623 0.672 2.206 -1.242 1.242 2.206 -0.672 1.623 2.206 0 1.757 2.206 0.672 1.623 2.206 1.242 1.242 2.206 1.623 0.672 2.206 1.757 0 2.206 2.21 0 3.097 2.042 -0.846 3.097 1.563 -1.563 3.097 0.846 -2.042 3.097 0 -2.21 3.097 -0.846 -2.042 3.097 -1.563 -1.563 3.097 -2.042 -0.846 3.097 -2.21 0 3.097 -2.042 0.846 3.097 -1.563 1.563 3.097 -0.846 2.042 3.097 0 2.21 3.097 0.846 2.042 3.097 1.563 1.563 3.097 2.042 0.846 3.097 2.21 0 3.097 2.663 0 3.988 2.46 -1.019 3.988 1.883 -1.883 3.988 1.019 -2.46 3.988 0 -2.663 3.988 -1.019 -2.46 3.988 -1.883 -1.883 3.988 -2.46 -1.019 3.988 -2.663 0 3.988 -2.46 1.019 3.988 -1.883 1.883 3.988 -1.019 2.46 3.988 0 2.663 3.988 1.019 2.46 3.988 1.883 1.883 3.988 2.46 1.019 3.988 2.663 0 3.988 3.116 0 4.879 2.879 -1.192 4.879 2.203 -2.203 4.879 1.192 -2.879 4.879 0 -3.116 4.879 -1.192 -2.879 4.879 -2.203 -2.203 4.879 -2.879 -1.192 4.879 -3.116 0 4.879 -2.879 1.192 4.879 -2.203 2.203 4.879 -1.192 2.879 4.879 0 3.116 4.879 1.192 2.879 4.879 2.203 2.203 4.879 2.879 1.192 4.879 3.116 0 4.879 3.569 0 5.77 3.297 -1.366 5.77 2.524 -2.524 5.77 1.366 -3.297 5.77 0 -3.569 5.77 -1.366 -3.297 5.77 -2.524 -2.524 5.77 -3.297 -1.366 5.77 -3.569 0 5.77 -3.297 1.366 5.77 -2.524 2.524 5.77 -1.366 3.297 5.77 0 3.569 5.77 1.366 3.297 5.77 2.524 2.524 5.77 3.297 1.366 5.77 3.569 0 5.77 4.022 0 6.661 3.716 -1.539 6.661 2.844 -2.844 6.661 1.539 -3.716 6.661 0 -4.022 6.661 -1.539 -3.716 6.661 -2.844 -2.844 6.661 -3.716 -1.539 6.661 -4.022 0 6.661 -3.716 1.539 6.661 -2.844 2.844 6.661 -1.539 3.716 6.661 0 4.022 6.661 1.539 3.716 6.661 2.844 2.844 6.661 3.716 1.539 6.661 4.022 0 6.661 4.475 0 7.552 4.134 -1.713 7.552 3.164 -3.164 7.552 1.713 -4.134 7.552 0 -4.475 7.552 -1.713 -4.134 7.552 -3.164 -3.164 7.552 -4.134 -1.713 7.552 -4.475 0 7.552 -4.134 1.713 7.552 -3.164 3.164 7.552 -1.713 4.134 7.552 0 4.475 7.552 1.713 4.134 7.552 3.164 3.164 7.552 4.134 1.713 7.552 4.475 0 7.552 4.928 0 8.443 4.553 -1.886 8.443 3.485 -3.485 8.443 1.886 -4.553 8.443 0 -4.928 8.443 -1.886 -4.553 8.443 -3.485 -3.485 8.443 -4.553 -1.886 8.443 -4.928 0 8.443 -4.553 1.886 8.443 -3.485 3.485 8.443 -1.886 4.553 8.443 0 4.928 8.443 1.886 4.553 8.443 3.485 3.485 8.443 4.553 1.886 8.443 4.928 0 8.443 5.381 0 9.334 4.971 -2.059 9.334 3.805 -3.805 9.334 2.059 -4.971 9.334 0 -5.381 9.334 -2.059 -4.971 9.334 -3.805 -3.805 9.334 -4.971 -2.059 9.334 -5.381 0 9.334 -4.971 2.059 9.334 -3.805 3.805 9.334 -2.059 4.971 9.334 0 5.381 9.334 2.059 4.971 9.334 3.805 3.805 9.334 4.971 2.059 9.334 5.381 0 9.334 5.834 0 10.225 5.39 -2.233 10.225 4.125 -4.125 10.225 2.233 -5.39 10.225 0 -5.834 10.225 -2.233 -5.39 10.225 -4.125 -4.125 10.225 -5.39 -2.233 10.225 -5.834 0 10.225 -5.39 2.233 10.225 -4.125 4.125 10.225 -2.233 5.39 10.225 0 5.834 10.225 2.233 5.39 10.225 4.125 4.125 10.225 5.39 2.233 10.225 5.834 0 10.225 6.287 0 11.116 5.808 -2.406 11.116 4.446 -4.446 11.116 2.406 -5.808 11.116 0 -6.287 11.116 -2.406 -5.808 11.116 -4.446 -4.446 11.116 -5.808 -2.406 11.116 -6.287 0 11.116 -5.808 2.406 11.116 -4.446 4.446 11.116 -2.406 5.808 11.116 0 6.287 11.116 2.406 5.808 11.116 4.446 4.446 11.116 5.808 2.406 11.116 6.287 0 11.116 6.74 0 12.007 6.227 -2.579 12.007 4.766 -4.766 12.007 2.579 -6.227 12.007 0 -6.74 12.007 -2.579 -6.227 12.007 -4.766 -4.766 12.007 -6.227 -2.579 12.007 -6.74 0 12.007 -6.227 2.579 12.007 -4.766 4.766 12.007 -2.579 6.227 12.007 0 6.74 12.007 2.579 6.227 12.007 4.766 4.766 12.007 6.227 2.579 12.007 6.74 0 12.007 7.193 0 12.898 6.645 -2.753 12.898 5.086 -5.086 12.898 2.753 -6.645 12.898 0 -7.193 12.898 -2.753 -6.645 12.898 -5.086 -5.086 12.898 -6.645 -2.753 12.898 -7.193 0 12.898 -6.645 2.753 12.898 -5.086 5.086 12.898 -2.753 6.645 12.898 0 7.193 12.898 2.753 6.645 12.898 5.086 5.086 12.898 6.645 2.753 12.898 7.193 0 12.898 7.648 0 13.97 7.066 -2.927 13.97 5.408 -5.408 13.97 2.927 -7.066 13.97 0 -7.648 13.97 -2.927 -7.066 13.97 -5.408 -5.408 13.97 -7.066 -2.927 13.97 -7.648 0 13.97 -7.066 2.927 13.97 -5.408 5.408 13.97 -2.927 7.066 13.97 0 7.648 13.97 2.927 7.066 13.97 5.408 5.408 13.97 7.066 2.927 13.97 7.648 0 13.97 7.946 0 14.887 7.341 -3.041 14.887 5.619 -5.619 14.887 3.041 -7.341 14.887 0 -7.946 14.887 -3.041 -7.341 14.887 -5.619 -5.619 14.887 -7.341 -3.041 14.887 -7.946 0 14.887 -7.341 3.041 14.887 -5.619 5.619 14.887 -3.041 7.341 14.887 0 7.946 14.887 3.041 7.341 14.887 5.619 5.619 14.887 7.341 3.041 14.887 7.946 0 14.887 7.982 0 15.851 7.375 -3.055 15.851 5.644 -5.644 15.851 3.055 -7.375 15.851 0 -7.982 15.851 -3.055 -7.375 15.851 -5.644 -5.644 15.851 -7.375 -3.055 15.851 -7.982 0 15.851 -7.375 3.055 15.851 -5.644 5.644 15.851 -3.055 7.375 15.851 0 7.982 15.851 3.055 7.375 15.851 5.644 5.644 15.851 7.375 3.055 15.851 7.982 0 15.851 7.754 0 16.788 7.164 -2.967 16.788 5.483 -5.483 16.788 2.967 -7.164 16.788 0 -7.754 16.788 -2.967 -7.164 16.788 -5.483 -5.483 16.788 -7.164 -2.967 16.788 -7.754 0 16.788 -7.164 2.967 16.788 -5.483 5.483 16.788 -2.967 7.164 16.788 0 7.754 16.788 2.967 7.164 16.788 5.483 5.483 16.788 7.164 2.967 16.788 7.754 0 16.788 7.279 0 17.628 6.725 -2.786 17.628 5.147 -5.147 17.628 2.786 -6.725 17.628 0 -7.279 17.628 -2.786 -6.725 17.628 -5.147 -5.147 17.628 -6.725 -2.786 17.628 -7.279 0 17.628 -6.725 2.786 17.628 -5.147 5.147 17.628 -2.786 6.725 17.628 0 7.279 17.628 2.786 6.725 17.628 5.147 5.147 17.628 6.725 2.786 17.628 7.279 0 17.628 6.593 0 18.305 6.091 -2.523 18.305 4.662 -4.662 18.305 2.523 -6.091 18.305 0 -6.593 18.305 -2.523 -6.091 18.305 -4.662 -4.662 18.305 -6.091 -2.523 18.305 -6.593 0 18.305 -6.091 2.523 18.305 -4.662 4.662 18.305 -2.523 6.091 18.305 0 6.593 18.305 2.523 6.091 18.305 4.662 4.662 18.305 6.091 2.523 18.305 6.593 0 18.305 5.747 0 18.77 5.31 -2.199 18.77 4.064 -4.064 18.77 2.199 -5.31 18.77 0 -5.747 18.77 -2.199 -5.31 18.77 -4.064 -4.064 18.77 -5.31 -2.199 18.77 -5.747 0 18.77 -5.31 2.199 18.77 -4.064 4.064 18.77 -2.199 5.31 18.77 0 5.747 18.77 2.199 5.31 18.77 4.064 4.064 18.77 5.31 2.199 18.77 5.747 0 18.77 4.807 0 18.986 4.442 -1.84 18.986 3.399 -3.399 18.986 1.84 -4.442 18.986 0 -4.807 18.986 -1.84 -4.442 18.986 -3.399 -3.399 18.986 -4.442 -1.84 18.986 -4.807 0 18.986 -4.442 1.84 18.986 -3.399 3.399 18.986 -1.84 4.442 18.986 0 4.807 18.986 1.84 4.442 18.986 3.399 3.399 18.986 4.442 1.84 18.986 4.807 0 18.986 3.844 0 18.938 3.552 -1.471 18.938 2.718 -2.718 18.938 1.471 -3.552 18.938 0 -3.844 18.938 -1.471 -3.552 18.938 -2.718 -2.718 18.938 -3.552 -1.471 18.938 -3.844 0 18.938 -3.552 1.471 18.938 -2.718 2.718 18.938 -1.471 3.552 18.938 0 3.844 18.938 1.471 3.552 18.938 2.718 2.718 18.938 3.552 1.471 18.938 3.844 0 18.938 2.931 0 18.628 2.708 -1.122 18.628 2.072 -2.072 18.628 1.122 -2.708 18.628 0 -2.931 18.628 -1.122 -2.708 18.628 -2.072 -2.072 18.628 -2.708 -1.122 18.628 -2.931 0 18.628 -2.708 1.122 18.628 -2.072 2.072 18.628 -1.122 2.708 18.628 0 2.931 18.628 1.122 2.708 18.628 2.072 2.072 18.628 2.708 1.122 18.628 2.931 0 18.628 2.136 0 18.081 1.974 -0.818 18.081 1.511 -1.511 18.081 0.818 -1.974 18.081 0 -2.136 18.081 -0.818 -1.974 18.081 -1.511 -1.511 18.081 -1.974 -0.818 18.081 -2.136 0 18.081 -1.974 0.818 18.081 -1.511 1.511 18.081 -0.818 1.974 18.081 0 2.136 18.081 0.818 1.974 18.081 1.511 1.511 18.081 1.974 0.818 18.081 2.136 0 18.081 1.522 0 17.338 1.406 -0.582 17.338 1.076 -1.076 17.338 0.582 -1.406 17.338 0 -1.522 17.338 -0.582 -1.406 17.338 -1.076 -1.076 17.338 -1.406 -0.582 17.338 -1.522 0 17.338 -1.406 0.582 17.338 -1.076 1.076 17.338 -0.582 1.406 17.338 0 1.522 17.338 0.582 1.406 17.338 1.076 1.076 17.338 1.406 0.582 17.338 1.522 0 17.338 1.133 0 16.455 1.047 -0.434 16.455 0.801 -0.801 16.455 0.434 -1.047 16.455 0 -1.133 16.455 -0.434 -1.047 16.455 -0.801 -0.801 16.455 -1.047 -0.434 16.455 -1.133 0 16.455 -1.047 0.434 16.455 -0.801 0.801 16.455 -0.434 1.047 16.455 0 1.133 16.455 0.434 1.047 16.455 0.801 0.801 16.455 1.047 0.434 16.455 1.133 0 16.455 1 0 15.5 0.924 -0.383 15.5 0.707 -0.707 15.5 0.383 -0.924 15.5 0 -1 15.5 -0.383 -0.924 15.5 -0.707 -0.707 15.5 -0.924 -0.383 15.5 -1 0 15.5 -0.924 0.383 15.5 -0.707 0.707 15.5 -0.383 0.924 15.5 0 1 15.5 0.383 0.924 15.5 0.707 0.707 15.5 0.924 0.383 15.5 1 0 15.5 0.911 0 14.515 0.836 -0.383 14.528 0.623 -0.707 14.567 0.304 -0.924 14.625 -0.073 -1 14.694 -0.449 -0.924 14.762 -0.768 -0.707 14.821 -0.982 -0.383 14.859 -1.057 0 14.873 -0.982 0.383 14.859 -0.768 0.707 14.821 -0.449 0.924 14.762 -0.073 1 14.694 0.304 0.924 14.625 0.623 0.707 14.567 0.836 0.383 14.528 0.911 0 14.515 0.647 0 13.561 0.576 -0.383 13.588 0.373 -0.707 13.665 0.069 -0.924 13.779 -0.289 -1 13.914 -0.647 -0.924 14.049 -0.951 -0.707 14.163 -1.153 -0.383 14.239 -1.225 0 14.266 -1.153 0.383 14.239 -0.951 0.707 14.163 -0.647 0.924 14.049 -0.289 1 13.914 0.069 0.924 13.779 0.373 0.707 13.665 0.576 0.383 13.588 0.647 0 13.561 0.205 0 12.653 0.14 -0.383 12.693 -0.043 -0.707 12.808 -0.318 -0.924 12.98 -0.643 -1 13.182 -0.968 -0.924 13.384 -1.243 -0.707 13.556 -1.426 -0.383 13.671 -1.491 0 13.711 -1.426 0.383 13.671 -1.243 0.707 13.556 -0.968 0.924 13.384 -0.643 1 13.182 -0.318 0.924 12.98 -0.043 0.707 12.808 0.14 0.383 12.693 0.205 0 12.653 -0.324 0 11.805 -0.389 -0.383 11.845 -0.572 -0.707 11.96 -0.847 -0.924 12.132 -1.172 -1 12.334 -1.497 -0.924 12.536 -1.772 -0.707 12.708 -1.955 -0.383 12.823 -2.02 0 12.863 -1.955 0.383 12.823 -1.772 0.707 12.708 -1.497 0.924 12.536 -1.172 1 12.334 -0.847 0.924 12.132 -0.572 0.707 11.96 -0.389 0.383 11.845 -0.324 0 11.805 -0.853 0 10.957 -0.918 -0.383 10.997 -1.101 -0.707 11.112 -1.376 -0.924 11.284 -1.701 -1 11.486 -2.026 -0.924 11.688 -2.301 -0.707 11.86 -2.484 -0.383 11.975 -2.549 0 12.015 -2.484 0.383 11.975 -2.301 0.707 11.86 -2.026 0.924 11.688 -1.701 1 11.486 -1.376 0.924 11.284 -1.101 0.707 11.112 -0.918 0.383 10.997 -0.853 0 10.957 -1.382 0 10.109 -1.447 -0.383 10.149 -1.63 -0.707 10.264 -1.905 -0.924 10.436 -2.23 -1 10.638 -2.555 -0.924 10.84 -2.83 -0.707 11.012 -3.013 -0.383 11.127 -3.078 0 11.167 -3.013 0.383 11.127 -2.83 0.707 11.012 -2.555 0.924 10.84 -2.23 1 10.638 -1.905 0.924 10.436 -1.63 0.707 10.264 -1.447 0.383 10.149 -1.382 0 10.109 -1.911 0 9.261 -1.976 -0.383 9.301 -2.159 -0.707 9.416 -2.434 -0.924 9.588 -2.759 -1 9.79 -3.084 -0.924 9.992 -3.359 -0.707 10.164 -3.542 -0.383 10.279 -3.607 0 10.319 -3.542 0.383 10.279 -3.359 0.707 10.164 -3.084 0.924 9.992 -2.759 1 9.79 -2.434 0.924 9.588 -2.159 0.707 9.416 -1.976 0.383 9.301 -1.911 0 9.261 -2.44 0 8.413 -2.505 -0.383 8.453 -2.688 -0.707 8.568 -2.963 -0.924 8.74 -3.288 -1 8.942 -3.613 -0.924 9.144 -3.888 -0.707 9.316 -4.071 -0.383 9.431 -4.136 0 9.471 -4.071 0.383 9.431 -3.888 0.707 9.316 -3.613 0.924 9.144 -3.288 1 8.942 -2.963 0.924 8.74 -2.688 0.707 8.568 -2.505 0.383 8.453 -2.44 0 8.413 -2.969 0 7.565 -3.034 -0.383 7.605 -3.217 -0.707 7.72 -3.492 -0.924 7.892 -3.817 -1 8.094 -4.142 -0.924 8.296 -4.417 -0.707 8.468 -4.6 -0.383 8.583 -4.665 0 8.623 -4.6 0.383 8.583 -4.417 0.707 8.468 -4.142 0.924 8.296 -3.817 1 8.094 -3.492 0.924 7.892 -3.217 0.707 7.72 -3.034 0.383 7.605 -2.969 0 7.565 -3.498 0 6.717 -3.563 -0.383 6.757 -3.746 -0.707 6.872 -4.021 -0.924 7.044 -4.346 -1 7.246 -4.671 -0.924 7.448 -4.946 -0.707 7.62 -5.129 -0.383 7.735 -5.194 0 7.775 -5.129 0.383 7.735 -4.946 0.707 7.62 -4.671 0.924 7.448 -4.346 1 7.246 -4.021 0.924 7.044 -3.746 0.707 6.872 -3.563 0.383 6.757 -3.498 0 6.717 -4.027 0 5.869 -4.092 -0.383 5.909 -4.275 -0.707 6.024 -4.55 -0.924 6.196 -4.875 -1 6.398 -5.2 -0.924 6.6 -5.475 -0.707 6.772 -5.658 -0.383 6.887 -5.723 0 6.927 -5.658 0.383 6.887 -5.475 0.707 6.772 -5.2 0.924 6.6 -4.875 1 6.398 -4.55 0.924 6.196 -4.275 0.707 6.024 -4.092 0.383 5.909 -4.027 0 5.869 -4.556 0 5.021 -4.621 -0.383 5.061 -4.804 -0.707 5.176 -5.079 -0.924 5.348 -5.404 -1 5.55 -5.729 -0.924 5.752 -6.004 -0.707 5.924 -6.187 -0.383 6.039 -6.252 0 6.079 -6.187 0.383 6.039 -6.004 0.707 5.924 -5.729 0.924 5.752 -5.404 1 5.55 -5.079 0.924 5.348 -4.804 0.707 5.176 -4.621 0.383 5.061 -4.556 0 5.021 -5.085 0 4.173 -5.15 -0.383 4.213 -5.333 -0.707 4.328 -5.608 -0.924 4.5 -5.933 -1 4.702 -6.258 -0.924 4.904 -6.533 -0.707 5.076 -6.716 -0.383 5.191 -6.781 0 5.231 -6.716 0.383 5.191 -6.533 0.707 5.076 -6.258 0.924 4.904 -5.933 1 4.702 -5.608 0.924 4.5 -5.333 0.707 4.328 -5.15 0.383 4.213 -5.085 0 4.173 -5.614 0 3.325 -5.679 -0.383 3.365 -5.862 -0.707 3.48 -6.137 -0.924 3.652 -6.462 -1 3.854 -6.787 -0.924 4.056 -7.062 -0.707 4.228 -7.245 -0.383 4.343 -7.31 0 4.383 -7.245 0.383 4.343 -7.062 0.707 4.228 -6.787 0.924 4.056 -6.462 1 3.854 -6.137 0.924 3.652 -5.862 0.707 3.48 -5.679 0.383 3.365 -5.614 0 3.325 -6.143 0 2.477 -6.208 -0.383 2.517 -6.391 -0.707 2.632 -6.666 -0.924 2.804 -6.991 -1 3.006 -7.316 -0.924 3.208 -7.591 -0.707 3.38 -7.774 -0.383 3.495 -7.839 0 3.535 -7.774 0.383 3.495 -7.591 0.707 3.38 -7.316 0.924 3.208 -6.991 1 3.006 -6.666 0.924 2.804 -6.391 0.707 2.632 -6.208 0.383 2.517 -6.143 0 2.477 -6.573 0 1.543 -6.638 -0.383 1.582 -6.824 -0.707 1.694 -7.102 -0.924 1.861 -7.43 -1 2.058 -7.758 -0.924 2.255 -8.036 -0.707 2.422 -8.222 -0.383 2.533 -8.288 0 2.572 -8.222 0.383 2.533 -8.036 0.707 2.422 -7.758 0.924 2.255 -7.43 1 2.058 -7.102 0.924 1.861 -6.824 0.707 1.694 -6.638 0.383 1.582 -6.573 0 1.543 -6.822 0 1.019 -6.893 -0.383 1.045 -7.097 -0.707 1.119 -7.402 -0.924 1.229 -7.762 -1 1.359 -8.122 -0.924 1.489 -8.427 -0.707 1.599 -8.631 -0.383 1.672 -8.703 0 1.698 -8.631 0.383 1.672 -8.427 0.707 1.599 -8.122 0.924 1.489 -7.762 1 1.359 -7.402 0.924 1.229 -7.097 0.707 1.119 -6.893 0.383 1.045 -6.822 0 1.019 -6.965 0 0.457 -7.04 -0.383 0.468 -7.255 -0.707 0.501 -7.575 -0.924 0.551 -7.953 -1 0.609 -8.332 -0.924 0.667 -8.652 -0.707 0.716 -8.867 -0.383 0.749 -8.942 0 0.761 -8.867 0.383 0.749 -8.652 0.707 0.716 -8.332 0.924 0.667 -7.953 1 0.609 -7.575 0.924 0.551 -7.255 0.707 0.501 -7.04 0.383 0.468 -6.965 0 0.457 -6.997 0 -0.123 -7.074 -0.383 -0.126 -7.29 -0.707 -0.135 -7.614 -0.924 -0.148 -7.997 -1 -0.164 -8.379 -0.924 -0.18 -8.703 -0.707 -0.193 -8.92 -0.383 -0.202 -8.996 0 -0.205 -8.92 0.383 -0.202 -8.703 0.707 -0.193 -8.379 0.924 -0.18 -7.997 1 -0.164 -7.614 0.924 -0.148 -7.29 0.707 -0.135 -7.074 0.383 -0.126 -6.997 0 -0.123 -6.918 0 -0.698 -6.992 -0.383 -0.716 -7.203 -0.707 -0.766 -7.518 -0.924 -0.842 -7.89 -1 -0.931 -8.262 -0.924 -1.02 -8.578 -0.707 -1.095 -8.789 -0.383 -1.145 -8.863 0 -1.163 -8.789 0.383 -1.145 -8.578 0.707 -1.095 -8.262 0.924 -1.02 -7.89 1 -0.931 -7.518 0.924 -0.842 -7.203 0.707 -0.766 -6.992 0.383 -0.716 -6.918 0 -0.698 -6.729 0 -1.247 -6.798 -0.383 -1.278 -6.995 -0.707 -1.368 -7.29 -0.924 -1.503 -7.638 -1 -1.662 -7.986 -0.924 -1.821 -8.281 -0.707 -1.956 -8.479 -0.383 -2.046 -8.548 0 -2.078 -8.479 0.383 -2.046 -8.281 0.707 -1.956 -7.986 0.924 -1.821 -7.638 1 -1.662 -7.29 0.924 -1.503 -6.995 0.707 -1.368 -6.798 0.383 -1.278 -6.729 0 -1.247 -6.438 0 -1.749 -6.499 -0.383 -1.793 -6.675 -0.707 -1.92 -6.939 -0.924 -2.109 -7.25 -1 -2.332 -7.561 -0.924 -2.555 -7.825 -0.707 -2.744 -8.001 -0.383 -2.87 -8.063 0 -2.915 -8.001 0.383 -2.87 -7.825 0.707 -2.744 -7.561 0.924 -2.555 -7.25 1 -2.332 -6.939 0.924 -2.109 -6.675 0.707 -1.92 -6.499 0.383 -1.793 -6.438 0 -1.749 -6.055 0 -2.186 -6.107 -0.383 -2.241 -6.256 -0.707 -2.399 -6.478 -0.924 -2.635 -6.74 -1 -2.914 -7.002 -0.924 -3.193 -7.225 -0.707 -3.429 -7.373 -0.383 -3.587 -7.425 0 -3.643 -7.373 0.383 -3.587 -7.225 0.707 -3.429 -7.002 0.924 -3.193 -6.74 1 -2.914 -6.478 0.924 -2.635 -6.256 0.707 -2.399 -6.107 0.383 -2.241 -6.055 0 -2.186 -5.596 0 -2.54 -5.636 -0.383 -2.605 -5.752 -0.707 -2.788 -5.924 -0.924 -3.063 -6.128 -1 -3.387 -6.331 -0.924 -3.711 -6.504 -0.707 -3.986 -6.619 -0.383 -4.17 -6.66 0 -4.234 -6.619 0.383 -4.17 -6.504 0.707 -3.986 -6.331 0.924 -3.711 -6.128 1 -3.387 -5.924 0.924 -3.063 -5.752 0.707 -2.788 -5.636 0.383 -2.605 -5.596 0 -2.54 -5.077 0 -2.8 -5.104 -0.383 -2.871 -5.182 -0.707 -3.074 -5.298 -0.924 -3.376 -5.436 -1 -3.734 -5.573 -0.924 -4.091 -5.689 -0.707 -4.394 -5.767 -0.383 -4.596 -5.794 0 -4.667 -5.767 0.383 -4.596 -5.689 0.707 -4.394 -5.573 0.924 -4.091 -5.436 1 -3.734 -5.298 0.924 -3.376 -5.182 0.707 -3.074 -5.104 0.383 -2.871 -5.077 0 -2.8 -4.517 0 -2.955 -4.53 -0.383 -3.03 -4.568 -0.707 -3.244 -4.624 -0.924 -3.563 -4.69 -1 -3.94 -4.756 -0.924 -4.317 -4.812 -0.707 -4.637 -4.849 -0.383 -4.85 -4.862 0 -4.925 -4.849 0.383 -4.85 -4.812 0.707 -4.637 -4.756 0.924 -4.317 -4.69 1 -3.94 -4.624 0.924 -3.563 -4.568 0.707 -3.244 -4.53 0.383 -3.03 -4.517 0 -2.955 -3.938 0 -2.999 -3.937 -0.383 -3.075 -3.932 -0.707 -3.292 -3.926 -0.924 -3.617 -3.918 -1 -3.999 -3.91 -0.924 -4.382 -3.903 -0.707 -4.706 -3.899 -0.383 -4.923 -3.897 0 -4.999 -3.899 0.383 -4.923 -3.903 0.707 -4.706 -3.91 0.924 -4.382 -3.918 1 -3.999 -3.926 0.924 -3.617 -3.932 0.707 -3.292 -3.937 0.383 -3.075 -3.938 0 -2.999 -3.362 0 -2.931 -3.346 -0.383 -3.006 -3.3 -0.707 -3.218 -3.231 -0.924 -3.535 -3.149 -1 -3.909 -3.068 -0.924 -4.282 -2.999 -0.707 -4.599 -2.953 -0.383 -4.811 -2.937 0 -4.886 -2.953 0.383 -4.811 -2.999 0.707 -4.599 -3.068 0.924 -4.282 -3.149 1 -3.909 -3.231 0.924 -3.535 -3.3 0.707 -3.218 -3.346 0.383 -3.006 -3.362 0 -2.931 -2.809 0 -2.754 -2.779 -0.383 -2.824 -2.693 -0.707 -3.023 -2.564 -0.924 -3.32 -2.413 -1 -3.672 -2.261 -0.924 -4.023 -2.132 -0.707 -4.321 -2.046 -0.383 -4.52 -2.016 0 -4.589 -2.046 0.383 -4.52 -2.132 0.707 -4.321 -2.261 0.924 -4.023 -2.413 1 -3.672 -2.564 0.924 -3.32 -2.693 0.707 -3.023 -2.779 0.383 -2.824 -2.809 0 -2.754 -2.301 0 -2.473 -2.258 -0.383 -2.536 -2.136 -0.707 -2.714 -1.952 -0.924 -2.982 -1.735 -1 -3.297 -1.519 -0.924 -3.613 -1.335 -0.707 -3.88 -1.212 -0.383 -4.059 -1.169 0 -4.121 -1.212 0.383 -4.059 -1.335 0.707 -3.88 -1.519 0.924 -3.613 -1.735 1 -3.297 -1.952 0.924 -2.982 -2.136 0.707 -2.714 -2.258 0.383 -2.536 -2.301 0 -2.473 -1.857 0 -2.099 -1.803 -0.383 -2.153 -1.648 -0.707 -2.304 -1.416 -0.924 -2.531 -1.143 -1 -2.799 -0.869 -0.924 -3.067 -0.638 -0.707 -3.294 -0.483 -0.383 -3.446 -0.428 0 -3.499 -0.483 0.383 -3.446 -0.638 0.707 -3.294 -0.869 0.924 -3.067 -1.143 1 -2.799 -1.416 0.924 -2.531 -1.648 0.707 -2.304 -1.803 0.383 -2.153 -1.857 0 -2.099 -1.493 0 -1.647 -1.429 -0.383 -1.689 -1.248 -0.707 -1.808 -0.977 -0.924 -1.986 -0.657 -1 -2.197 -0.337 -0.924 -2.407 -0.066 -0.707 -2.585 0.115 -0.383 -2.704 0.179 0 -2.746 0.115 0.383 -2.704 -0.066 0.707 -2.585 -0.337 0.924 -2.407 -0.657 1 -2.197 -0.977 0.924 -1.986 -1.248 0.707 -1.808 -1.429 0.383 -1.689 -1.493 0 -1.647 -1.223 0 -1.134 -1.152 -0.383 -1.163 -0.951 -0.707 -1.245 -0.651 -0.924 -1.367 -0.297 -1 -1.512 0.058 -0.924 -1.656 0.358 -0.707 -1.779 0.559 -0.383 -1.861 0.629 0 -1.89 0.559 0.383 -1.861 0.358 0.707 -1.779 0.058 0.924 -1.656 -0.297 1 -1.512 -0.651 0.924 -1.367 -0.951 0.707 -1.245 -1.152 0.383 -1.163 -1.223 0 -1.134 -1.056 0 -0.578 -0.981 -0.383 -0.592 -0.769 -0.707 -0.634 -0.45 -0.924 -0.697 -0.075 -1 -0.77 0.301 -0.924 -0.844 0.619 -0.707 -0.906 0.832 -0.383 -0.948 0.906 0 -0.963 0.832 0.383 -0.948 0.619 0.707 -0.906 0.301 0.924 -0.844 -0.075 1 -0.77 -0.45 0.924 -0.697 -0.769 0.707 -0.634 -0.981 0.383 -0.592 -1.056 0 -0.578 -1 0 0 -0.924 -0.383 0 -0.707 -0.707 0 -0.383 -0.924 0 0 -1 0 0.383 -0.924 0 0.707 -0.707 0 0.924 -0.383 0 1 0 0 0.924 0.383 0 0.707 0.707 0 0.383 0.924 0 0 1 0 -0.383 0.924 0 -0.707 0.707 0 -0.924 0.383 0 -1 0 0 gnuplot-3.7.3/demo/lcdemo.dat100644 1200 17 4025 6515203631 15250 0ustar lheckingusers# # This file contains density values (2) against temperature (1) of a # common liquid crytsal (MBBA). At about 45.6 degr. there occurs a # phase transition indicated by the anomaly. # # Columns (3) and (4) contain weights for a straight line fit # preferredly in the low temperature range and in the high temperature # range, respectively. Of course not a very senseful approach but # a good demo to see the effect of weights in a fit. # # Column # 1 2 3 4 5 39.471 1.03307 1.0 0.98765 0.010 40.091 1.03246 1.0 0.98765 0.010 40.602 1.03197 1.0 0.98765 0.010 41.058 1.03153 1.0 0.98765 0.010 41.438 1.03117 1.0 0.98765 0.010 41.880 1.03074 1.0 0.98765 0.010 42.437 1.03021 1.0 0.98765 0.010 42.836 1.02982 1.0 0.98765 0.010 43.209 1.02946 1.0 0.98765 0.010 43.599 1.02907 1.0 0.98765 0.010 43.997 1.02867 1.0 0.98765 0.010 44.313 1.02833 1.0 0.98765 0.010 44.908 1.02765 1.0 0.98765 0.010 45.169 1.02735 1.0 0.98765 0.010 45.594 1.02683 1.0 0.98765 0.010 45.743 1.02661 999.0 0.98765 0.010 45.796 1.02650 999.0 0.98765 0.010 45.816 1.02644 999.0 0.98765 0.010 45.841 1.02634 999.0 0.98765 0.010 45.876 1.02623 999.0 0.98765 0.010 45.908 1.02611 999.0 0.98765 0.010 45.959 1.02592 999.0 0.98765 0.010 46.008 1.02561 999.0 0.12345 0.001 46.040 1.02526 999.0 0.12345 0.001 46.060 1.02506 999.0 0.12345 0.001 46.096 1.02500 999.0 0.12345 0.001 46.126 1.02496 999.0 0.12345 0.001 46.149 1.02494 999.0 0.12345 0.001 46.372 1.02474 999.0 0.12345 0.001 46.625 1.02452 999.0 0.12345 0.001 46.945 1.02425 999.0 0.12345 0.001 47.326 1.02393 999.0 0.12345 0.001 47.708 1.02361 999.0 0.12345 0.001 48.095 1.02329 999.0 0.12345 0.001 48.540 1.02293 999.0 0.12345 0.001 48.927 1.02262 999.0 0.12345 0.001 49.314 1.02231 999.0 0.12345 0.001 gnuplot-3.7.3/demo/line.fnc100644 1200 17 51 6515203631 14665 0ustar lheckingusers# # a straight line # l(x) = y0 + m*x gnuplot-3.7.3/demo/mgr.dem100644 1200 17 5355 7000362451 14572 0ustar lheckingusers# # $Id: mgr.dem,v 1.2.2.1 2025/10/11 13:24:57 lhecking Exp $ # pause 0 "Watch some cubic splines" set samples 50 set xlabel "Angle (deg)" set ylabel "Amplitude" set key box set title "Brag-Reflex -- Peak only" plot "big_peak.dat" title "Rate" with errorbars, \ "" smooth csplines t "Rate" pause -1 "You would draw smaller bars? " set bars small replot set bars large # pause -1 "An approx-spline demo " set samples 300 set xlabel "Time (sec)" set ylabel "Rate" set title "Ag 108 decay data" plot "silver.dat" t "experimental" w errorb, \ "" smooth csplines t "cubic smooth" # error is column 3; weight larger errors less # start with rel error = 1/($3/$2) pause -1 "Now apply a smoothing spline, weighted by 1/rel error " S=1 plot "silver.dat" t "experimental" w errorb,\ "" u 1:2:(S*$2/$3) smooth acsplines t "acspline Y/Z" pause -1 "Make it smoother by changing the smoothing weights " plot "silver.dat" t "rate" w errorb,\ "" u 1:2:($2/($3*1.e1)) sm acs t "acspline Y/(Z*1.e1)",\ "" u 1:2:($2/($3*1.e3)) sm acs t " Y/(Z*1.e3)",\ "" u 1:2:($2/($3*1.e5)) sm acs t " Y/(Z*1.e5)" pause -1 "Accentuate the relative changes with a log-scale " set logscale y replot pause -1 "Now approximate the data with a bezier curve between the endpoints" set nologscale y plot "silver.dat" t "experimental" w errorb,\ "" smooth sbezier t "bezier" pause -1 "You would rather use log-scales ? " set logscale y plot "silver.dat" t "rate" w errorb, \ "" smooth sbezier t "bezier" # pause -1 "Errorbar demo " set samples 100 set nologscale set xlabel "Resistance [Ohm]" set ylabel "Power [W]" set title "UM1-Cell Power" n(x)=1.53**2*x/(5.67+x)**2 plot [0:50] "battery.dat" t "Power" with xyerrorbars, n(x) t "Theory" w lines pause -1 "Would you like boxes? " plot [0:50] "battery.dat" t "Power" with boxxy, n(x) t "Theory" w lines pause -1 "Only X-Bars? " plot [0:50] "battery.dat" u 1:2:3 t "Power" w xerr, n(x) t "Theory" w lines pause -1 "Only Y-Bars? " plot [0:50] "battery.dat" u 1:2:4 t "Power" w yerr, n(x) t "Theory" w lines pause -1 "Logscaled? " set logscale y plot [0:50] "battery.dat" u 1:2:4 t "Power" w yerr, n(x) t "Theory" w lines pause -1 "X as well? " set logscale xy plot [1:50] "battery.dat" t "Power" w xyerr, n(x) t "Theory" w lines pause -1 "If you like bars without tics " set nologscale set bars small plot [0:50] "battery.dat" t "Power" with xyerrorbars, n(x) t "Theory" w lines pause -1 "X-Bars only " plot [0:50] "battery.dat" u 1:2:3 t "Power" w xerr, n(x) t "Theory" w lines pause -1 "Y-Bars only " plot [0:50] "battery.dat" u 1:2:4 t "Power" w yerr, n(x) t "Theory" w lines reset gnuplot-3.7.3/demo/moli3.dat100644 1200 17 22434 6515203632 15055 0ustar lheckingusers -5.754699609675704E-004 1.432432432400000E-003 4.402831237555805E-004 -5.660451830068009E-004 1.729729729700000E-003 4.838921164438004E-004 -5.566204050460315E-004 1.351351351300000E-003 4.276234611947096E-004 -5.471956270852622E-004 1.621621621600000E-003 4.685012443785777E-004 -5.377708491244929E-004 1.405405405400000E-003 4.361038448353860E-004 -5.283460711637234E-004 1.567567567600000E-003 4.606142836853834E-004 -5.189212932029541E-004 1.270270270300000E-003 4.145795422749656E-004 -5.094965152421847E-004 1.513513513500000E-003 4.525907758216662E-004 -5.000717372814153E-004 1.729729729700000E-003 4.838921164438004E-004 -4.906469593206459E-004 1.702702702700000E-003 4.800903489285062E-004 -4.812221813598766E-004 1.594594594600000E-003 4.645743949560727E-004 -4.717974033991072E-004 1.756756756800000E-003 4.876644492003285E-004 -4.623726254383378E-004 1.351351351300000E-003 4.276234611947096E-004 -4.529478474775684E-004 2.081081081100000E-003 5.308600848350686E-004 -4.435230695167990E-004 2.054054054000000E-003 5.273945638263779E-004 -4.340982915560296E-004 2.054054054000000E-003 5.273945638263779E-004 -4.246735135952603E-004 2.081081081100000E-003 5.308600848350686E-004 -4.152487356344909E-004 2.027027027000000E-003 5.239063081042037E-004 -4.058239576737215E-004 2.729729729700000E-003 6.081852885003642E-004 -3.963991797129521E-004 2.702702702700000E-003 6.051588248751016E-004 -3.869744017521828E-004 2.567567567600000E-003 5.897961135133321E-004 -3.775496237914134E-004 2.837837837800000E-003 6.201450529310199E-004 -3.681248458306440E-004 2.540540540500000E-003 5.866758033256763E-004 -3.587000678698746E-004 2.837837837800000E-003 6.201450529310199E-004 -3.492752899091052E-004 3.486486486500000E-003 6.875968801047629E-004 -3.398505119483358E-004 3.594594594600000E-003 6.982135219857317E-004 -3.304257339875665E-004 4.594594594600000E-003 7.897745910109953E-004 -3.210009560267971E-004 4.864864864900000E-003 8.127806604701474E-004 -3.115761780660277E-004 4.405405405400000E-003 7.732707824546964E-004 -3.021514001052583E-004 5.783783783800000E-003 8.866301171759729E-004 -2.927266221444890E-004 6.081081081100000E-003 9.092661600206905E-004 -2.833018441837196E-004 7.216216216200000E-003 9.910607198159050E-004 -2.738770662229502E-004 7.567567567600000E-003 1.015077925812421E-003 -2.644522882621808E-004 1.075675675700000E-002 1.212127043388920E-003 -2.550275103014114E-004 1.367567567600000E-002 1.368699312584621E-003 -2.456027323406421E-004 1.967567567600000E-002 1.646569237934371E-003 -2.361779543798727E-004 2.478378378400000E-002 1.852610274014860E-003 -2.267531764191033E-004 3.235135135100000E-002 2.124438281409549E-003 -2.173283984583339E-004 3.856756756800000E-002 2.326551352123830E-003 -2.079036204975645E-004 4.562162162100000E-002 2.538965366537517E-003 -1.984788425367951E-004 5.121621621600000E-002 2.697328934522329E-003 -1.890540645760258E-004 6.691891891900000E-002 3.106163459358682E-003 -1.796292866152564E-004 7.905405405400000E-002 3.395219164927090E-003 -1.702045086544870E-004 9.951351351300000E-002 3.845257747743492E-003 -1.607797306937176E-004 1.101621621600000E-001 4.065309139067361E-003 -1.513549527329483E-004 1.329189189200000E-001 4.511042875871860E-003 -1.419301747721789E-004 1.432432432400000E-001 4.704251526960189E-003 -1.325053968114095E-004 1.695135135100000E-001 5.175936326999137E-003 -1.230806188506401E-004 1.811891891900000E-001 5.377866444590768E-003 -1.136558408898707E-004 2.075945945900000E-001 5.820398777702834E-003 -1.042310629291014E-004 2.201621621600000E-001 6.025099974576694E-003 -9.480628496833199E-005 2.426216216200000E-001 6.382904457257328E-003 -8.538150700756260E-005 2.555135135100000E-001 6.584181176863235E-003 -7.595672904679322E-005 2.735945945900000E-001 6.862044025897848E-003 -6.653195108602384E-005 2.859459459500000E-001 7.049161632682367E-003 -5.710717312525447E-005 3.054054054000000E-001 7.339985520343793E-003 -4.768239516448508E-005 3.106486486500000E-001 7.417576200959222E-003 -3.825761720274608E-005 3.240810810800000E-001 7.614971279905216E-003 -2.883283924197670E-005 3.354054054100000E-001 7.779930794073547E-003 -1.940806128120732E-005 3.460540540500000E-001 7.933911669216162E-003 -9.983283320437937E-006 3.472702702700000E-001 7.951431206234909E-003 -5.585053596685579E-007 3.475135135100000E-001 7.954933498813758E-003 8.866272600906896E-006 3.415135135100000E-001 7.868385196295988E-003 1.829105056187020E-005 3.407567567600000E-001 7.857445462379578E-003 2.771582852263958E-005 3.368918918900000E-001 7.801490144484556E-003 3.714060648292414E-005 3.233513513500000E-001 7.604296862939552E-003 4.656538444369353E-005 3.125945945900000E-001 7.446293973522654E-003 5.599016240397809E-005 2.990540540500000E-001 7.245570700050091E-003 6.541494036474746E-005 2.876486486500000E-001 7.074797234418188E-003 7.483971832551685E-005 2.726756756800000E-001 6.848038778104644E-003 8.426449628628623E-005 2.615945945900000E-001 6.678184800595614E-003 9.368927424705560E-005 2.411891891900000E-001 6.360365174924778E-003 1.031140522078250E-004 2.253243243200000E-001 6.108206436561994E-003 1.125388301685944E-004 2.027297297300000E-001 5.740198144315215E-003 1.219636081293637E-004 1.886216216200000E-001 5.504294855819880E-003 1.313883860901331E-004 1.611351351300000E-001 5.028293823030311E-003 1.408131640509025E-004 1.507027027000000E-001 4.840901291180949E-003 1.502379420116719E-004 1.263783783800000E-001 4.385939957531962E-003 1.596627199724413E-004 1.179189189200000E-001 4.220666502369564E-003 1.690874979332106E-004 1.025945945900000E-001 3.909797904314141E-003 1.785122758939800E-004 9.435135135100001E-002 3.735395504454285E-003 1.879370538547494E-004 8.599999999999999E-002 3.552616089740218E-003 1.973618318155188E-004 8.200000000000000E-002 3.462618911998508E-003 2.067866097762882E-004 7.270270270300000E-002 3.246378141604363E-003 2.162113877370575E-004 6.651351351300000E-002 3.096151948939985E-003 2.256361656978269E-004 5.827027027000000E-002 2.886728595152793E-003 2.350609436585963E-004 5.616216216200000E-002 2.831205230436820E-003 2.444857216193657E-004 4.718918918900000E-002 2.584151509168899E-003 2.539104995801351E-004 4.256756756700000E-002 2.448926002203082E-003 2.633352775409044E-004 3.748648648600000E-002 2.292517887432502E-003 2.727600555016738E-004 3.627027027000000E-002 2.253699744248148E-003 2.821848334624432E-004 3.178378378400000E-002 2.105141476135115E-003 2.916096114232126E-004 2.864864864900000E-002 1.995582747592381E-003 3.010343893839820E-004 2.764864864900000E-002 1.959491675020620E-003 3.104591673447514E-004 2.510810810800000E-002 1.864987689284889E-003 3.198839453055207E-004 2.410810810800000E-002 1.826579619403399E-003 3.293087232662901E-004 1.989189189200000E-002 1.655767122573402E-003 3.387335012270594E-004 2.070270270300000E-002 1.689846650735264E-003 3.481582791878288E-004 1.937837837800000E-002 1.633843914216333E-003 3.575830571485983E-004 1.748648648600000E-002 1.550599870652726E-003 3.670078351093676E-004 1.770270270300000E-002 1.560322575189953E-003 3.764326130701370E-004 1.705405405400000E-002 1.530981614700488E-003 3.858573910309064E-004 1.591891891900000E-002 1.478326797912300E-003 3.952821689916757E-004 1.613513513500000E-002 1.488490879182249E-003 4.047069469524451E-004 1.524324324300000E-002 1.446131825864810E-003 4.141317249132145E-004 1.478378378400000E-002 1.423848232829384E-003 4.235565028739839E-004 1.464864864900000E-002 1.417231387211540E-003 4.329812808347532E-004 1.327027027000000E-002 1.347990012345651E-003 4.424060587955227E-004 1.383783783800000E-002 1.376900337618482E-003 4.518308367562920E-004 1.418918918900000E-002 1.394512521570310E-003 4.612556147170614E-004 1.310810810800000E-002 1.339621296131909E-003 4.706803926778308E-004 1.421621621600000E-002 1.395858595578850E-003 4.801051706386002E-004 1.256756756800000E-002 1.311359482460867E-003 4.895299485993696E-004 1.132432432400000E-002 1.244043355755475E-003 4.989547265601389E-004 1.170270270300000E-002 1.264892686055673E-003 5.083795045209083E-004 1.167567567600000E-002 1.263414350645789E-003 5.178042824816777E-004 1.189189189200000E-002 1.275195214772964E-003 5.272290604424471E-004 1.105405405400000E-002 1.228944073509733E-003 5.366538384032164E-004 1.189189189200000E-002 1.275195214772964E-003 5.460786163639859E-004 1.113513513500000E-002 1.233492425368931E-003 5.555033943247552E-004 1.078378378400000E-002 1.213665086750585E-003 5.649281722855246E-004 1.081081081100000E-002 1.215201264688907E-003 5.743529502462940E-004 1.027027027000000E-002 1.184114946108333E-003 5.837777282070634E-004 1.083783783800000E-002 1.216735584269402E-003 5.932025061678327E-004 9.864864864800000E-003 1.160276086879277E-003 gnuplot-3.7.3/demo/multimsh.dem100644 1200 17 2074 7401741667 15661 0ustar lheckingusersset parametric set hidden3d set nokey set xrange [0:8] set yrange [-4:4] set zrange [-2:2] set data style line set title "Demo of multiple mesh per file capability - Digitized Blue Whale" splot "whale.dat" pause -1 "Press Return" set title "Demo of multiple mesh per file capability - Digitized Blue Whale" set xlabel "Mesh or Network 0" splot "whale.dat" index 0 pause -1 "Press Return" set autoscale z set xlabel "Mesh or Network 6" set autoscale z splot "whale.dat" index 6 using 3:2:1 pause -1 "Press Return" set zrange [-2:2] set xlabel "Mesh or Network 12" splot "whale.dat" index 12 with points pause -1 "Press Return" set xlabel "Mesh or Network 13" splot "whale.dat" i 13 pause -1 "Press Return - A Loop over Indices could be done with reread" # #file "loop" # maxmsh = 16 # ind = (ind + 1)%maxmsh # splot "whale.dat" i ind # reread "loop" set xlabel "Mesh or Network 4" splot "whale.dat" i 4 pause -1 "Press Return" set xlabel "Mesh or Network 5" splot "whale.dat" i 5 pause -1 "Press Return" set title "" set xlabel "" set nohidden3d set auto set noparametric gnuplot-3.7.3/demo/multiplt.dem100644 1200 17 6466 6515203632 15670 0ustar lheckingusers# GNUPLOT v3.6 beta multiplot script file # # Second Order System Characteristics # # D**2 + 2*zeta*wn*D + (wn**2)y = (wn**2)*x # # x input variable # y output variable # w frequency ratio (w/wn) # wn natural frequency # wd damped natural frequency # zeta damping ratio # mag(w) amplitude response # phi(w) phase response # wdwn damped natural frequency ratio # wnt normalized time # # Plots: # Frequency domain magnitude response # phase response # # Time domain unit step response # unit impulse response # # # Created by: W. D. Kirby email: wdkirby@ix.netcom.com # Date: 1/18/96 # Released to the public domain with no warranty of any kind # reset set function style lines set size 1.0, 1.0 set origin 0.0, 0.0 set multiplot set size 0.5,0.5 set origin 0.0,0.5 set grid set nokey set angles radians set samples 250 # Plot Magnitude Response set title "Second Order System Transfer Function - Magnitude" mag(w) = -10*log10( (1-w**2)**2 + 4*(zeta*w)**2) set dummy w set logscale x set xlabel "Frequency (w/wn)" set ylabel "Magnitude (dB)" 1,0 set label 1 "Damping =.1,.2,.3,.4,.5,.707,1.0,2.0" at .14,17 set xrange [.1:10] set yrange [-40:20] plot \ zeta=.1,mag(w), \ zeta=.2,mag(w), \ zeta=.3,mag(w), \ zeta=.4,mag(w), \ zeta=.5,mag(w), \ zeta=.707,mag(w), \ zeta=1.0,mag(w), \ zeta=2.0,mag(w),-6 # Plot Phase Response set size 0.5,0.5 set origin 0.0,0.0 set title "Second Order System Transfer Function - Phase" set label 1 "" set ylabel "Phase (deg)" 1,0 set ytics -180, 30, 0 set yrange [-180:0] tmp(w) = (-180/pi)*atan( 2*zeta*w/(1-w**2) ) # Fix for atan function wrap problem tmp1(w)= w<1?tmp(w):(tmp(w)-180) phi(w)=zeta==1?(-2*(180/pi)*atan(w)):tmp1(w) plot \ zeta=.1,phi(w), \ zeta=.2,phi(w), \ zeta=.3,phi(w), \ zeta=.4,phi(w), \ zeta=.5,phi(w), \ zeta=.707,phi(w), \ zeta=1,phi(w), \ zeta=2.0,phi(w), \ -90 # Plot Step Response set size 0.5,0.5 set origin 0.5,0.5 set dummy wnt set nologscale x set title "Second Order System - Unit Step Response" set ylabel "Amplitude y(wnt)" 1,0 set xlabel "Normalized Time (wnt)" set xrange [0:20] set xtics 0,5,20 set yrange [0:2.0] set ytics 0, .5, 2.0 set mytics 5 set mxtics 10 wdwn(zeta)=sqrt(1-zeta**2) shift(zeta) = atan(wdwn(zeta)/zeta) alpha(zeta)=zeta>1?sqrt(zeta**2-1.0):0 tau1(zeta)=1/(zeta-alpha(zeta)) tau2(zeta)=1/(zeta+alpha(zeta)) c1(zeta)=(zeta + alpha(zeta))/(2*alpha(zeta)) c2(zeta)=c1(zeta)-1 y1(wnt)=zeta==1?1 - exp(-wnt)*(wnt + 1):0 y2(wnt)=zeta<1?(1 - (exp(-zeta*wnt)/wdwn(zeta))*sin(wdwn(zeta)*wnt + shift(zeta))):y1(wnt) y(wnt)=zeta>1?1-c1(zeta)*exp(-wnt/tau1(zeta))+c2(zeta)*exp(-wnt/tau2(zeta)):y2(wnt) plot \ zeta=.1,y(wnt), \ zeta=.2,y(wnt), \ zeta=.3,y(wnt), \ zeta=.4,y(wnt), \ zeta=.5,y(wnt), \ zeta=.707,y(wnt), \ zeta=1,y(wnt), \ zeta=2,y(wnt) # # Plot Impulse Response set origin .5,0. set title "Second Order System - Unit Impulse Response" y(wnt)=exp(-zeta*wnt) * sin(wdwn(zeta)*wnt) / wdwn(zeta) set yrange [-1. :1.] set ytics -1,.5,1. plot \ zeta=.1,y(wnt), \ zeta=.2,y(wnt), \ zeta=.3,y(wnt), \ zeta=.4,y(wnt), \ zeta=.5,y(wnt), \ zeta=.707,y(wnt), \ zeta=1,y(wnt), \ zeta=2,y(wnt) set nomultiplot # # Clean up: reset parameter defaults # reset gnuplot-3.7.3/demo/param.dem100644 1200 17 2002 7000362444 15071 0ustar lheckingusers# # $Id: param.dem,v 1.1.1.1.2.1 2025/10/11 13:24:52 lhecking Exp $ # # Show some of the new parametric capabilities. # set parametric set dummy t set autoscale set samples 160 set title "" set key box set key below plot t,sin(t)/t title "t,sin(t)/t or sin(x)/x" pause -1 "Hit return to continue" plot sin(t)/t,t pause -1 "Hit return to continue" plot sin(t),cos(t) pause -1 "Hit return to continue" set xrange [-3:3] set yrange [-3:3] set title "Parametric Conic Sections" plot -t,t,cos(t),cos(2*t),2*cos(t),sin(t),-cosh(t),sinh(t) set title "" pause -1 "Hit return to continue" set xrange [-5:5] set yrange [-5:5] plot tan(t),t,t,tan(t) pause -1 "Hit return to continue" set trange [0.00001:3] plot t,log(t),-t,log(t),sin(t),t**2,-sin(t),t**2 pause -1 "Hit return to continue" set autoscale x set yrange [-1.5:1.5] set trange [0.0001:10*pi] plot sin(t)/t,cos(t)/t pause -1 "Hit return to continue" # undo what we've done above set noparametric set samples 160 set autoscale xy set title "" set offset 0,0,0,0 set key gnuplot-3.7.3/demo/polar.dem100644 1200 17 2006 7000362442 15110 0ustar lheckingusers# # $Id: polar.dem,v 1.1.1.1.2.1 2025/10/11 13:24:50 lhecking Exp $ # # Show some of the new polar capabilities. # set noborder set clip set polar set xtics axis nomirror set ytics axis nomirror set samples 160 set zeroaxis set trange [0:2*pi] set title "Three circles (with aspect ratio distortion)" plot .5,1,1.5 pause -1 "Hit return to continue" set title "" set key box plot cos(2*t) pause -1 "Hit return to continue" plot 2*sqrt(cos(t)),-2*sqrt(cos(t)) pause -1 "Hit return to continue" plot sin(4*t),cos(4*t) set offset 0,0,0,0 pause -1 "Hit return to continue" set xrange [-5:5] set yrange [-5:5] plot t/cos(3*t) pause -1 "Hit return to continue" set autoscale plot 1-sin(t) pause -1 "Hit return to continue" set trange [0:12*pi] plot 2*t pause -1 "Hit return to continue" butterfly(x)=exp(cos(x))-2*cos(4*x)+sin(x/12)**5 set samples 800 pause 0 "This is a big one (many samples), be patient..." set title "Butterfly" set nokey plot butterfly(t) pause -1 "Hit return to continue" # undo what we've done above reset gnuplot-3.7.3/demo/poldat.dem100644 1200 17 67565 6515203632 15330 0ustar lheckingusers# # $Id: poldat.dem,v 1.1.1.1 2025/04/15 19:16:42 lhecking Exp $ # # set size square set time set clip set xtics axis nomirror set ytics axis nomirror set nogrid set nopolar set title "Primitive Smith Chart" set nokey set xlabel "Impedance or Admittance Coordinates" set para set rrange [-0 : 10] set trange [-pi : pi] set xrange [-1:1] set yrange [-1:1] tv(t,r) = sin(t)/(1+r) tu(t,r) = (cos(t) +r)/(1+r) cu(t,x) = 1 + cos(t)/x cv(t,x) = (1+ sin(t))/x plot cu(t,.1),cv(t,.1),cu(t,.1),-cv(t,.1),\ cu(t,1),cv(t,1),cu(t,1),-cv(t,1),\ cu(t,10),cv(t,10),cu(t,10),-cv(t,10),\ tu(t,.1),tv(t,.1),\ tu(t,.5),tv(t,.5),\ tu(t,1),tv(t,1),\ tu(t,5),tv(t,5),\ tu(t,10),tv(t,10),\ cu(t,.5),cv(t,.5),cu(t,.5),-cv(t,.5),\ tu(t,0),tv(t,0) #cu(t,5),cv(t,5),cu(t,5),-cv(t,5) pause -1 "Hit return to continue" set angles degrees set polar set grid polar 15. set noborder set noparam set title "Antenna Pattern" set xlabel "Azimuth" set ylabel "dBSM" set data style line set yrange [-220:220] set xrange [-220:220] set trange [-pi:pi] set rrange [-200:60] plot "-" using 1:5,"-" # Input data ncmain.d4 generated by genpat2.f:Tx antenna pattern # x,y,z of center point B in coord 3 # -5.12000 0.00000 -1.50000 # euler matrix # 0.00000 -1.00000 0.00000 # 0.70710 0.00000 0.70710 # -0.70710 0.00000 0.70710 # theta(deg) phi(deg) E-theta(dB) phase E-phi(dB) phase 0.000 0.000 -200.000 0.000 18.992 0.000 2.000 0.000 -200.000 0.000 18.898 0.000 4.000 0.000 -200.000 0.000 18.619 0.000 6.000 0.000 -200.000 0.000 18.152 0.000 8.000 0.000 -200.000 0.000 17.497 0.000 10.000 0.000 -200.000 0.000 16.651 0.000 12.000 0.000 -200.000 0.000 15.614 0.000 14.000 0.000 -200.000 0.000 14.382 0.000 16.000 0.000 -200.000 0.000 12.952 0.000 18.000 0.000 -200.000 0.000 11.320 0.000 20.000 0.000 -200.000 0.000 9.483 0.000 22.000 0.000 -200.000 0.000 7.434 0.000 24.000 0.000 -200.000 0.000 5.169 0.000 26.000 0.000 -200.000 0.000 2.680 0.000 28.000 0.000 -200.000 0.000 -0.039 0.000 30.000 0.000 -200.000 0.000 -2.998 0.000 32.000 0.000 -200.000 0.000 -6.204 0.000 34.000 0.000 -200.000 0.000 -9.670 0.000 36.000 0.000 -200.000 0.000 -13.407 0.000 38.000 0.000 -200.000 0.000 -17.429 0.000 40.000 0.000 -200.000 0.000 -21.751 0.000 42.000 0.000 -200.000 0.000 -26.391 0.000 44.000 0.000 -200.000 0.000 -31.368 0.000 46.000 0.000 -200.000 0.000 -36.705 0.000 48.000 0.000 -200.000 0.000 -42.429 0.000 50.000 0.000 -200.000 0.000 -48.569 0.000 52.000 0.000 -200.000 0.000 -55.160 0.000 54.000 0.000 -200.000 0.000 -62.243 0.000 56.000 0.000 -200.000 0.000 -69.867 0.000 58.000 0.000 -200.000 0.000 -78.087 0.000 60.000 0.000 -200.000 0.000 -86.971 0.000 62.000 0.000 -200.000 0.000 -96.602 0.000 64.000 0.000 -200.000 0.000 -107.080 0.000 66.000 0.000 -200.000 0.000 -118.530 0.000 68.000 0.000 -200.000 0.000 -131.110 0.000 70.000 0.000 -200.000 0.000 -145.022 0.000 72.000 0.000 -200.000 0.000 -160.534 0.000 74.000 0.000 -200.000 0.000 -177.982 0.000 76.000 0.000 -200.000 0.000 -195.848 0.000 78.000 0.000 -200.000 0.000 -199.967 0.000 80.000 0.000 -200.000 0.000 -200.000 0.000 82.000 0.000 -200.000 0.000 -200.000 0.000 84.000 0.000 -200.000 0.000 -200.000 0.000 86.000 0.000 -200.000 0.000 -200.000 0.000 88.000 0.000 -200.000 0.000 -200.000 0.000 90.000 0.000 -200.000 0.000 -200.000 0.000 92.000 0.000 -200.000 0.000 -200.000 0.000 94.000 0.000 -200.000 0.000 -200.000 0.000 96.000 0.000 -200.000 0.000 -200.000 0.000 98.000 0.000 -200.000 0.000 -200.000 0.000 100.000 0.000 -200.000 0.000 -200.000 0.000 102.000 0.000 -200.000 0.000 -200.000 0.000 104.000 0.000 -200.000 0.000 -200.000 0.000 106.000 0.000 -200.000 0.000 -200.000 0.000 108.000 0.000 -200.000 0.000 -200.000 0.000 110.000 0.000 -200.000 0.000 -200.000 0.000 112.000 0.000 -200.000 0.000 -200.000 0.000 114.000 0.000 -200.000 0.000 -200.000 0.000 116.000 0.000 -200.000 0.000 -200.000 0.000 118.000 0.000 -200.000 0.000 -200.000 0.000 120.000 0.000 -200.000 0.000 -200.000 0.000 122.000 0.000 -200.000 0.000 -200.000 0.000 124.000 0.000 -200.000 0.000 -200.000 0.000 126.000 0.000 -200.000 0.000 -200.000 0.000 128.000 0.000 -200.000 0.000 -200.000 0.000 130.000 0.000 -200.000 0.000 -200.000 0.000 132.000 0.000 -200.000 0.000 -200.000 0.000 134.000 0.000 -200.000 0.000 -200.000 0.000 136.000 0.000 -200.000 0.000 -200.000 0.000 138.000 0.000 -200.000 0.000 -200.000 0.000 140.000 0.000 -200.000 0.000 -200.000 0.000 142.000 0.000 -200.000 0.000 -200.000 0.000 144.000 0.000 -200.000 0.000 -200.000 0.000 146.000 0.000 -200.000 0.000 -200.000 0.000 148.000 0.000 -200.000 0.000 -200.000 0.000 150.000 0.000 -200.000 0.000 -200.000 0.000 152.000 0.000 -200.000 0.000 -200.000 0.000 154.000 0.000 -200.000 0.000 -200.000 0.000 156.000 0.000 -200.000 0.000 -200.000 0.000 158.000 0.000 -200.000 0.000 -200.000 0.000 160.000 0.000 -200.000 0.000 -200.000 0.000 162.000 0.000 -200.000 0.000 -200.000 0.000 164.000 0.000 -200.000 0.000 -200.000 0.000 166.000 0.000 -200.000 0.000 -200.000 0.000 168.000 0.000 -200.000 0.000 -200.000 0.000 170.000 0.000 -200.000 0.000 -200.000 0.000 172.000 0.000 -200.000 0.000 -200.000 0.000 174.000 0.000 -200.000 0.000 -200.000 0.000 176.000 0.000 -200.000 0.000 -200.000 0.000 178.000 0.000 -200.000 0.000 -200.000 0.000 180.000 0.000 -200.000 0.000 -200.000 0.000 e # # formerly $Id: poldat.dem,v 1.1.1.1 2025/04/15 19:16:42 lhecking Exp $ # # 0.000 90.007E-01 -35.926E+00 -71.297E+00 90.783E-01 2.000 81.667E-01 13.355E-02 -32.735E+00 89.007E-01 4.000 60.696E-01 40.782E-01 -28.040E+00 83.501E-01 6.000 33.053E-01 48.742E-01 -26.062E+00 73.795E-01 8.000 13.100E-02 42.554E-01 -25.105E+00 59.101E-01 10.000 -34.589E-01 26.769E-01 -24.794E+00 38.084E-01 12.000 -76.407E-01 15.917E-02 -25.211E+00 82.257E-02 14.000 -12.849E+00 -36.543E-01 -26.702E+00 -36.253E-01 16.000 -20.405E+00 -10.185E+00 -30.112E+00 -11.564E+00 18.000 -41.802E+00 -37.181E+00 -39.114E+00 -24.830E+00 20.000 -25.979E+00 -11.868E+00 -38.677E+00 -10.860E+00 22.000 -22.060E+00 -71.064E-01 -29.743E+00 -74.312E-01 24.000 -21.258E+00 -52.193E-01 -26.432E+00 -62.183E-01 26.000 -22.103E+00 -48.803E-01 -25.429E+00 -59.416E-01 28.000 -24.356E+00 -58.580E-01 -26.299E+00 -60.712E-01 30.000 -28.216E+00 -83.757E-01 -29.576E+00 -64.985E-01 32.000 -33.989E+00 -13.340E+00 -38.930E+00 -75.039E-01 34.000 -37.632E+00 -21.690E+00 -37.458E+00 -96.424E-01 36.000 -35.691E+00 -16.286E+00 -29.566E+00 -13.578E+00 38.000 -35.220E+00 -12.594E+00 -27.052E+00 -15.787E+00 40.000 -36.549E+00 -12.197E+00 -27.142E+00 -11.075E+00 42.000 -38.418E+00 -14.735E+00 -29.897E+00 -76.375E-01 44.000 -39.287E+00 -23.397E+00 -38.646E+00 -60.943E-01 46.000 -39.287E+00 -23.397E+00 -38.646E+00 -60.943E-01 48.000 -38.418E+00 -14.735E+00 -29.897E+00 -76.375E-01 50.000 -36.549E+00 -12.197E+00 -27.142E+00 -11.075E+00 52.000 -35.220E+00 -12.594E+00 -27.052E+00 -15.787E+00 54.000 -35.691E+00 -16.286E+00 -29.566E+00 -13.578E+00 56.000 -37.632E+00 -21.690E+00 -37.458E+00 -96.424E-01 58.000 -33.989E+00 -13.340E+00 -38.930E+00 -75.039E-01 60.000 -28.216E+00 -83.757E-01 -29.576E+00 -64.985E-01 62.000 -24.356E+00 -58.580E-01 -26.299E+00 -60.712E-01 64.000 -22.103E+00 -48.803E-01 -25.429E+00 -59.416E-01 66.000 -21.258E+00 -52.193E-01 -26.432E+00 -62.183E-01 68.000 -22.060E+00 -71.064E-01 -29.743E+00 -74.312E-01 70.000 -25.979E+00 -11.868E+00 -38.677E+00 -10.860E+00 72.000 -41.802E+00 -37.180E+00 -39.114E+00 -24.830E+00 74.000 -20.405E+00 -10.185E+00 -30.112E+00 -11.564E+00 76.000 -12.849E+00 -36.543E-01 -26.702E+00 -36.253E-01 78.000 -76.407E-01 15.917E-02 -25.211E+00 82.257E-02 80.000 -34.589E-01 26.769E-01 -24.794E+00 38.084E-01 82.000 13.100E-02 42.554E-01 -25.105E+00 59.101E-01 84.000 33.053E-01 48.742E-01 -26.062E+00 73.795E-01 86.000 60.696E-01 40.782E-01 -28.040E+00 83.501E-01 88.000 81.667E-01 13.355E-02 -32.735E+00 89.007E-01 90.000 90.007E-01 -35.926E+00 -71.297E+00 90.783E-01 92.000 81.667E-01 13.355E-02 -32.735E+00 89.007E-01 94.000 60.696E-01 40.782E-01 -28.040E+00 83.501E-01 96.000 33.053E-01 48.742E-01 -26.062E+00 73.795E-01 98.000 13.100E-02 42.554E-01 -25.105E+00 59.101E-01 100.000 -34.589E-01 26.769E-01 -24.794E+00 38.084E-01 102.000 -76.407E-01 15.917E-02 -25.211E+00 82.257E-02 104.000 -12.849E+00 -36.543E-01 -26.702E+00 -36.253E-01 106.000 -20.405E+00 -10.185E+00 -30.112E+00 -11.564E+00 108.000 -41.802E+00 -37.181E+00 -39.114E+00 -24.830E+00 110.000 -25.979E+00 -11.868E+00 -38.677E+00 -10.860E+00 112.000 -22.060E+00 -71.064E-01 -29.743E+00 -74.312E-01 114.000 -21.258E+00 -52.193E-01 -26.432E+00 -62.183E-01 116.000 -22.103E+00 -48.803E-01 -25.429E+00 -59.416E-01 118.000 -24.356E+00 -58.580E-01 -26.299E+00 -60.712E-01 120.000 -28.216E+00 -83.757E-01 -29.576E+00 -64.985E-01 122.000 -33.989E+00 -13.340E+00 -38.930E+00 -75.039E-01 124.000 -37.632E+00 -21.690E+00 -37.458E+00 -96.424E-01 126.000 -35.691E+00 -16.286E+00 -29.566E+00 -13.578E+00 128.000 -35.220E+00 -12.594E+00 -27.052E+00 -15.787E+00 130.000 -36.549E+00 -12.197E+00 -27.142E+00 -11.075E+00 132.000 -38.418E+00 -14.735E+00 -29.897E+00 -76.375E-01 134.000 -39.287E+00 -23.397E+00 -38.646E+00 -60.943E-01 136.000 -39.287E+00 -23.397E+00 -38.646E+00 -60.943E-01 138.000 -38.418E+00 -14.735E+00 -29.897E+00 -76.375E-01 140.000 -36.549E+00 -12.197E+00 -27.142E+00 -11.075E+00 142.000 -35.220E+00 -12.594E+00 -27.052E+00 -15.787E+00 144.000 -35.691E+00 -16.286E+00 -29.566E+00 -13.578E+00 146.000 -37.632E+00 -21.690E+00 -37.458E+00 -96.424E-01 148.000 -33.989E+00 -13.340E+00 -38.930E+00 -75.039E-01 150.000 -28.216E+00 -83.757E-01 -29.576E+00 -64.985E-01 152.000 -24.356E+00 -58.580E-01 -26.299E+00 -60.712E-01 154.000 -22.103E+00 -48.803E-01 -25.429E+00 -59.416E-01 156.000 -21.258E+00 -52.193E-01 -26.432E+00 -62.183E-01 158.000 -22.060E+00 -71.064E-01 -29.743E+00 -74.312E-01 160.000 -25.979E+00 -11.868E+00 -38.677E+00 -10.860E+00 162.000 -41.802E+00 -37.181E+00 -39.114E+00 -24.830E+00 164.000 -20.405E+00 -10.185E+00 -30.112E+00 -11.564E+00 166.000 -12.849E+00 -36.543E-01 -26.702E+00 -36.253E-01 168.000 -76.407E-01 15.917E-02 -25.211E+00 82.257E-02 170.000 -34.589E-01 26.769E-01 -24.794E+00 38.084E-01 172.000 13.100E-02 42.554E-01 -25.105E+00 59.101E-01 174.000 33.053E-01 48.742E-01 -26.062E+00 73.795E-01 176.000 60.696E-01 40.782E-01 -28.040E+00 83.501E-01 178.000 81.667E-01 13.355E-02 -32.735E+00 89.007E-01 180.000 90.007E-01 -35.926E+00 -71.297E+00 90.783E-01 182.000 81.667E-01 13.355E-02 -32.735E+00 89.007E-01 184.000 60.696E-01 40.782E-01 -28.040E+00 83.501E-01 186.000 33.053E-01 48.742E-01 -26.062E+00 73.795E-01 188.000 13.100E-02 42.554E-01 -25.105E+00 59.101E-01 190.000 -34.589E-01 26.769E-01 -24.794E+00 38.084E-01 192.000 -76.407E-01 15.917E-02 -25.211E+00 82.257E-02 194.000 -12.849E+00 -36.543E-01 -26.702E+00 -36.253E-01 196.000 -20.405E+00 -10.185E+00 -30.112E+00 -11.564E+00 198.000 -41.802E+00 -37.181E+00 -39.114E+00 -24.830E+00 200.000 -25.979E+00 -11.868E+00 -38.677E+00 -10.860E+00 202.000 -22.060E+00 -71.064E-01 -29.743E+00 -74.312E-01 204.000 -21.258E+00 -52.193E-01 -26.432E+00 -62.183E-01 206.000 -22.103E+00 -48.803E-01 -25.429E+00 -59.416E-01 208.000 -24.356E+00 -58.580E-01 -26.299E+00 -60.712E-01 210.000 -28.216E+00 -83.757E-01 -29.576E+00 -64.985E-01 212.000 -33.989E+00 -13.340E+00 -38.930E+00 -75.039E-01 214.000 -37.632E+00 -21.690E+00 -37.458E+00 -96.424E-01 216.000 -35.691E+00 -16.286E+00 -29.566E+00 -13.578E+00 218.000 -35.220E+00 -12.594E+00 -27.052E+00 -15.787E+00 220.000 -36.549E+00 -12.197E+00 -27.142E+00 -11.075E+00 222.000 -38.418E+00 -14.735E+00 -29.897E+00 -76.375E-01 224.000 -39.287E+00 -23.397E+00 -38.646E+00 -60.943E-01 226.000 -39.287E+00 -23.397E+00 -38.646E+00 -60.943E-01 228.000 -38.418E+00 -14.735E+00 -29.897E+00 -76.375E-01 230.000 -36.549E+00 -12.197E+00 -27.142E+00 -11.075E+00 232.000 -35.220E+00 -12.594E+00 -27.052E+00 -15.787E+00 234.000 -35.691E+00 -16.286E+00 -29.566E+00 -13.578E+00 236.000 -37.632E+00 -21.690E+00 -37.458E+00 -96.424E-01 238.000 -33.989E+00 -13.340E+00 -38.930E+00 -75.039E-01 240.000 -28.216E+00 -83.757E-01 -29.576E+00 -64.985E-01 242.000 -24.356E+00 -58.580E-01 -26.299E+00 -60.712E-01 244.000 -22.103E+00 -48.803E-01 -25.429E+00 -59.416E-01 246.000 -21.258E+00 -52.193E-01 -26.432E+00 -62.183E-01 248.000 -22.060E+00 -71.064E-01 -29.743E+00 -74.312E-01 250.000 -25.979E+00 -11.868E+00 -38.677E+00 -10.860E+00 252.000 -41.802E+00 -37.180E+00 -39.114E+00 -24.830E+00 254.000 -20.405E+00 -10.185E+00 -30.112E+00 -11.564E+00 256.000 -12.849E+00 -36.543E-01 -26.702E+00 -36.253E-01 258.000 -76.407E-01 15.917E-02 -25.211E+00 82.257E-02 260.000 -34.589E-01 26.769E-01 -24.794E+00 38.084E-01 262.000 13.100E-02 42.554E-01 -25.105E+00 59.101E-01 264.000 33.053E-01 48.742E-01 -26.062E+00 73.795E-01 266.000 60.696E-01 40.782E-01 -28.040E+00 83.501E-01 268.000 81.667E-01 13.355E-02 -32.735E+00 89.007E-01 270.000 90.007E-01 -35.926E+00 -71.297E+00 90.783E-01 272.000 81.667E-01 13.355E-02 -32.735E+00 89.007E-01 274.000 60.696E-01 40.782E-01 -28.040E+00 83.501E-01 276.000 33.053E-01 48.742E-01 -26.062E+00 73.795E-01 278.000 13.099E-02 42.554E-01 -25.105E+00 59.101E-01 280.000 -34.589E-01 26.769E-01 -24.794E+00 38.084E-01 282.000 -76.407E-01 15.917E-02 -25.211E+00 82.257E-02 284.000 -12.849E+00 -36.543E-01 -26.702E+00 -36.253E-01 286.000 -20.405E+00 -10.185E+00 -30.112E+00 -11.564E+00 288.000 -41.802E+00 -37.181E+00 -39.114E+00 -24.830E+00 290.000 -25.979E+00 -11.868E+00 -38.677E+00 -10.860E+00 292.000 -22.060E+00 -71.064E-01 -29.743E+00 -74.312E-01 294.000 -21.258E+00 -52.193E-01 -26.432E+00 -62.183E-01 296.000 -22.103E+00 -48.803E-01 -25.429E+00 -59.416E-01 298.000 -24.356E+00 -58.580E-01 -26.299E+00 -60.712E-01 300.000 -28.216E+00 -83.757E-01 -29.576E+00 -64.985E-01 302.000 -33.989E+00 -13.340E+00 -38.930E+00 -75.039E-01 304.000 -37.632E+00 -21.690E+00 -37.458E+00 -96.424E-01 306.000 -35.691E+00 -16.286E+00 -29.566E+00 -13.578E+00 308.000 -35.220E+00 -12.594E+00 -27.052E+00 -15.787E+00 310.000 -36.549E+00 -12.197E+00 -27.142E+00 -11.075E+00 312.000 -38.418E+00 -14.735E+00 -29.897E+00 -76.375E-01 314.000 -39.287E+00 -23.397E+00 -38.646E+00 -60.943E-01 316.000 -39.287E+00 -23.397E+00 -38.646E+00 -60.943E-01 318.000 -38.418E+00 -14.735E+00 -29.897E+00 -76.375E-01 320.000 -36.549E+00 -12.197E+00 -27.142E+00 -11.075E+00 322.000 -35.220E+00 -12.594E+00 -27.052E+00 -15.787E+00 324.000 -35.691E+00 -16.286E+00 -29.566E+00 -13.578E+00 326.000 -37.632E+00 -21.690E+00 -37.458E+00 -96.424E-01 328.000 -33.989E+00 -13.340E+00 -38.930E+00 -75.039E-01 330.000 -28.216E+00 -83.757E-01 -29.576E+00 -64.985E-01 332.000 -24.356E+00 -58.580E-01 -26.299E+00 -60.712E-01 334.000 -22.103E+00 -48.803E-01 -25.429E+00 -59.416E-01 336.000 -21.258E+00 -52.193E-01 -26.432E+00 -62.183E-01 338.000 -22.060E+00 -71.064E-01 -29.743E+00 -74.312E-01 340.000 -25.979E+00 -11.868E+00 -38.677E+00 -10.860E+00 342.000 -41.802E+00 -37.181E+00 -39.114E+00 -24.830E+00 344.000 -20.405E+00 -10.185E+00 -30.112E+00 -11.564E+00 346.000 -12.849E+00 -36.543E-01 -26.702E+00 -36.253E-01 348.000 -76.407E-01 15.917E-02 -25.211E+00 82.257E-02 350.000 -34.589E-01 26.769E-01 -24.794E+00 38.084E-01 352.000 13.100E-02 42.554E-01 -25.105E+00 59.101E-01 354.000 33.053E-01 48.742E-01 -26.062E+00 73.795E-01 356.000 60.696E-01 40.782E-01 -28.040E+00 83.501E-01 358.000 81.667E-01 13.355E-02 -32.735E+00 89.007E-01 360.000 90.007E-01 -35.926E+00 -71.297E+00 90.783E-01 2.000 81.667E-01 13.355E-02 -32.735E+00 89.007E-01 4.000 60.696E-01 40.782E-01 -28.040E+00 83.501E-01 6.000 33.053E-01 48.742E-01 -26.062E+00 73.795E-01 8.000 13.100E-02 42.554E-01 -25.105E+00 59.101E-01 10.000 -34.589E-01 26.769E-01 -24.794E+00 38.084E-01 12.000 -76.407E-01 15.917E-02 -25.211E+00 82.257E-02 14.000 -12.849E+00 -36.543E-01 -26.702E+00 -36.253E-01 16.000 -20.405E+00 -10.185E+00 -30.112E+00 -11.564E+00 18.000 -41.802E+00 -37.181E+00 -39.114E+00 -24.830E+00 20.000 -25.979E+00 -11.868E+00 -38.677E+00 -10.860E+00 22.000 -22.060E+00 -71.064E-01 -29.743E+00 -74.312E-01 24.000 -21.258E+00 -52.193E-01 -26.432E+00 -62.183E-01 26.000 -22.103E+00 -48.803E-01 -25.429E+00 -59.416E-01 28.000 -24.356E+00 -58.580E-01 -26.299E+00 -60.712E-01 30.000 -28.216E+00 -83.757E-01 -29.576E+00 -64.985E-01 32.000 -33.989E+00 -13.340E+00 -38.930E+00 -75.039E-01 34.000 -37.632E+00 -21.690E+00 -37.458E+00 -96.424E-01 36.000 -35.691E+00 -16.286E+00 -29.566E+00 -13.578E+00 38.000 -35.220E+00 -12.594E+00 -27.052E+00 -15.787E+00 40.000 -36.549E+00 -12.197E+00 -27.142E+00 -11.075E+00 42.000 -38.418E+00 -14.735E+00 -29.897E+00 -76.375E-01 44.000 -39.287E+00 -23.397E+00 -38.646E+00 -60.943E-01 46.000 -39.287E+00 -23.397E+00 -38.646E+00 -60.943E-01 48.000 -38.418E+00 -14.735E+00 -29.897E+00 -76.375E-01 50.000 -36.549E+00 -12.197E+00 -27.142E+00 -11.075E+00 52.000 -35.220E+00 -12.594E+00 -27.052E+00 -15.787E+00 54.000 -35.691E+00 -16.286E+00 -29.566E+00 -13.578E+00 56.000 -37.632E+00 -21.690E+00 -37.458E+00 -96.424E-01 58.000 -33.989E+00 -13.340E+00 -38.930E+00 -75.039E-01 60.000 -28.216E+00 -83.757E-01 -29.576E+00 -64.985E-01 62.000 -24.356E+00 -58.580E-01 -26.299E+00 -60.712E-01 64.000 -22.103E+00 -48.803E-01 -25.429E+00 -59.416E-01 66.000 -21.258E+00 -52.193E-01 -26.432E+00 -62.183E-01 68.000 -22.060E+00 -71.064E-01 -29.743E+00 -74.312E-01 70.000 -25.979E+00 -11.868E+00 -38.677E+00 -10.860E+00 72.000 -41.802E+00 -37.180E+00 -39.114E+00 -24.830E+00 74.000 -20.405E+00 -10.185E+00 -30.112E+00 -11.564E+00 76.000 -12.849E+00 -36.543E-01 -26.702E+00 -36.253E-01 78.000 -76.407E-01 15.917E-02 -25.211E+00 82.257E-02 80.000 -34.589E-01 26.769E-01 -24.794E+00 38.084E-01 82.000 13.100E-02 42.554E-01 -25.105E+00 59.101E-01 84.000 33.053E-01 48.742E-01 -26.062E+00 73.795E-01 86.000 60.696E-01 40.782E-01 -28.040E+00 83.501E-01 88.000 81.667E-01 13.355E-02 -32.735E+00 89.007E-01 90.000 90.007E-01 -35.926E+00 -71.297E+00 90.783E-01 92.000 81.667E-01 13.355E-02 -32.735E+00 89.007E-01 94.000 60.696E-01 40.782E-01 -28.040E+00 83.501E-01 96.000 33.053E-01 48.742E-01 -26.062E+00 73.795E-01 98.000 13.100E-02 42.554E-01 -25.105E+00 59.101E-01 100.000 -34.589E-01 26.769E-01 -24.794E+00 38.084E-01 102.000 -76.407E-01 15.917E-02 -25.211E+00 82.257E-02 104.000 -12.849E+00 -36.543E-01 -26.702E+00 -36.253E-01 106.000 -20.405E+00 -10.185E+00 -30.112E+00 -11.564E+00 108.000 -41.802E+00 -37.181E+00 -39.114E+00 -24.830E+00 110.000 -25.979E+00 -11.868E+00 -38.677E+00 -10.860E+00 112.000 -22.060E+00 -71.064E-01 -29.743E+00 -74.312E-01 114.000 -21.258E+00 -52.193E-01 -26.432E+00 -62.183E-01 116.000 -22.103E+00 -48.803E-01 -25.429E+00 -59.416E-01 118.000 -24.356E+00 -58.580E-01 -26.299E+00 -60.712E-01 120.000 -28.216E+00 -83.757E-01 -29.576E+00 -64.985E-01 122.000 -33.989E+00 -13.340E+00 -38.930E+00 -75.039E-01 124.000 -37.632E+00 -21.690E+00 -37.458E+00 -96.424E-01 126.000 -35.691E+00 -16.286E+00 -29.566E+00 -13.578E+00 128.000 -35.220E+00 -12.594E+00 -27.052E+00 -15.787E+00 130.000 -36.549E+00 -12.197E+00 -27.142E+00 -11.075E+00 132.000 -38.418E+00 -14.735E+00 -29.897E+00 -76.375E-01 134.000 -39.287E+00 -23.397E+00 -38.646E+00 -60.943E-01 136.000 -39.287E+00 -23.397E+00 -38.646E+00 -60.943E-01 138.000 -38.418E+00 -14.735E+00 -29.897E+00 -76.375E-01 140.000 -36.549E+00 -12.197E+00 -27.142E+00 -11.075E+00 142.000 -35.220E+00 -12.594E+00 -27.052E+00 -15.787E+00 144.000 -35.691E+00 -16.286E+00 -29.566E+00 -13.578E+00 146.000 -37.632E+00 -21.690E+00 -37.458E+00 -96.424E-01 148.000 -33.989E+00 -13.340E+00 -38.930E+00 -75.039E-01 150.000 -28.216E+00 -83.757E-01 -29.576E+00 -64.985E-01 152.000 -24.356E+00 -58.580E-01 -26.299E+00 -60.712E-01 154.000 -22.103E+00 -48.803E-01 -25.429E+00 -59.416E-01 156.000 -21.258E+00 -52.193E-01 -26.432E+00 -62.183E-01 158.000 -22.060E+00 -71.064E-01 -29.743E+00 -74.312E-01 160.000 -25.979E+00 -11.868E+00 -38.677E+00 -10.860E+00 162.000 -41.802E+00 -37.181E+00 -39.114E+00 -24.830E+00 164.000 -20.405E+00 -10.185E+00 -30.112E+00 -11.564E+00 166.000 -12.849E+00 -36.543E-01 -26.702E+00 -36.253E-01 168.000 -76.407E-01 15.917E-02 -25.211E+00 82.257E-02 170.000 -34.589E-01 26.769E-01 -24.794E+00 38.084E-01 172.000 13.100E-02 42.554E-01 -25.105E+00 59.101E-01 174.000 33.053E-01 48.742E-01 -26.062E+00 73.795E-01 176.000 60.696E-01 40.782E-01 -28.040E+00 83.501E-01 178.000 81.667E-01 13.355E-02 -32.735E+00 89.007E-01 180.000 90.007E-01 -35.926E+00 -71.297E+00 90.783E-01 182.000 81.667E-01 13.355E-02 -32.735E+00 89.007E-01 184.000 60.696E-01 40.782E-01 -28.040E+00 83.501E-01 186.000 33.053E-01 48.742E-01 -26.062E+00 73.795E-01 188.000 13.100E-02 42.554E-01 -25.105E+00 59.101E-01 190.000 -34.589E-01 26.769E-01 -24.794E+00 38.084E-01 192.000 -76.407E-01 15.917E-02 -25.211E+00 82.257E-02 194.000 -12.849E+00 -36.543E-01 -26.702E+00 -36.253E-01 196.000 -20.405E+00 -10.185E+00 -30.112E+00 -11.564E+00 198.000 -41.802E+00 -37.181E+00 -39.114E+00 -24.830E+00 200.000 -25.979E+00 -11.868E+00 -38.677E+00 -10.860E+00 202.000 -22.060E+00 -71.064E-01 -29.743E+00 -74.312E-01 204.000 -21.258E+00 -52.193E-01 -26.432E+00 -62.183E-01 206.000 -22.103E+00 -48.803E-01 -25.429E+00 -59.416E-01 208.000 -24.356E+00 -58.580E-01 -26.299E+00 -60.712E-01 210.000 -28.216E+00 -83.757E-01 -29.576E+00 -64.985E-01 212.000 -33.989E+00 -13.340E+00 -38.930E+00 -75.039E-01 214.000 -37.632E+00 -21.690E+00 -37.458E+00 -96.424E-01 216.000 -35.691E+00 -16.286E+00 -29.566E+00 -13.578E+00 218.000 -35.220E+00 -12.594E+00 -27.052E+00 -15.787E+00 220.000 -36.549E+00 -12.197E+00 -27.142E+00 -11.075E+00 222.000 -38.418E+00 -14.735E+00 -29.897E+00 -76.375E-01 224.000 -39.287E+00 -23.397E+00 -38.646E+00 -60.943E-01 226.000 -39.287E+00 -23.397E+00 -38.646E+00 -60.943E-01 228.000 -38.418E+00 -14.735E+00 -29.897E+00 -76.375E-01 230.000 -36.549E+00 -12.197E+00 -27.142E+00 -11.075E+00 232.000 -35.220E+00 -12.594E+00 -27.052E+00 -15.787E+00 234.000 -35.691E+00 -16.286E+00 -29.566E+00 -13.578E+00 236.000 -37.632E+00 -21.690E+00 -37.458E+00 -96.424E-01 238.000 -33.989E+00 -13.340E+00 -38.930E+00 -75.039E-01 240.000 -28.216E+00 -83.757E-01 -29.576E+00 -64.985E-01 242.000 -24.356E+00 -58.580E-01 -26.299E+00 -60.712E-01 244.000 -22.103E+00 -48.803E-01 -25.429E+00 -59.416E-01 246.000 -21.258E+00 -52.193E-01 -26.432E+00 -62.183E-01 248.000 -22.060E+00 -71.064E-01 -29.743E+00 -74.312E-01 250.000 -25.979E+00 -11.868E+00 -38.677E+00 -10.860E+00 252.000 -41.802E+00 -37.180E+00 -39.114E+00 -24.830E+00 254.000 -20.405E+00 -10.185E+00 -30.112E+00 -11.564E+00 256.000 -12.849E+00 -36.543E-01 -26.702E+00 -36.253E-01 258.000 -76.407E-01 15.917E-02 -25.211E+00 82.257E-02 260.000 -34.589E-01 26.769E-01 -24.794E+00 38.084E-01 262.000 13.100E-02 42.554E-01 -25.105E+00 59.101E-01 264.000 33.053E-01 48.742E-01 -26.062E+00 73.795E-01 266.000 60.696E-01 40.782E-01 -28.040E+00 83.501E-01 268.000 81.667E-01 13.355E-02 -32.735E+00 89.007E-01 270.000 90.007E-01 -35.926E+00 -71.297E+00 90.783E-01 272.000 81.667E-01 13.355E-02 -32.735E+00 89.007E-01 274.000 60.696E-01 40.782E-01 -28.040E+00 83.501E-01 276.000 33.053E-01 48.742E-01 -26.062E+00 73.795E-01 278.000 13.099E-02 42.554E-01 -25.105E+00 59.101E-01 280.000 -34.589E-01 26.769E-01 -24.794E+00 38.084E-01 282.000 -76.407E-01 15.917E-02 -25.211E+00 82.257E-02 284.000 -12.849E+00 -36.543E-01 -26.702E+00 -36.253E-01 286.000 -20.405E+00 -10.185E+00 -30.112E+00 -11.564E+00 288.000 -41.802E+00 -37.181E+00 -39.114E+00 -24.830E+00 290.000 -25.979E+00 -11.868E+00 -38.677E+00 -10.860E+00 292.000 -22.060E+00 -71.064E-01 -29.743E+00 -74.312E-01 294.000 -21.258E+00 -52.193E-01 -26.432E+00 -62.183E-01 296.000 -22.103E+00 -48.803E-01 -25.429E+00 -59.416E-01 298.000 -24.356E+00 -58.580E-01 -26.299E+00 -60.712E-01 300.000 -28.216E+00 -83.757E-01 -29.576E+00 -64.985E-01 302.000 -33.989E+00 -13.340E+00 -38.930E+00 -75.039E-01 304.000 -37.632E+00 -21.690E+00 -37.458E+00 -96.424E-01 306.000 -35.691E+00 -16.286E+00 -29.566E+00 -13.578E+00 308.000 -35.220E+00 -12.594E+00 -27.052E+00 -15.787E+00 310.000 -36.549E+00 -12.197E+00 -27.142E+00 -11.075E+00 312.000 -38.418E+00 -14.735E+00 -29.897E+00 -76.375E-01 314.000 -39.287E+00 -23.397E+00 -38.646E+00 -60.943E-01 316.000 -39.287E+00 -23.397E+00 -38.646E+00 -60.943E-01 318.000 -38.418E+00 -14.735E+00 -29.897E+00 -76.375E-01 320.000 -36.549E+00 -12.197E+00 -27.142E+00 -11.075E+00 322.000 -35.220E+00 -12.594E+00 -27.052E+00 -15.787E+00 324.000 -35.691E+00 -16.286E+00 -29.566E+00 -13.578E+00 326.000 -37.632E+00 -21.690E+00 -37.458E+00 -96.424E-01 328.000 -33.989E+00 -13.340E+00 -38.930E+00 -75.039E-01 330.000 -28.216E+00 -83.757E-01 -29.576E+00 -64.985E-01 332.000 -24.356E+00 -58.580E-01 -26.299E+00 -60.712E-01 334.000 -22.103E+00 -48.803E-01 -25.429E+00 -59.416E-01 336.000 -21.258E+00 -52.193E-01 -26.432E+00 -62.183E-01 338.000 -22.060E+00 -71.064E-01 -29.743E+00 -74.312E-01 340.000 -25.979E+00 -11.868E+00 -38.677E+00 -10.860E+00 342.000 -41.802E+00 -37.181E+00 -39.114E+00 -24.830E+00 344.000 -20.405E+00 -10.185E+00 -30.112E+00 -11.564E+00 346.000 -12.849E+00 -36.543E-01 -26.702E+00 -36.253E-01 348.000 -76.407E-01 15.917E-02 -25.211E+00 82.257E-02 350.000 -34.589E-01 26.769E-01 -24.794E+00 38.084E-01 352.000 13.100E-02 42.554E-01 -25.105E+00 59.101E-01 354.000 33.053E-01 48.742E-01 -26.062E+00 73.795E-01 356.000 60.696E-01 40.782E-01 -28.040E+00 83.501E-01 358.000 81.667E-01 13.355E-02 -32.735E+00 89.007E-01 360.000 90.007E-01 -35.926E+00 -71.297E+00 90.783E-01 e pause -1 "Hit return to continue" set noparam set key set size nosquare 1.0,1.0 set notime set title "" 0,0 set xlabel "" 0,0 set ylabel "" 0,0 set data style points set angles radians set nopolar set yrange [-10:10] set rrange [0:10] set auto set noparam set border set nogrid gnuplot-3.7.3/demo/prob.dem100644 1200 17 53377 7351632237 15011 0ustar lheckingusers# # $Id: prob.dem,v 1.2.2.2 2025/09/18 11:48:47 lhecking Exp $ # # Demo Statistical Functions version 2.3 # # Copyright (c) 1991, 1992 Jos van der Woude, jvdwoude@hut.nl print " Statistical Library Demo, version 2.3" print "\n Copyright (c) 1991, 1992, Jos van de Woude, jvdwoude@hut.nl" print "\n\n\n\n\n\n\n" print "NOTE: contains 54 plots and consequently takes a lot of time to run" print " Press Ctrl-C to exit right now" pause -1 " Press Return to start demo ..." load "stat.inc" # Arcsinus PDF and CDF r = 2.0 mu = 0.0 sigma = r / sqrt2 xmin = -r xmax = r ymax = 1.1 * r #No mode set nokey set zeroaxis set xrange [xmin : xmax] set yrange [0 : ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.1f" set format y "%.1f" set sample 200 set title "arcsin PDF with r = 2.0" plot arcsin(x) pause -1 "Hit return to continue" set title "arcsin CDF with r = 2.0" set yrange [0 : 1.1] plot carcsin(x) pause -1 "Hit return to continue" # Beta PDF and CDF #p = 0.5; q = 0.7 #mu = p / (p + q) #sigma = sqrt(p**q) / ((p + q ) * sqrt(p + q + 1.0)) #xmin = 0.0 #xmax = 1.0 #Mode of beta PDF used #ymax = (p < 1.0 || q < 1.0) ? 2.0 : 1.1 * beta((p - 1.0)/(p + q - 2.0)) set key right box set zeroaxis #set xrange [xmin : xmax] #set yrange [0 : ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.1f" set format y "%.1f" set sample 100 set title "beta PDF" plot [0:1] [0:5] p = 0.5, q = 0.7, beta(x) title "p = 0.5, q = 0.7", \ p = 5.0, q = 3.0, beta(x) title "p = 5.0, q = 3.0", \ p = 0.5, q = 2.5, beta(x) title "p = 0.5, q = 2.5" pause -1 "Hit return to continue" set title "incomplete beta CDF" set key left box plot [0:1] [0:1.1] p = 0.5, q = 0.7, cbeta(x) title "p = 0.5, q = 0.7", \ p = 5.0, q = 3.0, cbeta(x) title "p = 5.0, q = 3.0", \ p = 0.5, q = 2.5, cbeta(x) title "p = 0.5, q = 2.5" pause -1 "Hit return to continue" # Binomial PDF and CDF n = 25; p = 0.15 mu = n * p sigma = sqrt(n * p * (1.0 - p)) xmin = int(mu - 4.0 * sigma) xmin = xmin < 0 ? 0 : xmin xmax = int(mu + 4.0 * sigma) ymax = 1.1 * binom(mu) #Mode of normal PDF used xinc = ceil((xmax - xmin) / 10) xinc = xinc > 1 ? xinc : 1 set nokey set nozeroaxis set xrange [xmin : xmax] set yrange [0 : ymax] set xlabel "k ->" set ylabel "probability density ->" set xtics xmin + 0.499, xinc, xmax set ytics 0, ymax / 10, ymax set format x "%2.0f" set format y "%3.2f" set sample (xmax - xmin) + 1 set title "binomial PDF with n = 25, p = 0.15" plot binom(x) with steps pause -1 "Hit return to continue" set title "binomial CDF with n = 25, p = 0.15" set yrange [0 : 1.1] set ytics 0, 1.1 / 10.5, 1.1 plot cbinom(x) with steps pause -1 "Hit return to continue" # Cauchy PDF and CDF #a = 0.0; b = 2.0 #cauchy PDF has no moments #xmin = a - 4.0 * b #xmax = a + 4.0 * b #ymax = 1.1 * cauchy(a) #Mode of cauchy PDF used set key left box set zeroaxis #set xrange [xmin : xmax] #set yrange [0 : ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.1f" set format y "%.2f" set sample 100 set title "cauchy PDF" plot [-15:15] [0:0.2] a = 0, b = 2, cauchy(x) title "a = 0, b = 2", \ a = 0, b = 4, cauchy(x) title "a = 0, b = 4" pause -1 "Hit return to continue" set title "cauchy CDF" plot [-30:30] [0:1.1] a = 0, b = 2, ccauchy(x) title "a = 0, b = 2", \ a = 0, b = 4, ccauchy(x) title "a = 0, b = 4" pause -1 "Hit return to continue" # Chi-square PDF and CDF #df1 = 4.0 #mu = df1 #sigma = sqrt(2.0 * df1) #xmin = mu - 4.0 * sigma #xmin = xmin < 0 ? 0 : xmin #xmax = mu + 4.0 * sigma #ymax = 1.1 * (df1 > 2.0 ? chi(df1 - 2.0) : 1.0) #Mode of chi PDF used set key right box set zeroaxis #set xrange [xmin : xmax] #set yrange [0 : ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.1f" set format y "%.2f" set sample 100 set title "chi-square PDF" set key right box plot [0:15] [0:0.2] df1 = 4, chi(x) title "df = 4", \ df1 = 6, chi(x) title "df = 6", \ df1 = 8, chi(x) title "df = 8" pause -1 "Hit return to continue" set key left box set title "chi-square CDF" plot [0:15] [0:1.1] df1 = 4, cchi(x) title "df = 4", \ df1 = 6, cchi(x) title "df = 6", \ df1 = 8, cchi(x) title "df = 8" pause -1 "Hit return to continue" # Erlang PDF and CDF #lambda = 1.0; n = 2.0 #mu = n / lambda #sigma = sqrt(n) / lambda #xmin = mu - 4.0 * sigma #xmin = xmin < 0 ? 0 : xmin #xmax = mu + 4.0 * sigma #ymax = n < 2.0 ? 1.0 : 1.1 * erlang((n - 1.0) / lambda) #Mode of erlang PDF used set zeroaxis #set xrange [xmin : xmax] #set yrange [0 : ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.1f" set format y "%.1f" set sample 100 set title "erlang PDF" set key right box plot [0:10] [0:1] lambda = 1, n = 2, erlang(x) title "lambda = 1, n = 2", \ lambda = 2, n = 2, erlang(x) title "lambda = 2, n = 2" pause -1 "Hit return to continue" set title "erlang CDF" set key left box plot [0:10] [0:1.1] lambda = 1, n = 2, cerlang(x) title "lambda = 1, n = 2", \ lambda = 2, n = 2, cerlang(x) title "lambda = 2, n = 2" pause -1 "Hit return to continue" # Thanks to mrb2j@kelvin.seas.Virginia.EDU for telling us about this. # Extreme (Gumbel extreme value) PDF and CDF #alpha = 0.5; u = 1.0 #mu = u + (0.577215665/alpha) # Euler's constant #sigma = pi/(sqrt(6.0)*alpha) #xmin = mu - 4.0 * sigma #xmax = mu + 4.0 * sigma #ymax = 1.1 * extreme(u) #Mode of extreme PDF used set zeroaxis #set xrange [xmin : xmax] #set yrange [0 : ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.1f" set format y "%.2f" set sample 100 set title "extreme PDF" set key left box plot [-10:10] [0:0.4] alpha = 0.5, u = 1.0, extreme(x) title "alpha = 0.5, u = 1.0", \ alpha = 1.0, u = 0.0, extreme(x) title "alpha = 1.0, u = 0.0" pause -1 "Hit return to continue" set title "extreme CDF" set key left box plot [-10:10] [0:1.1] alpha = 0.5, u = 1.0, cextreme(x) title "alpha = 0.5, u = 1.0", \ alpha = 1.0, u = 0.0, cextreme(x) title "alpha = 1.0, u = 0.0" pause -1 "Hit return to continue" # F PDF and CDF #df1 = 5.0; df2 = 9.0 #mu = df2 < 2.0 ? 1.0 : df2 / (df2 - 2.0) #sigma = df2 < 4.0 ? 1.0 : mu * sqrt(2.0 * (df1 + df2 - 2.0) / (df1 * (df2 - 4.0))) #xmin = mu - 4.0 * sigma #xmin = xmin < 0 ? 0 : xmin #xmax = mu + 4.0 * sigma #Mode of F PDF used #ymax = df1 < 3.0 ? 1.0 : 1.1 * f((df1 / 2.0 - 1.0) / (df1 / 2.0 + df1 / df2)) set zeroaxis #set xrange [xmin : xmax] #set yrange [0 : ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.1f" set format y "%.2f" set sample 100 set title "F PDF" set key right box plot [0:4] [0:0.8] df1 = 5.0, df2 = 9.0, f(x) title "df1 = 5, df2 = 9", \ df1 = 7.0, df2 = 6.0, f(x) title "df1 = 7, df2 = 6" pause -1 "Hit return to continue" set title "F CDF" set key left box plot [0:4] [0:1.1] df1 = 5.0, df2 = 9.0, cf(x) title "df1 = 5, df2 = 9", \ df1 = 7.0, df2 = 6.0, cf(x) title "df1 = 7, df2 = 6" pause -1 "Hit return to continue" # Gamma PDF and incomplete gamma CDF #rho = 0.5; lambda = 1.0 #mu = rho / lambda #sigma = sqrt(rho) / lambda #xmin = mu - 4.0 * sigma #xmin = xmin < 0 ? 0 : xmin #xmax = mu + 4.0 * sigma #ymax = rho < 1.0 ? 2.0 : 1.1 * g((rho - 1.0) / lambda) #Mode of gamma pdf used set zeroaxis #set xrange [xmin: xmax] #set yrange [0: ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.1f" set format y "%.1f" set sample 100 set title "gamma PDF" set key right plot [0:5] [0:1.5] rho = 0.5, lambda = 1.0, g(x) title "rho = 0.5, lambda = 1.0", \ rho = 1.0, lambda = 1.0, g(x) title "rho = 1.0, lambda = 1.0", \ rho = 2.0, lambda = 2.0, g(x) title "rho = 2.0, lambda = 2.0" pause -1 "Hit return to continue" set title "incomplete gamma CDF (lambda == 1.0)" set key right bottom plot [0:5] [0:1.1] rho = 0.5, cgamma(x) title "rho = 0.5", \ rho = 1.0, cgamma(x) title "rho = 1.0", \ rho = 2.0, cgamma(x) title "rho = 2.0" pause -1 "Hit return to continue" # Geometric PDF and CDF p = 0.4 mu = (1.0 - p) / p sigma = sqrt(mu / p) xmin = int(mu - 4.0 * sigma) xmin = xmin < 0 ? 0 : xmin xmax = int(mu + 4.0 * sigma) xinc = ceil((xmax - xmin) / 10) xinc = xinc > 1 ? xinc : 1 ymax = 1.1 * geometric(mu - 1/p) #mode of gamma PDF used set nokey set nozeroaxis set xrange [xmin : xmax] set yrange [0 : ymax] set xlabel "k ->" set ylabel "probability density ->" set xtics xmin + 0.499, xinc, xmax set ytics 0, ymax / 10, ymax set format x "%2.0f" set format y "%3.2f" set sample (xmax - xmin) + 1 set title "geometric PDF with p = 0.4" plot geometric(x) with steps pause -1 "Hit return to continue" set title "geometric CDF with p = 0.4" set yrange [0 : 1.1] set ytics 0, 1.1 / 10.5, 1.1 plot cgeometric(x) with steps pause -1 "Hit return to continue" # Half normal PDF and CDF mu = sqrt2invpi sigma = 1.0 s = sigma*sqrt(1.0 - 2.0/pi) xmin = 0.0 xmax = mu + 4.0 * s ymax = 1.1 * halfnormal(0) #Mode of half normal PDF used set nokey set zeroaxis set xrange [xmin: xmax] set yrange [0: ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.1f" set format y "%.1f" set sample 100 set title "half normal PDF, sigma = 1.0" plot halfnormal(x) pause -1 "Hit return to continue" set title "half normal CDF, sigma = 1.0" set yrange [0:1.1] plot chalfnormal(x) pause -1 "Hit return to continue" # Hypergeometric PDF and CPF nn = 75; mm = 25; n = 10 p = real(mm) / nn mu = n * p sigma = sqrt(real(nn - n) / (nn - 1.0) * n * p * (1.0 - p)) xmin = int(mu - 4.0 * sigma) xmin = xmin < 0 ? 0 : xmin xmax = int(mu + 4.0 * sigma) xinc = ceil((xmax - xmin) / 10) xinc = xinc > 1 ? xinc : 1 ymax = 1.1 * hypgeo(mu) #mode of binomial PDF used set nokey set nozeroaxis set xrange [xmin : xmax] set yrange [0 : ymax] set xlabel "k ->" set ylabel "probability density ->" set xtics xmin + 0.499, xinc, xmax set ytics 0, ymax / 10, ymax set format x "%2.0f" set format y "%3.2f" set sample (xmax - xmin) + 1 set title "hypergeometric PDF with nn = 75, mm = 25, n = 10" plot hypgeo(x) with steps pause -1 "Hit return to continue" set yrange [0 : 1.1] set ytics 0, 1.1 / 10.5, 1.1 set title "hypergeometric CDF with nn = 75, mm = 25, n = 10" plot chypgeo(x) with steps pause -1 "Hit return to continue" # Laplace PDF a = 0.0; b = 1.0 mu = a sigma = sqrt(2.0) * b xmin = mu - 4.0 * sigma xmax = mu + 4.0 * sigma ymax = 1.1 * laplace(a) #Mode of laplace PDF used set nokey set zeroaxis set xrange [xmin: xmax] set yrange [0: ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.1f" set format y "%.2f" set sample 100 set title "laplace (or double exponential) PDF with a = 0, b = 1" plot laplace(x) pause -1 "Hit return to continue" set title "laplace (or double exponential) CDF with a = 0, b = 1" set yrange [0: 1.1] plot claplace(x) pause -1 "Hit return to continue" # Logistic PDF and CDF a = 0.0; lambda = 2.0 mu = a sigma = pi / (sqrt(3.0) * lambda) xmin = mu - 4.0 * sigma xmax = mu + 4.0 * sigma ymax = 1.1 * logistic(mu) #Mode of logistic PDF used set nokey set zeroaxis set xrange [xmin: xmax] set yrange [0: ymax] set nokey set zeroaxis set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.1f" set format y "%.1f" set sample 100 set title "logistic PDF with a = 0, lambda = 2" plot logistic(x) pause -1 "Hit return to continue" set title "logistic CDF with a = 0, lambda = 2" set yrange [0: 1.1] plot clogistic(x) pause -1 "Hit return to continue" # Lognormal PDF and CDF mu = 1.0; sigma = 0.5 m = exp(mu + 0.5 * sigma**2) s = sqrt(exp(2.0 * mu + sigma**2) * (2.0 * exp(sigma) - 1.0)) xmin = m - 4.0 * s xmin = xmin < 0 ? 0 : xmin xmax = m + 4.0 * s ymax = 1.1 * lognormal(exp(mu - sigma**2)) #Mode of lognormal PDF used set nokey set zeroaxis set xrange [xmin: xmax] set yrange [0: ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.2f" set format y "%.2f" set sample 100 set title "lognormal PDF with mu = 1.0, sigma = 0.5" plot lognormal(x) pause -1 "Hit return to continue" set title "lognormal CDF with mu = 1.0, sigma = 0.5" set yrange [0: 1.1] plot clognormal(x) pause -1 "Hit return to continue" # Maxwell PDF #a = 0.1 #mu = 2.0 / sqrt(pi) / a #sigma = sqrt(3.0 - 8.0/pi) / a #xmin = mu - 4.0 * sigma #xmin = xmin < 0 ? 0 : xmin #xmax = mu + 4.0 * sigma #ymax = 1.1 * maxwell(1.0 / a) #Mode of maxwell PDF used set zeroaxis #set xrange[xmin: xmax] #set yrange[0: ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.1f" set format y "%.1f" set sample 100 set title "maxwell PDF" set key right top box plot [0:6] [0:1.4] a = 1.5, maxwell(x) title "a = 1.5", \ a = 1.0, maxwell(x) title "a = 1.0", \ a = 0.5, maxwell(x) title "a = 0.5" pause -1 "Hit return to continue" set title "maxwell CDF" set key right bottom box plot [0:6] [0:1.1] a = 1.5, cmaxwell(x) title "a = 1.5", \ a = 1.0, cmaxwell(x) title "a = 1.0", \ a = 0.5, cmaxwell(x) title "a = 0.5" pause -1 "Hit return to continue" # Negative binomial PDF and CDF r = 8; p = 0.4 mu = r * (1.0 - p) / p sigma = sqrt(mu / p) xmin = int(mu - 4.0 * sigma) xmin = xmin < 0 ? 0 : xmin xmax = int(mu + 4.0 * sigma) xinc = ceil((xmax - xmin) / 10) xinc = xinc > 1 ? xinc : 1 ymax = 1.1 * negbin(mu - 1.0/p) #mode of gamma PDF used set nokey set nozeroaxis set xrange [xmin : xmax] set yrange [0 : ymax] set xlabel "k ->" set ylabel "probability density ->" set xtics xmin + 0.499, xinc, xmax set ytics 0, ymax / 10, ymax set format x "%2.0f" set format y "%3.2f" set sample (xmax - xmin) + 1 set title "negative binomial (or pascal or polya) PDF with r = 8, p = 0.4" plot negbin(x) with steps pause -1 "Hit return to continue" set yrange [0 : 1.1] set ytics 0, 1.1 / 10.5, 1.1 set title "negative binomial (or pascal or polya) CDF with r = 8, p = 0.4" plot cnegbin(x) with steps pause -1 "Hit return to continue" # Negative exponential PDF and CDF lambda = 2.0 mu = 1.0 / lambda sigma = 1.0 / lambda xmax = mu + 4.0 * sigma ymax = lambda #No mode set nokey set zeroaxis set xrange [0: xmax] set yrange [0: ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.2f" set format y "%.1f" set sample 100 set title "negative exponential (or exponential) PDF with lambda = 2.0" plot nexp(x) pause -1 "Hit return to continue" set title "negative exponential (or exponential) CDF with lambda = 2.0" set yrange [0: 1.1] plot cnexp(x) pause -1 "Hit return to continue" # Normal PDF and CDF #mu = 0.0; sigma = 1.0 #xmin = mu - 4.0 * sigma #xmax = mu + 4.0 * sigma #ymax = 1.1 * normal(mu) #Mode of normal PDF used set zeroaxis #set xrange [xmin: xmax] #set yrange [0: ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.1f" set format y "%.1f" set sample 100 set title "normal (also called gauss or bell-curved) PDF" set key left top box plot [-4:4] [0:1] mu = 0, sigma = 1.0, normal(x) title "mu = 0, sigma = 1.0", \ mu = 2, sigma = 0.5, normal(x) title "mu = 2, sigma = 0.5", \ mu = 1, sigma = 2.0, normal(x) title "mu = 1, sigma = 2.0" pause -1 "Hit return to continue" set title "normal (also called gauss or bell-curved) CDF" set key left top box plot [-4:4] [0:1.1] mu = 0, sigma = 1.0, cnormal(x) title "mu = 0, sigma = 1.0", \ mu = 2, sigma = 0.5, cnormal(x) title "mu = 2, sigma = 0.5", \ mu = 1, sigma = 2.0, cnormal(x) title "mu = 1, sigma = 2.0" pause -1 "Hit return to continue" # Pareto PDF and CDF a = 1.0; b = 3.0 mu = a * b / (b - 1.0) sigma = a * sqrt(b) / (sqrt(b - 2.0) * (b - 1.0)) xmin = mu - 4.0 * sigma xmin = xmin < 0 ? 0 : xmin xmax = mu + 4.0 * sigma ymax = 1.1 * pareto(a) #mode of pareto PDF used set nokey set zeroaxis set xrange [xmin: xmax] set yrange [0: ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.1f" set format y "%.1f" set sample 500 set title "pareto PDF with a = 1, b = 3" plot pareto(x) pause -1 "Hit return to continue" set title "pareto CDF with a = 1, b = 3" set yrange [0: 1.1] plot cpareto(x) pause -1 "Hit return to continue" # Poisson PDF and CDF mu = 4.0 sigma = sqrt(mu) xmin = int(mu - 4.0 * sigma) xmin = xmin < 0 ? 0 : xmin xmax = int(mu + 4.0 * sigma) xinc = ceil((xmax - xmin) / 10) xinc = xinc > 1 ? xinc : 1 ymax = 1.1 * poisson(mu) #mode of poisson PDF used set nokey set nozeroaxis set xrange [xmin : xmax] set yrange [0 : ymax] set xlabel "k ->" set ylabel "probability density ->" set xtics xmin + 0.499, xinc, xmax set ytics 0, ymax / 10, ymax set format x "%2.0f" set format y "%3.2f" set sample (xmax - xmin) + 1 set title "poisson PDF with mu = 4.0" plot poisson(x) with steps pause -1 "Hit return to continue" set yrange [0 : 1.1] set ytics 0, 1.1 / 10.5, 1.1 set title "poisson CDF with mu = 4.0" plot cpoisson(x) with steps pause -1 "Hit return to continue" # Rayleigh PDF and CDF lambda = 2.0 mu = 0.5 * sqrt(pi / lambda) sigma = sqrt((1.0 - pi / 4.0) / lambda) xmax = mu + 4.0 * sigma ymax = 1.1 * rayleigh(1.0 / sqrt(2.0 * lambda)) #Mode of rayleigh PDF used set nokey set zeroaxis set xrange [0: xmax] set yrange [0: ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.2f" set format y "%.1f" set sample 100 set title "rayleigh PDF with lambda = 2.0" plot rayleigh(x) pause -1 "Hit return to continue" set title "rayleigh CDF with lambda = 2.0" set yrange [0: 1.1] plot crayleigh(x) pause -1 "Hit return to continue" # Sine PDF and CDF #a = 3.0; n = 2 #mu = a / 2.0 #sigma = sqrt(a * a / 3.0 * (1.0 - 3.0 / (2.0 * n * n * pi * pi)) - mu * mu) #xmin = 0.0 #xmax = a #ymax = 1.1 * 2.0 / a #Mode of sine PDF used set zeroaxis #set xrange [xmin: xmax] #set yrange [0: ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.2f" set format y "%.1f" set sample 100 set title "sine PDF" set key bottom outside plot [0:2] [0:1.1] a = 2.0, n = 1, sine(x) title "a = 2.0, n = 1", \ a = 2.0, n = 3, sine(x) title "a = 2.0, n = 3" pause -1 "Hit return to continue" set title "sine CDF" set key top left plot [0:2] [0:1.1] a = 2.0, n = 1, csine(x) title "a = 2.0, n = 1", \ a = 2.0, n = 3, csine(x) title "a = 2.0, n = 3" pause -1 "Hit return to continue" # t PDF and CDF df1 = 3.0 mu = 0.0 sigma = df1 > 2.0 ? sqrt(df1 / (df1 - 2.0)) : 1.0 xmin = mu - 4.0 * sigma xmax = mu + 4.0 * sigma ymax = 1.1 * t(mu) #Mode of t PDF used set nokey set zeroaxis set xrange [xmin: xmax] set yrange [0: ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.1f" set format y "%.2f" set sample 100 set title "t PDF with df1 = 3.0" plot t(x) pause -1 "Hit return to continue" set title "t CDF with df1 = 3.0" set yrange [0: 1.1] plot ct(x) pause -1 "Hit return to continue" # Thanks to efrank@upenn5.hep.upenn.edu for telling us about this # triangular PDF and CDF m = 3.0 g = 2.0 mu = m sigma = g/sqrt(6.0) xmin = m - g xmax = m + g ymax = 1.1 * triangular(m) #Mode of triangular PDF used set nokey set zeroaxis set xrange [xmin: xmax] set yrange [0: ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.1f" set format y "%.2f" set sample 100 set title "triangular PDF with m = 3.0, g = 2.0" plot triangular(x) pause -1 "Hit return to continue" set title "triangular CDF with m = 3.0, g = 2.0" set yrange [0: 1.1] plot ctriangular(x) pause -1 "Hit return to continue" # Uniform PDF and CDF a = -2.0; b= 2.0 mu = (a + b) / 2.0 sigma = (b - a) / sqrt(12.0) xmin = a xmax = b ymax = 1.1 * uniform(mu) #No mode set nokey set zeroaxis set xrange [xmin: xmax] set yrange [0: ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.2f" set format y "%.2f" set sample 100 set title "uniform PDF with a = -2.0, b = 2.0" plot uniform(x) pause -1 "Hit return to continue" set title "uniform CDF with a = -2.0, b = 2.0" set yrange [0: 1.1] plot cuniform(x) pause -1 "Hit return to continue" # Weibull PDF and CDF #lambda = 1.0; n = 1.5 #mu = lambda**(-1.0 / n) * gamma(1.0 / n) / n #sigma = sqrt(2.0 * lambda**(-2.0 / n) * gamma(2.0 / n) / n - mu * mu) #xmin = mu - 4.0 * sigma #xmin = xmin < 0 ? 0 : xmin #xmax = mu + 4.0 * sigma #Mode of weibull PDF used #ymax = 1.1 * (n > 1.0 ? weibull(((n - 1.0) / (lambda * n))**(1.0 / n)) : 2.0) set key set zeroaxis #set xrange [xmin : xmax] #set yrange [0: ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics autofreq set ytics autofreq set format x "%.2f" set format y "%.1f" set sample 100 set title "weibull PDF" plot [0:2] [0:1.5] lambda = 1, n = 0.5, weibull(x) title "lambda = 1, n = 0.5", \ lambda = 1, n = 1.0, weibull(x) title "lambda = 1, n = 1.0", \ lambda = 1, n = 2.0, weibull(x) title "lambda = 1, n = 2.0", \ lambda = 3, n = 2.0, weibull(x) title "lambda = 3, n = 2.0" pause -1 "Hit return to continue" set title "weibull CDF" plot [0:3] [0:1.2] lambda = 1, n = 0.5, cweibull(x) title "lambda = 1, n = 0.5", \ lambda = 1, n = 1.0, cweibull(x) title "lambda = 1, n = 1.0", \ lambda = 1, n = 2.0, cweibull(x) title "lambda = 1, n = 2.0", \ lambda = 3, n = 2.0, cweibull(x) title "lambda = 3, n = 2.0" reset gnuplot-3.7.3/demo/prob2.dem100644 1200 17 24034 7403155057 15055 0ustar lheckingusers# # $Id: prob2.dem,v 1.1.1.1.2.3 2025/12/04 14:14:07 lhecking Exp $ # # Demo Statistical Approximations version 1.1 # # Copyright (c) 1991, Jos van der Woude, jvdwoude@hut.nl pause 0 "" pause 0 "" pause 0 "" pause 0 "" pause 0 "" pause 0 "" pause 0 " Statistical Approximations, version 1.1" pause 0 "" pause 0 " Copyright (c) 1991, 1992, Jos van de Woude, jvdwoude@hut.nl" pause 0 "" pause 0 "" pause 0 "" pause 0 "" pause 0 "" pause 0 "" pause 0 "" pause 0 "" pause 0 "" pause 0 "" pause 0 "" pause 0 " NOTE: contains 10 plots and consequently takes some time to run" pause 0 " Press Ctrl-C to exit right now" pause 0 "" pause -1 " Press Return to start demo ..." load "stat.inc" # Binomial PDF using normal approximation n = 25; p = 0.15 mu = n * p sigma = sqrt(n * p * (1.0 - p)) xmin = floor(mu - 4.0 * sigma) xmin = xmin < 0 ? 0 : xmin xmax = ceil(mu + 4.0 * sigma) ymax = 1.1 * binom(mu) #mode of binomial PDF used xinc = ceil((xmax - xmin) / 10) xinc = xinc > 1 ? xinc : 1 set key box set nozeroaxis set xrange [xmin - 1 : xmax + 1] set yrange [0 : ymax] set xlabel "k, x ->" set ylabel "probability density ->" set xtics xmin + 0.499, ceil(sigma), xmax set ytics 0, ymax / 10.0, ymax set format x "%2.0f" set format y "%3.2f" set sample 200 set title "binomial PDF using normal approximation" set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead set arrow from mu + 0.5, normal(mu + sigma) \ to mu + 0.5 + sigma, normal(mu + sigma) nohead set label "mu" at mu + 1, ymax / 10 set label "sigma" at mu + 1 + sigma, normal(mu + sigma) plot binom(x), normal(x - 0.5) pause -1 "Hit return to continue" set noarrow set nolabel # Binomial PDF using poisson approximation n = 50; p = 0.1 mu = n * p sigma = sqrt(mu) xmin = floor(mu - 4.0 * sigma) xmin = xmin < 0 ? 0 : xmin xmax = ceil(mu + 4.0 * sigma) ymax = 1.1 * binom(mu) #mode of binomial PDF used xinc = ceil((xmax - xmin) / 10) xinc = xinc > 1 ? xinc : 1 set key box set nozeroaxis set xrange [xmin - 1 : xmax + 1] set yrange [0 : ymax] set xlabel "k ->" set ylabel "probability density ->" set xtics xmin + 0.499, ceil(sigma), xmax set ytics 0, ymax / 10.0, ymax set format x "%2.0f" set format y "%3.2f" set sample 200 set title "binomial PDF using poisson approximation" set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead set arrow from mu + 0.5, normal(mu + sigma) \ to mu + 0.5 + sigma, normal(mu + sigma) nohead set label "mu" at mu + 1, ymax / 10 set label "sigma" at mu + 1 + sigma, normal(mu + sigma) plot binom(x), poisson(x) pause -1 "Hit return to continue" set noarrow set nolabel # Geometric PDF using gamma approximation p = 0.3 mu = (1.0 - p) / p sigma = sqrt(mu / p) lambda = p rho = 1.0 - p xmin = floor(mu - 4.0 * sigma) xmin = xmin < 0 ? 0 : xmin xmax = ceil(mu + 4.0 * sigma) xinc = ceil((xmax - xmin) / 10) xinc = xinc > 1 ? xinc : 1 ymax = 1.1 * p set key box set nozeroaxis set xrange [xmin - 1 : xmax + 1] set yrange [0 : ymax] set xlabel "k, x ->" set ylabel "probability density ->" set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax set ytics 0, ymax / 10.0, ymax set format x "%2.0f" set format y "%3.2f" set sample 200 set title "geometric PDF using gamma approximation" set arrow from mu + 0.5, 0 to mu + 0.5, g(mu) nohead set arrow from mu + 0.5, g(mu + sigma) \ to mu + 0.5 + sigma, g(mu + sigma) nohead set label "mu" at mu + 1, ymax / 10 set label "sigma" at mu + 1 + sigma, g(mu + sigma) plot geometric(x), g(x - 0.5) pause -1 "Hit return to continue" set noarrow set nolabel # Geometric PDF using normal approximation p = 0.3 mu = (1.0 - p) / p sigma = sqrt(mu / p) xmin = floor(mu - 4.0 * sigma) xmin = xmin < 0 ? 0 : xmin xmax = ceil(mu + 4.0 * sigma) xinc = ceil((xmax - xmin) / 10) xinc = xinc > 1 ? xinc : 1 ymax = 1.1 * p set key box set nozeroaxis set xrange [xmin - 1 : xmax + 1] set yrange [0 : ymax] set xlabel "k, x ->" set ylabel "probability density ->" set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax set ytics 0, ymax / 10.0, ymax set format x "%2.0f" set format y "%3.2f" set sample 200 set title "geometric PDF using normal approximation" set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead set arrow from mu + 0.5, normal(mu + sigma) \ to mu + 0.5 + sigma, normal(mu + sigma) nohead set label "mu" at mu + 1, ymax / 10 set label "sigma" at mu + 1 + sigma, normal(mu + sigma) plot geometric(x), normal(x - 0.5) pause -1 "Hit return to continue" set noarrow set nolabel # Hypergeometric PDF using binomial approximation nn = 75; mm = 25; n = 10 p = real(mm) / nn mu = n * p sigma = sqrt(real(nn - n) / (nn - 1.0) * n * p * (1.0 - p)) xmin = floor(mu - 4.0 * sigma) xmin = xmin < 0 ? 0 : xmin xmax = ceil(mu + 4.0 * sigma) xinc = ceil((xmax - xmin) / 10) xinc = xinc > 1 ? xinc : 1 ymax = 1.1 * hypgeo(mu) #mode of binom PDF used set key box set nozeroaxis set xrange [xmin - 1 : xmax + 1] set yrange [0 : ymax] set xlabel "k ->" set ylabel "probability density ->" set xtics xmin, xinc, xmax set ytics 0, ymax / 10.0, ymax set format x "%2.0f" set format y "%3.2f" set sample 200 set title "hypergeometric PDF using binomial approximation" set arrow from mu + 0.5, 0 to mu + 0.5, binom(mu) nohead set arrow from mu + 0.5, binom(mu + sigma) \ to mu + 0.5 + sigma, binom(mu + sigma) nohead set label "mu" at mu + 1, ymax / 10 set label "sigma" at mu + 1 + sigma, binom(mu + sigma) plot hypgeo(x), binom(x) pause -1 "Hit return to continue" set noarrow set nolabel # Hypergeometric PDF using normal approximation nn = 75; mm = 25; n = 10 p = real(mm) / nn mu = n * p sigma = sqrt(real(nn - n) / (nn - 1.0) * n * p * (1.0 - p)) xmin = floor(mu - 4.0 * sigma) xmin = xmin < 0 ? 0 : xmin xmax = ceil(mu + 4.0 * sigma) xinc = ceil((xmax - xmin) / 10) xinc = xinc > 1 ? xinc : 1 ymax = 1.1 * hypgeo(mu) #mode of binom PDF used set key box set nozeroaxis set xrange [xmin - 1 : xmax + 1] set yrange [0 : ymax] set xlabel "k, x ->" set ylabel "probability density ->" set xtics xmin, xinc, xmax set ytics 0, ymax / 10.0, ymax set format x "%2.0f" set format y "%3.2f" set sample 200 set title "hypergeometric PDF using normal approximation" set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead set arrow from mu + 0.5, normal(mu + sigma) \ to mu + 0.5 + sigma, normal(mu + sigma) nohead set label "mu" at mu + 1, ymax / 10 set label "sigma" at mu + 1 + sigma, normal(mu + sigma) plot hypgeo(x), normal(x - 0.5) pause -1 "Hit return to continue" set noarrow set nolabel # Negative binomial PDF using gamma approximation r = 8; p = 0.6 mu = r * (1.0 - p) / p sigma = sqrt(mu / p) lambda = p rho = r * (1.0 - p) xmin = int(mu - 4.0 * sigma) xmin = xmin < 0 ? 0 : xmin xmax = int(mu + 4.0 * sigma) xinc = ceil((xmax - xmin) / 10) xinc = xinc > 1 ? xinc : 1 ymax = 1.1 * g((rho - 1) / lambda) #mode of gamma PDF used set key box set nozeroaxis set xrange [xmin - 1 : xmax + 1] set yrange [0 : ymax] set xlabel "k, x ->" set ylabel "probability density ->" set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax set ytics 0, ymax / 10.0, ymax set format x "%2.0f" set format y "%3.2f" set sample 200 set title "negative binomial PDF using gamma approximation" set arrow from mu + 0.5, 0 to mu + 0.5, g(mu) nohead set arrow from mu + 0.5, g(mu + sigma) \ to mu + 0.5 + sigma, g(mu + sigma) nohead set label "mu" at mu + 1, ymax / 10 set label "sigma" at mu + 1 + sigma, g(mu + sigma) plot negbin(x), g(x - 0.5) pause -1 "Hit return to continue" set noarrow set nolabel # Negative binomial PDF using normal approximation r = 8; p = 0.4 mu = r * (1.0 - p) / p sigma = sqrt(mu / p) xmin = floor(mu - 4.0 * sigma) xmin = xmin < 0 ? 0 : xmin xmax = ceil(mu + 4.0 * sigma) xinc = ceil((xmax - xmin) / 10) xinc = xinc > 1 ? xinc : 1 ymax = 1.1 * negbin(mu - 1/p) #mode of gamma PDF used set key box set nozeroaxis set xrange [xmin - 1 : xmax + 1] set yrange [0 : ymax] set xlabel "k, x ->" set ylabel "probability density ->" set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax set ytics 0, ymax / 10.0, ymax set format x "%2.0f" set format y "%3.2f" set sample 200 set title "negative binomial PDF using normal approximation" set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead set arrow from mu + 0.5, normal(mu + sigma) \ to mu + 0.5 + sigma, normal(mu + sigma) nohead set label "mu" at mu + 1, ymax / 10 set label "sigma" at mu + 1 + sigma, normal(mu + sigma) plot negbin(x), normal(x - 0.5) pause -1 "Hit return to continue" set noarrow set nolabel # Normal PDF using logistic approximation mu = 1.0; sigma = 1.5 a = mu lambda = pi / (sqrt(3.0) * sigma) xmin = mu - 4.0 * sigma xmax = mu + 4.0 * sigma ymax = 1.1 * logistic(mu) #mode of logistic PDF used set key box set nozeroaxis set xrange [xmin: xmax] set yrange [0 : ymax] set xlabel "x ->" set ylabel "probability density ->" set xtics xmin, (xmax - xmin)/ 10.0, xmax set ytics 0, ymax / 10.0, ymax set format x "%.1f" set format y "%.2f" set sample 200 set title "normal PDF using logistic approximation" set arrow from mu,0 to mu, normal(mu) nohead set arrow from mu, normal(mu + sigma) \ to mu + sigma, normal(mu + sigma) nohead set label "mu" at mu + 1, ymax / 10 set label "sigma" at mu + 1 + sigma, normal(mu + sigma) plot logistic(x), normal(x) pause -1 "Hit return to continue" set noarrow set nolabel # Poisson PDF using normal approximation mu = 5.0 sigma = sqrt(mu) xmin = floor(mu - 4.0 * sigma) xmin = xmin < 0 ? 0 : xmin xmax = ceil(mu + 4.0 * sigma) xinc = ceil((xmax - xmin) / 10) xinc = xinc > 1 ? xinc : 1 ymax = 1.1 * poisson(mu) #mode of poisson PDF used set key box set nozeroaxis set xrange [xmin - 1 : xmax + 1] set yrange [0 : ymax] set xlabel "k, x ->" set ylabel "probability density ->" set xtics xmin, xinc, xmax set ytics 0, ymax / 10.0, ymax set format x "%2.0f" set format y "%3.2f" set sample 200 set title "poisson PDF using normal approximation" set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead set arrow from mu + 0.5, normal(mu + sigma) \ to mu + 0.5 + sigma, normal(mu + sigma) nohead set label "mu" at mu + 1, ymax / 10 set label "sigma" at mu + 1 + sigma, normal(mu + sigma) plot poisson(x), normal(x - 0.5) reset gnuplot-3.7.3/demo/random.dem100644 1200 17 1440 7351632237 15267 0ustar lheckingusers# # $Id: random.dem,v 1.1.1.1.2.1 2025/09/18 11:48:47 lhecking Exp $ # # random.dem # # Lattice test for random numbers; # If you can see any patterns in this plot, the random number generator # is not very good. # # Copyright (c) 1991, Jos van der Woude, jvdwoude@hut.nl seed = 1317 seed = rand(seed) set nokey set xrange [0: 1] set yrange [0: 1] set zrange [0: 1] set title "Lattice test for random numbers" set xlabel "rand(n) ->" set ylabel "rand(n + 1) ->" set zlabel "rand(n + 2) ->" set format x "%3.2f" set format y "%3.2f" set format z "%3.2f" set tics set sample 1000 set function style dots set parametric plot rand(1), rand(1) pause -1 "Hit return to continue" pause 0 "3D plot ahead, one moment please ..." set sample 50 splot rand(1), rand(1), rand(1) pause -1 "Hit return to continue" gnuplot-3.7.3/demo/reflect.fnc100644 1200 17 2125 6517371350 15434 0ustar lheckingusers# # Model function for Reflectivity evaluation # mu = 1.130469005513490E-001 # (cm-1) @ 17.479 keV t0 = 0.18 # cm tb = 11.417823202820120 * 0.01745329251994 # thetaB (radians) A = mu * t0 / cos(tb) P = (1 + (cos(2.*tb))**2) / 2 Fhkl = sqrt(3.536346308456155**2 + (4.58815426260982e-4)**2) * 0.968 r0 = 2.81794092e-13 # classical electron radius lambda = 7.09338062818239e-9 # Mo K in cm V = 1.62253546981499e-23 P = (1. + (cos(2.*tb))**2) / 2. # # combine constants to avoid exponential overflow on systems with # D floating point format where exponential limits are ca. 10**(+/-38) # r0liV = r0 * lambda / V r0liV = 2.81794092*7.09338062818239/1.62253546981499e-1 # W(x) = 1./(sqrt(2.*pi)*eta) * exp( -1. * x**2 / (2.*eta**2) ) Y(tc) = tc/sin(tb) * Fhkl * r0liV f(tc)= (tanh(Y(tc)) + abs(cos(2.*tb)) * tanh(abs(Y(tc)*cos(2.*tb)))) / (Y(tc)*(1.+(cos(2.*tb))**2)) Q(tc) = (r0*Fhkl/V)**2 * (lambda**3/sin(2.*tb)) * P * f(tc) a(x) = W(x) * Q(tc) / mu # R(x) = sinh(A*a(x)) * exp(-1.*A*(1.+a(x))) gnuplot-3.7.3/demo/reread.bor100644 1200 17 65 6515203632 15222 0ustar lheckingusersbb=(bb+1)%16 set border bb show border replot reread gnuplot-3.7.3/demo/scatter.dem100644 1200 17 2464 7403152434 15455 0ustar lheckingusers# # Simple demo of scatter data conversion to grid data. # set title "Simple demo of scatter data conversion to grid data" set nohidden3d set ticslevel 0.5 set view 60,30 set autoscale set parametric set data style points set xlabel "data style point - no dgrid" set key box splot "hemisphr.dat" pause -1 "Hit return to continue (1)" set dgrid3d 10,10,1 set xlabel " data style lines, dgrid3d 10,10,1" set data style lines splot "hemisphr.dat" pause -1 "Hit return to continue (2)" set dgrid3d ,,4 set xlabel " data style lines, dgrid3d ,,4 " set data style lines splot "hemisphr.dat" pause -1 "Hit return to continue (3)" set dgrid3d ,,16 set xlabel " data style lines, dgrid3d ,,16" set data style lines splot "hemisphr.dat" pause -1 "Hit return to continue (4)" set contour set xlabel "data style lines, dgrid3d ,,16, contour" splot "hemisphr.dat" pause -1 "Hit return to continue (5)" set nodgrid3d set data style points set xlabel "data style points, nodgrid3d" splot "scatter2.dat" pause -1 "Hit return to continue (6)" set key nobox set dgrid3d ,,1 set xlabel "data style lines, dgrid3d ,,1" set data style lines splot "scatter2.dat" pause -1 "Hit return to continue (7)" set dgrid3d ,,4 set xlabel "data style lines, dgrid3d ,,4" set data style lines splot "scatter2.dat" pause -1 "Hit return to continue (8)" reset gnuplot-3.7.3/demo/scatter2.dat100644 1200 17 3465 6515203632 15544 0ustar lheckingusers25. 1.0 .99443 25. 10.0 .9406 25. 20.0 .8749 25. 30.0 .8030 25. 40.0 .7195 25. 50.0 .6190 25. 60.0 .4844 25. 70.0 .3409 25. 80.0 .3170 25. 90.0 .3273 25. 100.0 .3451 25. 110.0 .3656 25. 120.0 .3872 25. 130.0 .4096 25. 140.0 .4321 25. 150.0 .4549 25. 160.0 .4777 25. 170.0 .5005 25. 180.0 .5223 25. 190.0 .5460 25. 200.0 .5687 25. 250.0 .6798 25. 300.0 .7889 25. 350.0 .8962 25. 400.0 1.0015 25. 450.0 1.1046 25. 500.0 1.2063 25. 600.0 1.4058 25. 700.0 1.6008 25. 800.0 1.7920 50. 1.0 .99571 50. 10.0 .9546 50. 20.0 .9066 50. 30.0 .8552 50. 40.0 .8013 50. 50.0 .7436 50. 60.0 .6818 50. 70.0 .6171 50. 80.0 .5541 50. 90.0 .5017 50. 100.0 .4706 50. 110.0 .4605 50. 120.0 .4622 50. 130.0 .4711 50. 140.0 .4841 50. 150.0 .4996 50. 160.0 .5166 50. 170.0 .5346 50. 180.0 .5533 50. 190.0 .5724 50. 200.0 .5906 50. 250.0 .6898 50. 300.0 .7888 50. 350.0 .8880 50. 400.0 .9851 50. 450.0 1.0813 50. 500.0 1.1758 50. 600.0 1.3615 50. 700.0 1.5430 50. 800.0 1.7208 75. 1.0 .99661 75. 10.0 .9647 75. 20.0 .9283 75. 30.0 .8904 75. 40.0 .8518 75. 50.0 .8124 75. 60.0 .7723 75. 70.0 .7323 75. 80.0 .6934 75. 90.0 .6572 75. 100.0 .6255 75. 110.0 .6012 75. 120.0 .5847 75. 130.0 .5756 75. 140.0 .5731 75. 150.0 .5770 75. 160.0 .5839 75. 170.0 .5937 75. 180.0 .6055 75. 190.0 .6188 75. 200.0 .6333 75. 250.0 .7149 75. 300.0 .8027 75. 350.0 .8916 75. 400.0 .9802 75. 450.0 1.0684 75. 500.0 1.1560 75. 600.0 1.3293 75. 700.0 1.4995 100. 1.0 .99727 100. 10.0 .9720 100. 20.0 .9438 100. 30.0 .9153 100. 40.0 .8866 100. 50.0 .8579 100. 60.0 .8295 100. 70.0 .8017 100. 80.0 .7749 100. 90.0 .7497 100. 100.0 .7268 100. 110.0 .7074 100. 120.0 .6913 100. 130.0 .6793 100. 140.0 .6712 100. 150.0 .6668 100. 160.0 .6657 100. 170.0 .6679 100. 180.0 .6728 100. 190.0 .6801 100. 200.0 .6889 100. 250.0 .7494 100. 300.0 .8233 100. 350.0 .9027 100. 400.0 .9839 100. 450.0 1.0653 gnuplot-3.7.3/demo/silver.dat100644 1200 17 3471 6515203632 15316 0ustar lheckingusers# # $Id: silver.dat,v 1.1.1.1 2025/04/15 19:16:42 lhecking Exp $ # 10.000000 280.000000 16.733201 20.000000 191.000000 13.820275 30.000000 152.000000 12.328828 40.000000 150.000000 12.247449 50.000000 104.000000 10.198039 60.000000 77.000000 8.774964 70.000000 69.000000 8.306624 80.000000 60.000000 7.745967 90.000000 60.000000 7.745967 100.000000 51.000000 7.141428 110.000000 41.000000 6.403124 120.000000 34.000000 5.830952 130.000000 35.000000 5.916080 140.000000 34.000000 5.830952 150.000000 24.000000 4.898979 160.000000 24.000000 4.898979 170.000000 19.000000 4.358899 180.000000 21.000000 4.582576 190.000000 20.000000 4.472136 200.000000 18.000000 4.242641 210.000000 21.000000 4.582576 220.000000 15.000000 3.872983 230.000000 19.000000 4.358899 240.000000 12.000000 3.464102 250.000000 20.000000 4.472136 260.000000 20.000000 4.472136 270.000000 18.000000 4.242641 280.000000 18.000000 4.242641 290.000000 20.000000 4.472136 300.000000 12.000000 3.464102 310.000000 26.000000 5.099020 320.000000 17.000000 4.123106 330.000000 8.000000 2.828427 340.000000 6.000000 2.449490 350.000000 8.000000 2.828427 360.000000 10.000000 3.162278 370.000000 20.000000 4.472136 380.000000 14.000000 3.741657 390.000000 8.000000 2.828427 400.000000 10.000000 3.162278 410.000000 9.000000 3.000000 420.000000 8.000000 2.828427 430.000000 10.000000 3.162278 440.000000 13.000000 3.605551 450.000000 9.000000 3.000000 460.000000 5.000000 2.236068 470.000000 7.000000 2.645751 480.000000 11.000000 3.316625 500.000000 7.000000 2.645751 510.000000 9.000000 3.000000 520.000000 12.000000 3.464102 530.000000 4.000000 2.000000 540.000000 7.000000 2.645751 550.000000 10.000000 3.162278 560.000000 9.000000 3.000000 580.000000 8.000000 2.828427 590.000000 9.000000 3.000000 600.000000 5.000000 2.236068 gnuplot-3.7.3/demo/simple.dem100644 1200 17 2337 7000362404 15271 0ustar lheckingusers# # $Id: simple.dem,v 1.1.1.1.2.1 2025/10/11 13:24:20 lhecking Exp $ # # Requires data files "[123].dat" from this directory, # so change current working directory to this directory before running. # gnuplot> set term # gnuplot> load 'simple.dem' # set key left box set samples 50 plot [-10:10] sin(x),atan(x),cos(atan(x)) pause -1 "Hit return to continue" set key right nobox set samples 100 plot [-pi/2:pi] cos(x),-(sin(x) > sin(x+1) ? sin(x) : sin(x+1)) pause -1 "Hit return to continue" set key left box set samples 200 plot [-3:5] asin(x),acos(x) pause -1 "Hit return to continue" plot [-30:20] besj0(x)*0.12e1 with impulses, (x**besj0(x))-2.5 with points pause -1 "Hit return to continue" set samples 400 plot [-10:10] real(sin(x)**besj0(x)) pause -1 "Hit return to continue" set key outside below plot [-5*pi:5*pi] [-5:5] real(tan(x)/atan(x)), 1/x pause -1 "Hit return to continue" set key left box set autoscale set samples 800 plot [-30:20] sin(x*20)*atan(x) pause -1 "Hit return to continue" plot [-19:19] '1.dat'with impulses ,'2.dat' ,'3.dat' with lines pause -1 "Hit return to continue" f(x) = x/100 plot [-19:19] '1.dat'with impulses ,'2.dat' thru f(x) ,'3.dat' with lines pause -1 "Hit return to continue" reset gnuplot-3.7.3/demo/singulr.dem100644 1200 17 10007 6757013033 15505 0ustar lheckingusers# $Id: singulr.dem,v 1.1.1.1.2.2 2025/08/19 14:35:07 lhecking Exp $ # # Demo that plots some surfaces with singularities. # Author: Carsten Steger # # (x,y,x^2-y^2,2xy) is the graph of w=z^2 in 4-space. # Therefore (x^2-y^2,2xy,x,y) is the graph of w=sqrt(z) in 4-space. # Coordinates 1, 2, and 3 give the real part of either function, # whereas coordinates 1, 2, and 4 give the imaginary part. # The same holds for the cube function w=z^3. The graphs are given by # (x,y,x^3-3xy^2,3x^2y-y^3) and (x^3-3xy^2,3x^2y-y^3,x,y). # And so on... set parametric set hidden3d set isosamples 21 set autoscale set view 60,30 set urange [-3:3] set vrange [-3:3] set title "Real part of complex square root function" splot u**2-v**2,2*u*v,u pause -1 "Hit return to continue (1)" set view 60,210 set title "Real part of complex square root function (different view)" replot pause -1 "Hit return to continue (2)" set view 60,120 set urange [-3:3] set vrange [-3:3] set title "Imaginary part of complex square root function" splot u**2-v**2,2*u*v,v pause -1 "Hit return to continue (3)" set view 60,300 set title "Imaginary part of complex square root function (different view)" replot pause -1 "Hit return to continue (4)" set view 60,30 set urange [-3:3] set vrange [-3:3] set title "Real part of complex cube root function" splot u**3-3*u*v**2,3*u**2*v-v**3,u pause -1 "Hit return to continue (5)" set view 60,210 set title "Real part of complex cube root function (different view)" replot pause -1 "Hit return to continue (6)" set view 60,30 set urange [-3:3] set vrange [-3:3] set title "Imaginary part of complex cube root function" splot u**3-3*u*v**2,3*u**2*v-v**3,v pause -1 "Hit return to continue (7)" set view 60,210 set title "Imaginary part of complex cube root function (different view)" replot pause -1 "Hit return to continue (8)" set view 60,30 set isosamples 31 set urange [-1:1] set vrange [-1:1] set title "Real part of complex 4th root function" splot u**4-6*u**2*v**2+v**4,4*u**3*v-4*u*v**3,u pause -1 "Hit return to continue (9)" set view 60,210 set title "Real part of complex 4th root function (different view)" replot pause -1 "Hit return to continue (10)" set view 60,120 set urange [-1:1] set vrange [-1:1] set title "Imaginary part of complex 4th root function" splot u**4-6*u**2*v**2+v**4,4*u**3*v-4*u*v**3,v pause -1 "Hit return to continue (11)" set view 60,300 set title "Imaginary part of complex 4th root function (different view)" replot pause -1 "Hit return to continue (12)" set isosamples 21 set view 60,20 set urange [-3:3] set vrange [-3:3] set title "Enneper's surface" splot u-u**3/3+u*v**2,v-v**3/3+v*u**2,u**2-v**2 pause -1 "Hit return to continue (13)" set view 60,110 set title "Enneper's surface (different view)" replot pause -1 "Hit return to continue (14)" set isosamples 31,11 set view 60,30 set title "Moebius strip" set urange [0:2*pi] set vrange [-0.25:0.25] splot (2-v*sin(u/2))*sin(u),(2-v*sin(u/2))*cos(u),v*cos(u/2) pause -1 "Hit return to continue (15)" set view 60,210 set title "Moebius strip (view from opposite side)" replot pause -1 "Hit return to continue (16)" set nokey set xrange [-10:10] set yrange [-10:10] set zrange [-3:3] set urange [0:2*pi] set vrange [0:2*pi] set isosamples 39,60 set view 60,120 set title "Klein bottle" splot (2*sin(u)*cos(v/2)-sin(2*u)*sin(v/2)+8)*cos(v), \ (2*sin(u)*cos(v/2)-sin(2*u)*sin(v/2)+8)*sin(v), \ 2*sin(u)*sin(v/2)+sin(2*u)*cos(v/2) pause -1 "Hit return to continue (17)" set urange [0:2*pi] set vrange [0:4*pi/3] set isosamples 39,40 set view 60,20 set title "Klein bottle with look at the 'inside'" replot pause -1 "Hit return to continue (18)" set data style lines set xrange [-12:12] set yrange [-12:12] set zrange [*:*] set nohidden3d set ticslevel 0. set view 50,15 #HBB: ,1,1.7 set title "Klein bottle, glassblowers' version (look-through)" splot "klein.dat" pause -1 "Hit return to continue (19)" set hidden3d set view 70,305 set title "Klein bottle, glassblowers' version (solid)" splot "klein.dat" pause -1 "Hit return to continue (20)" reset gnuplot-3.7.3/demo/sound.par100644 1200 17 242 6515203632 15125 0ustar lheckingusers# # Start parameters for the sound velocity fit # # HBB 970522: factored out 1e9 from c??, see hexa.fnc for details c33 = 9 c11 = 6 c44 = 1 c13 = 4 phi0 = 20.0 gnuplot-3.7.3/demo/sound2.par100644 1200 17 274 6515203632 15214 0ustar lheckingusers# # Start parameters for the sound velocity fit # # HBB 970522: factored out 1e9 from c??, see hexa.fnc for details c33 = 9 c11 = 6 c44 = 1 # FIXED c13 = 4 # FIXED phi0 = 0.0001 gnuplot-3.7.3/demo/soundvel.dat100644 1200 17 7174 6515203632 15655 0ustar lheckingusers# # sound velocity of a fibersymmetric (hexagonal) sample as a function # of sound propagation direction # # transverse sound velocity -10.3984 901.543694 -7.9189 870.020424 -5.4692 853.260158 -3.0045 839.23203 -.53495 834.750014 1.93463 840.410742 4.4141 851.117376 6.88863 863.944964 9.3582 880.872578 11.80798 911.959288 14.28746 950.48207 16.76198 985.130382 19.23156 1017.133868 21.68134 1046.347008 24.16081 1079.445532 -67.08385 1277.516442 -62.13925 1359.931694 -59.67809 1375.789736 -57.19268 1404.580868 -54.73696 1415.251122 -52.25847 1419.318406 -49.81513 1415.531248 -47.33664 1399.891486 -44.87053 1383.527762 -42.38858 1361.550604 -39.92593 1334.389296 -37.45339 1297.594564 -35.08426 1261.600192 -32.60975 1234.10055 -27.67555 1123.552644 -25.19112 1076.742498 -22.72649 1022.579954 -20.27671 1012.579092 -17.80219 991.333172 -15.33261 962.007254 -12.87293 929.789126 -10.39841 901.543694 # longitudinal sound velocity -133.71985 2698.424654 -128.79065 2609.981236 -123.85056 2513.054002 -118.90388 2454.88602 -113.9974 2379.808614 -109.04686 2346.520914 -104.10671 2335.50505 -99.16558 2325.387772 -99.2388 2330.841134 -89.31301 2323.146764 -84.3308 2326.442792 -79.42778 2324.561946 -74.48318 2330.200846 -69.53511 2341.886102 -64.62269 2358.420812 -54.74389 2547.760522 -49.81661 2664.427544 -54.74339 2544.79919 -49.8176 2663.990984 -44.87399 2771.99229 -39.92742 2903.862514 -35.08922 3017.277164 -30.13522 3177.443752 -25.20102 3243.044168 -20.27671 3309.503152 -15.34251 3430.23382 -10.39346 3491.563224 -5.47905 3527.797704 -.53495 3521.722244 4.424 3534.156928 9.3582 3502.026112 14.28746 3417.220694 19.23156 3326.430766 24.16577 3333.437554 29.08512 3154.669872 34.01933 2985.273678 58.6854 2537.464982 63.54537 2398.56978 68.48947 2360.465368 73.38903 2342.3263 78.34303 2338.204446 78.35293 2346.833782 83.28218 2353.800552 88.20649 2341.154864 93.15554 2347.070252 98.09469 2346.444516 103.019 2340.88929 107.94825 2370.928256 112.89236 2390.467954 117.84141 2423.224506 122.75087 2518.838422 127.69002 2626.152146 132.61927 2744.772774 137.54358 2872.190086 142.48768 3009.13532 147.43178 3129.091094 162.14531 3419.24706 167.05972 3540.199646 171.99887 3560.295958 176.94793 3557.676598 181.85244 3580.741518 186.78664 3539.606652 191.72579 3500.814658 196.63525 3452.109114 201.5843 3398.699636 206.51851 3289.159456 19.22166 3371.840282 24.17566 3323.469434 29.09997 3210.200304 34.02922 3116.194384 38.97828 2930.456294 43.89763 2813.53825 48.84174 2648.162046 53.78584 2577.766746 58.6854 2454.547686 63.54537 2416.326858 68.49442 2381.845894 73.40883 2355.983352 78.34303 2355.40491 80.8225 2347.830594 83.29703 2346.975664 85.75176 2353.211196 88.21639 2346.262616 90.68102 2353.909692 93.16544 2352.414474 95.62017 2353.942434 98.08974 2350.424488 100.56922 2357.947872 103.019 2367.624952 105.48856 2357.66047 107.93836 2374.264302 110.42773 2385.658518 112.89236 2390.98455 115.36688 2408.214118 117.83646 2443.0989 120.27634 2480.111912 122.75087 2537.221236 125.22539 2588.742592 127.68507 2612.185864 130.16949 2676.734898 132.62422 2752.696338 135.0839 2801.907564 137.54853 2889.768902 140.02306 2935.636806 142.48768 3018.062972 144.96221 3124.80553 147.42684 3171.179116 149.87662 3225.392592 157.26555 3344.591662 159.73513 3395.323572 162.15026 3421.142458 167.06467 3522.286134 gnuplot-3.7.3/demo/spline.dem100644 1200 17 5146 7000362371 15276 0ustar lheckingusers# # $Id: spline.dem,v 1.1.1.1.2.1 2025/10/11 13:24:09 lhecking Exp $ # # Some curve plotting using common cubic polynomial basis function for cagd. # # Gershon Elber, Aug. 1992 # set xrang [0:1] set grid set key box set yrange[-0.2:1.4] m0(x) = 1 m1(x) = x m2(x) = x**2 m3(x) = x**3 set title "The cubic Monomial basis functions" plot m0(x), m1(x), m2(x), m3(x) pause -1 "Press return to continue" h00(x) = x**2 * ( 2 * x - 3) + 1 h01(x) = -x**2 * (2 * x - 3) h10(x) = x * (x - 1)**2 h11(x) = x**2 * (x - 1) set title "The cubic Hermite basis functions" plot h00(x), h01(x), h10(x), h11(x) pause -1 "Press return to continue" bez0(x) = (1 - x)**3 bez1(x) = 3 * (1 - x)**2 * x bez2(x) = 3 * (1 - x) * x**2 bez3(x) = x**3 set title "The cubic Bezier basis functions" plot bez0(x), bez1(x), bez2(x), bez3(x) pause -1 "Press return to continue" bsp0(x) = ( 1 - 3 * x + 3 * x**2 - x**3 ) / 6; bsp1(x) = ( 4 - 6 * x**2 + 3 * x**3 ) / 6; bsp2(x) = ( 1 + 3 * x + 3 * x**2 - 3 * x**3 ) / 6 bsp3(x) = x**3 / 6 set title "The cubic uniform Bspline basis functions" plot bsp0(x), bsp1(x), bsp2(x), bsp3(x) pause -1 "Press return to continue" y0 = 1 y1 = 0.2 y2 = 0.8 y3 = 0 x0 = 0 x1 = 0.33 x2 = 0.66 x3 = 1 xv0 = -0.3 yv0 = 0.5 xv1 = -0.4 yv1 = 0.2 set arrow from x0,y0 to x1,y1 nohead set arrow from x1,y1 to x2,y2 nohead set arrow from x2,y2 to x3,y3 nohead cub_bezier_x(t) = bez0(t) * x0 + bez1(t) * x1 + bez2(t) * x2 + bez3(t) * x3 cub_bezier_y(t) = bez0(t) * y0 + bez1(t) * y1 + bez2(t) * y2 + bez3(t) * y3 cub_bsplin_x(t) = bsp0(t) * x0 + bsp1(t) * x1 + bsp2(t) * x2 + bsp3(t) * x3 cub_bsplin_y(t) = bsp0(t) * y0 + bsp1(t) * y1 + bsp2(t) * y2 + bsp3(t) * y3 set parametric set trange [0:1] set title "The cubic Bezier/Bspline basis functions in use" plot cub_bezier_x(t), cub_bezier_y(t) with lines 2,\ cub_bsplin_x(t), cub_bsplin_y(t) with lines 3 pause -1 "Press return to continue" set noarrow # # Note the arrows here, scaled by 1/3 so they will fit into plotting area # set arrow from x1,y1 to x1+xv0/3,y1+yv0/3 set arrow from x2,y2 to x2+xv1/3,y2+yv1/3 set arrow from x1,y1 to x1+xv0,y1+yv0 set arrow from x2,y2 to x2+xv1,y2+yv1 cub_hermit_x1(t) = h00(t) * x1 + h01(t) * x2 + h10(t) * xv0 + h11(t) * xv1 cub_hermit_y1(t) = h00(t) * y1 + h01(t) * y2 + h10(t) * yv0 + h11(t) * yv1 cub_hermit_x2(t) = h00(t) * x1 + h01(t) * x2 + h10(t) * xv0*3 + h11(t) * xv1*3 cub_hermit_y2(t) = h00(t) * y1 + h01(t) * y2 + h10(t) * yv0*3 + h11(t) * yv1*3 set title "The cubic Hermite basis functions in use" plot cub_hermit_x1(t), cub_hermit_y1(t) with lines 2,\ cub_hermit_x2(t), cub_hermit_y2(t) with lines 3 pause -1 "Press return to continue" reset gnuplot-3.7.3/demo/start.par100644 1200 17 405 6515203633 15134 0ustar lheckingusers# # Start parameters for the fit of lcdemo.dat using density(x) # ml = -0.0005 mh = -0.0005 dens_Tc = 1.02 Tc = 45.0 g = 1.0 b = 0.01002 gnuplot-3.7.3/demo/stat.inc100644 1200 17 14216 7351632237 15013 0ustar lheckingusers# # $Id: stat.inc,v 1.1.1.2.2.1 2025/09/18 11:48:47 lhecking Exp $ # # Library of Statistical Functions version 3.0 # # Copyright (c) 1991, 1992 Jos van der Woude, jvdwoude@hut.nl # If you don't have the gamma() and/or lgamma() functions in your library, # you can use the following recursive definitions. They are correct for all # values i / 2 with i = 1, 2, 3, ... This is sufficient for most statistical # needs. #logsqrtpi = log(sqrt(pi)) #lgamma(x) = (x<=0.5)?logsqrtpi:((x==1)?0:log(x-1)+lgamma(x-1)) #gamma(x) = exp(lgamma(x)) # If you have the lgamma() function compiled into gnuplot, you can use # alternate definitions for some PDFs. For larger arguments this will result # in more efficient evalution. Just uncomment the definitions containing the # string `lgamma', while at the same time commenting out the originals. # NOTE: In these cases the recursive definition for lgamma() is NOT sufficient! # Some PDFs have alternate definitions of a recursive nature. I suppose these # are not really very efficient, but I find them aesthetically pleasing to the # brain. # Define useful constants fourinvsqrtpi=4.0/sqrt(pi) invpi=1.0/pi invsqrt2pi=1.0/sqrt(2.0*pi) log2=log(2.0) sqrt2=sqrt(2.0) sqrt2invpi=sqrt(2.0/pi) twopi=2.0*pi # define variables plus default values used as parameters in PDFs # some are integers, others MUST be reals a=1.0 alpha=0.5 b=2.0 df1=1 df2=1 g=1.0 lambda=1.0 m=0.0 mm=1 mu=0.0 nn=2 n=2 p=0.5 q=0.5 r=1 rho=1.0 sigma=1.0 u=1.0 # #define 1.0/Beta function # Binv(p,q)=exp(lgamma(p+q)-lgamma(p)-lgamma(q)) # #define Probability Density Functions (PDFs) # # NOTE: # The discrete PDFs are calulated for all real values, using the int() # function to truncate to integers. This is a monumental waste of processing # power, but I see no other easy solution. If anyone has any smart ideas # about this, I would like to know. Setting the sample size to a larger value # makes the discrete PDFs look better, but takes even more time. # Arcsin PDF arcsin(x)=invpi/sqrt(r*r-x*x) # Beta PDF beta(x)=Binv(p,q)*x**(p-1.0)*(1.0-x)**(q-1.0) # Binomial PDF #binom(x)=n!/(n-int(x))!/int(x)!*p**int(x)*(1.0-p)**(n-int(x)) bin_s(x)=n!/(n-int(x))!/int(x)!*p**int(x)*(1.0-p)**(n-int(x)) bin_l(x)=exp(lgamma(n+1)-lgamma(n-int(x)+1)-lgamma(int(x)+1)\ +int(x)*log(p)+(n-int(x))*log(1.0-p)) binom(x)=(n<20)?bin_s(x):bin_l(x) # Cauchy PDF cauchy(x)=b/(pi*(b*b+(x-a)**2)) # Chi-square PDF #chi(x)=x**(0.5*df1-1.0)*exp(-0.5*x)/gamma(0.5*df1)/2**(0.5*df1) chi(x)=exp((0.5*df1-1.0)*log(x)-0.5*x-lgamma(0.5*df1)-df1*0.5*log2) # Erlang PDF erlang(x)=lambda**n/(n-1)!*x**(n-1)*exp(-lambda*x) # Extreme (Gumbel extreme value) PDF extreme(x)=alpha*(exp(-alpha*(x-u)-exp(-alpha*(x-u)))) # F PDF f(x)=Binv(0.5*df1,0.5*df2)*(df1/df2)**(0.5*df1)*x**(0.5*df1-1.0)/\ (1.0+df1/df2*x)**(0.5*(df1+df2)) # Gamma PDF #g(x)=lambda**rho*x**(rho-1.0)*exp(-lambda*x)/gamma(rho) g(x)=exp(rho*log(lambda)+(rho-1.0)*log(x)-lgamma(rho)-lambda*x) # Geometric PDF #geometric(x)=p*(1.0-p)**int(x) geometric(x)=exp(log(p)+int(x)*log(1.0-p)) # Half normal PDF halfnormal(x)=sqrt2invpi/sigma*exp(-0.5*(x/sigma)**2) # Hypergeometric PDF hypgeo(x)=(int(x)>mm||int(x)mu)?0.5:-0.5)*igamma(0.5,0.5*((x-mu)/sigma)**2) # Pareto CDF cpareto(x)=x100 ? 1:mand(z*z+a,a,n-1)+1 splot [-2:1][-1.5:1.5] mand({0,0},compl(x,y),30) pause -1 "Hit return to continue (21)" reset gnuplot-3.7.3/demo/surface2.dem100644 1200 17 3734 7403154745 15532 0ustar lheckingusers# # $Id: surface2.dem,v 1.2.2.3 2025/12/04 14:12:53 lhecking Exp $ # set parametric set isosamples 50,10 set hidden set key below set title "Parametric Sphere" set urange [-pi/2:pi/2] set vrange [0:2*pi] set ztics nomirror -1.0,0.25,1.0 set view 45,50 splot cos(u)*cos(v),cos(u)*sin(v),sin(u) pause -1 "Hit return to continue (1)" set view ,,,0.7 set title "Parametric Sphere, crunched z axis" replot pause -1 "Hit return to continue (2)" set view ,,,1.4 set title "Parametric Sphere, enlarged z axis" replot pause -1 "Hit return to continue (3)" set view ,,,1.0 set title "Parametric Torus" set urange [0:2*pi] set vrange [0:2*pi] set zrange [-1:1] # imitate old 'set view' hack splot (1-0.2*cos(v))*cos(u),(1-0.2*cos(v))*sin(u),0.2*sin(v) pause -1 "Hit return to continue (4)" set title "Parametric Hexagon" set urange [-1.3:1.3] set vrange [0:2*pi] set autoscale z set ticslevel 0. # reserve more space z direction. set view ,,0.7,1.4 # crunch xyz, and re-extend z back to full size set ztics autofreq splot cos(v)**3*cos(u)**3,sin(v)**3*cos(u)**3,sin(u)**3 pause -1 "Hit return to continue (5)" set view ,,1.,1. set title "Parametric Helix" set isosamples 100,20 set urange [0:10*pi] set vrange [0:2*pi] set autoscale z splot (1-0.1*cos(v))*cos(u),(1-0.1*cos(v))*sin(u),0.1*(sin(v)+u/1.7-10) pause -1 "Hit return to continue (6)" set title "Parametric Shell (clipped to limited z range)" set isosamples 40,20 set view 50,30,1.0 set urange [0:2*pi] set vrange [0:2*pi] set zrange [-3:1.5] splot cos(u)*u*(1+cos(v)/2),sin(v)*u/2,sin(u)*u*(1+cos(v)/2) pause -1 "Hit return to continue (7)" set autoscale z set title "Parametric Shell (automatic z range)" replot pause -1 "Hit return to continue (8)" set title "Interlocking Tori" set urange [-pi:pi] set vrange [-pi:pi] set isosamples 50,20 splot cos(u)+.5*cos(u)*cos(v),sin(u)+.5*sin(u)*cos(v),.5*sin(v) with lines, \ 1+cos(u)+.5*cos(u)*cos(v),.5*sin(v),sin(u)+.5*sin(u)*cos(v) with lines pause -1 "Hit return to continue (9)" reset gnuplot-3.7.3/demo/timedat.dat100644 1200 17 1150 6515203633 15432 0ustar lheckingusers01/06/93 0000 0.20 0.175 3.07 2.62 0 25 0.24 7.5 70.8 16.9 0.328 9.94 23.74 6.74 8.34 5.96 4.69 0 0.164 0.021 0 0 8.62 22.8 17/08/93 0900 0.20 0.175 3.07 2.62 0 25 0.24 7.5 70.8 16.9 0.328 9.94 23.74 6.74 8.34 5.96 4.69 0 0.164 0.021 0 0 8.62 22.8 04/10/93 1300 0.28 0.18 6.05 4.92 0 0 106 0.24 7.2 53.7 20.8 0.12 6.45 27.55 6.37 8.94 7.46 0.499 0 0 0 0.035 0 0.772 6.39 11/10/93 1300 0.53 0.38 11.0 8.86 0 0 535 0.24 6.8 29.9 25 0.152 7.90 29.16 7.00 6.50 5.56 1.86 0 0.015 0 0.041 0 3.11 10.5 28/10/93 1000 0.17 0.05 6.65 5.55 52 0.22 7.3 41.5 18.7 0 5.57 24.81 6.93 9.33 6.70 2.31 0 0.019 0 0.033 0 3.86 12.3 gnuplot-3.7.3/demo/timedat.dem100644 1200 17 742 7403151644 15416 0ustar lheckingusersset title "Fsteps plot\nwith date and time as x-values" set data style fsteps set xlabel "Date\nTime" set timefmt "%d/%m/%y\t%H%M" set yrange [ 0 : ] set xdata time set xrange [ "1/6/93":"1/11/93" ] set ylabel "Concentration\nmg/l" set format x "%d/%m\n%H:%M" set grid set key left plot 'timedat.dat' using 1:3 t '' \ , 'timedat.dat' using 1:3 t 'Total P' with points \ , 'timedat.dat' using 1:4 t '' \ , 'timedat.dat' using 1:4 t 'PO4' with points pause -1 'Test ' reset gnuplot-3.7.3/demo/using.dat100644 1200 17 13004 6515203633 15151 0ustar lheckingusers# # $Id: using.dat,v 1.1.1.1 2025/04/15 19:16:43 lhecking Exp $ # # 891101 00 1.00 14 8.6 94.0 891101 01 1.04 10 17.5 94.4 891101 02 1.08 9 9.7 97.1 891101 03 1.13 9 10.1 94.3 891101 04 1.17 9 5.7 98.3 891101 05 1.21 8 8.1 99.7 891101 06 1.25 7 3.2 99.6 891101 07 1.29 6 2.5 99.8 891101 08 1.33 20 2.3 99.4 891101 09 1.38 30 3.5 96.1 891101 10 1.42 37 7.7 96.4 891101 11 1.46 36 9.8 97.4 891101 12 1.50 30 8.8 97.4 891101 13 1.54 32 9.1 96.5 891101 14 1.58 37 6.3 97.0 891101 15 1.63 35 6.1 97.3 891101 16 1.67 41 8.6 97.2 891101 17 1.71 28 7.6 97.3 891101 18 1.75 16 4.3 97.6 891101 19 1.79 21 4.2 97.5 891101 20 1.83 20 5.6 96.9 891101 21 1.88 24 6.6 96.2 891101 22 1.92 19 5.8 97.1 891101 23 1.96 16 7.4 97.1 891102 00 2.00 13 7.4 96.4 891102 01 2.04 8 6.6 95.6 891102 02 2.08 6 7.4 94.1 891102 03 2.13 6 6.4 95.9 891102 04 2.17 7 6.4 95.5 891102 05 2.21 6 6.7 95.5 891102 06 2.25 6 6.3 94.6 891102 07 2.29 7 6.5 93.1 891102 08 2.33 15 6.5 92.8 891102 09 2.38 22 7.2 93.2 891102 10 2.42 31 9.1 93.9 891102 11 2.46 37 11.0 95.6 891102 12 2.50 40 9.8 98.7 891102 13 2.54 45 9.5 97.3 891102 14 2.58 46 11.4 98.5 891102 15 2.63 46 11.9 99.1 891102 16 2.67 43 13.0 98.8 891102 17 2.71 28 14.5 99.1 891102 18 2.75 25 13.4 99.1 891102 19 2.79 24 9.9 99.7 891102 20 2.83 25 8.1 99.5 891102 21 2.88 24 10.3 99.4 891102 22 2.92 24 12.0 98.7 891102 23 2.96 23 18.2 98.7 891103 00 3.00 20 16.8 99.0 891103 01 3.04 16 14.8 99.2 891103 02 3.08 17 15.5 98.0 891103 03 3.13 17 14.4 99.4 891103 04 3.17 16 14.4 99.4 891103 05 3.21 14 11.3 99.4 891103 06 3.25 13 8.0 99.7 891103 07 3.29 13 6.1 99.9 891103 08 3.33 18 6.4 99.8 891103 09 3.38 31 6.5 98.9 891103 10 3.42 39 7.5 99.0 891103 11 3.46 37 9.1 98.8 891103 12 3.50 33 9.0 99.2 891103 13 3.54 40 10.4 98.7 891103 14 3.58 45 12.9 98.3 891103 15 3.63 45 13.8 98.5 891103 16 3.67 37 16.1 98.9 891103 17 3.71 29 16.0 99.3 57 891103 18 3.75 21 17.4 97.9 55 891103 19 3.79 14 14.6 97.7 891103 20 3.83 11 14.3 97.8 57 891103 21 3.88 15 14.7 96.2 59 891103 22 3.92 10 12.8 95.1 57 891103 23 3.96 8 10.2 97.6 891104 00 4.00 6 7.3 98.6 891104 01 4.04 4 4.7 99.8 891104 02 4.08 3 3.4 98.0 891104 03 4.13 4 2.9 99.6 891104 04 4.17 4 2.1 99.8 891104 05 4.21 4 11.7 99.9 891104 06 4.25 4 4.5 99.9 891104 07 4.29 4 1.6 88.4 891104 08 4.33 4 1.3 65.2 891104 09 4.38 7 1.4 71.4 891104 10 4.42 9 1.3 70.7 891104 11 4.46 14 8.1 99.5 891104 12 4.50 12 4.2 75.3 891104 13 4.54 18 10.9 95.3 891104 14 4.58 16 7.1 87.6 891104 15 4.63 18 3.3 98.9 891104 16 4.67 15 3.4 99.6 891104 17 4.71 8 2.4 99.9 891104 18 4.75 8 2.2 99.8 891104 19 4.79 11 2.2 99.7 891104 20 4.83 14 2.3 99.7 891104 21 4.88 13 2.5 99.7 891104 22 4.92 10 3.1 99.8 891104 23 4.96 12 4.5 99.7 891105 00 5.00 9 4.8 99.7 891105 01 5.04 8 4.9 99.8 891105 02 5.08 5 5.7 97.5 891105 03 5.13 5 5.2 97.6 891105 04 5.17 4 3.3 85.9 891105 05 5.21 5 1.2 71.4 891105 06 5.25 5 1.1 61.8 891105 07 5.29 5 1.0 71.8 891105 08 5.33 5 1.0 55.7 891105 09 5.38 6 1.0 62.2 891105 10 5.42 7 1.1 61.9 891105 11 5.46 9 1.4 65.6 891105 12 5.50 14 2.8 99.6 891105 13 5.54 16 2.1 94.0 891105 14 5.58 16 2.2 85.1 891105 15 5.63 17 2.5 99.7 891105 16 5.67 19 2.2 90.8 891105 17 5.71 16 1.5 61.3 891105 18 5.75 12 1.6 71.8 891105 19 5.79 16 2.8 98.3 891105 20 5.83 17 3.3 88.8 891105 21 5.88 18 1.3 56.5 891105 22 5.92 20 0.9 38.8 891105 23 5.96 12 1.1 50.8 891106 00 6.00 10 2.2 68.4 891106 01 6.04 8 1.2 54.4 891106 02 6.08 8 1.6 58.4 891106 03 6.13 7 1.1 52.2 891106 04 6.17 6 1.1 56.4 891106 05 6.21 6 1.2 55.7 891106 06 6.25 6 1.0 46.2 891106 07 6.29 7 0.5 7.2 891106 08 6.33 17 0.7 13.8 891106 09 6.38 31 1.1 41.5 891106 10 6.42 37 1.5 52.7 891106 11 6.46 36 3.1 83.7 891106 12 6.50 29 2.0 70.0 891106 13 6.54 28 1.6 71.4 891106 14 6.58 38 3.1 99.1 891106 15 6.63 39 5.6 98.2 891106 16 6.67 43 5.7 98.7 59 891106 17 6.71 27 5.7 99.4 891106 18 6.75 15 4.3 99.8 891106 19 6.79 17 4.1 99.7 891106 20 6.83 20 2.9 99.3 891106 21 6.88 16 3.1 96.3 891106 22 6.92 16 2.8 86.1 891106 23 6.96 16 3.3 96.5 891107 00 7.00 12 3.2 98.2 891107 01 7.04 12 1.6 77.7 891107 02 7.08 10 3.0 98.7 891107 03 7.13 8 1.7 71.1 891107 04 7.17 8 2.8 81.4 891107 05 7.21 8 5.4 92.4 891107 06 7.25 9 5.3 87.7 891107 07 7.29 11 5.6 94.0 891107 08 7.33 15 2.0 74.0 891107 09 7.38 25 2.7 84.3 891107 10 7.42 32 3.0 92.9 891107 11 7.46 41 5.5 97.4 891107 12 7.50 39 6.5 97.5 891107 13 7.54 31 4.4 95.9 891107 14 7.58 35 7.3 98.6 891107 15 7.63 37 8.3 96.3 891107 16 7.67 34 9.2 97.6 891107 17 7.71 20 7.5 99.3 891107 18 7.75 14 7.1 99.5 891107 19 7.79 15 7.1 99.7 891107 20 7.83 16 4.9 99.7 891107 21 7.88 18 4.3 99.7 891107 22 7.92 15 3.1 99.7 891107 23 7.96 11 3.3 99.6 gnuplot-3.7.3/demo/using.dem100644 1200 17 1414 7403154745 15136 0ustar lheckingusers# # $Id: using.dem,v 1.2.2.2 2025/12/04 14:12:53 lhecking Exp $ # # Requires data file "using.dat" from this directory, # so change current working directory to this directory before running. # set title "Convex November 1-7 1989 Circadian" set key left box set xrange[-1:24] plot 'using.dat' using 2:4 title "Logged in" with impulses,\ 'using.dat' using 2:4 title "Logged in" with points pause -1 "Hit return to continue" set xrange [1:8] #set xdtic set title "Convex November 1-7 1989" set key below set label "(Weekend)" at 5,25 center plot 'using.dat' using 3:4 title "Logged in" with impulses,\ 'using.dat' using 3:5 t "Load average" with points,\ 'using.dat' using 3:6 t "%CPU used" with lines set nolabel pause -1 "Hit return to continue" reset gnuplot-3.7.3/demo/vector.dem100644 1200 17 5072 6515203633 15311 0ustar lheckingusers# # This file demonstrates new features in gnuplot 3.6 # -1- saving contour lines as a gnuplottable file # -2- plotting a vector field on the same graph # -3- manipulating columns using the '$1,$2' syntax. # the example is taken here from Physics is the display of equipotential # lines and electrostatic field for a dipole (+q,-q) print "\n This file demonstrates new features in gnuplot 3.6" print " -1- saving contour lines as a gnuplottable file" print " -2- plotting a vector field on the same graph" print " -3- manipulating columns using the '$1,$2' syntax." print " the example is taken here from Physics is the display of equipotential" print " lines and electrostatic field for a dipole (+q,-q)" print "\n Please note that this demo runs only on x11 term, because" print " It needs to change term to table and then back to screen," print " and gnuplot currently has no way of saving current terminal." pause -1 " to continue" # r(x,y)=sqrt(x*x+y*y) v1(x,y)= q1/(r((x-x0),y)) v2(x,y)= q2/(r((x+x0),y)) # vtot(x,y)=v1(x,y)+v2(x,y) # e1x(x,y)= q1*(x-x0)/r(x-x0,y)**3 e1y(x,y)= q1*(y)/r(x-x0,y)**3 e2x(x,y)= q2*(x+x0)/r(x+x0,y)**3 e2y(x,y)= q2*(y)/r(x+x0,y)**3 etotx(x,y)=e1x(x,y)+e2x(x,y) etoty(x,y)=e1y(x,y)+e2y(x,y) enorm(x,y)=sqrt(etotx(x,y)*etotx(x,y)+etoty(x,y)*etoty(x,y)) dx1(x,y)=coef*etotx(x,y)/enorm(x,y) dy1(x,y)=coef*etoty(x,y)/enorm(x,y) dx2(x,y)=coef*etotx(x,y) dy2(x,y)=coef*etoty(x,y) # coef=.7 x0=1. q1=1 q2=-1 xmin=-10. xmax=10. ymin=-10. ymax=10. # reset set term x11 set noautoscale set xr [xmin:xmax] set yr [ymin:ymax] set isosam 31,31 set view 0, 0, 1, 1 set nosurface set contour base set cntrparam order 4 set cntrparam linear set cntrparam levels discrete -3,-2 ,-1 ,-0.5 ,-0.2 ,-0.1 ,-0.05 ,-0.02 ,0 ,0.02 ,0.05 ,0.1 ,0.2 ,0.5 ,1 ,2 ,3 set cntrparam points 5 # set label "-q" at -1,0 center set label "+q" at 1,0 center splot vtot(x,y) w l pause -1 "Now create a file with equipotential lines to continue" set term table set out "equipo2.dat" rep set out set term x11 reset plot "equipo2.dat" w l pause 0 "Now create a x/y datafile for plotting with vectors " pause 0"and display vectors parallel to the electrostatic field" pause -1 " to continue" set isosam 31,31 set term table set out "field2xy.dat" splot vtot(x,y) w l set out set term x11 set noautoscale set xr [xmin:xmax] set yr [ymin:ymax] set isosam 31,31 plot "field2xy.dat" u 1:2:(coef*dx1($1,$2)):(coef*dy1($1,$2)) w vec, \ "equipo2.dat" w l pause -1 " to exit" gnuplot-3.7.3/demo/whale.dat100644 1200 17 270576 6515203633 15167 0ustar lheckingusers#(C) Copyright 1992 Alex Woo # Hans-Bernhard Broeker 1996: changed ordering, to make # outside/inside correctly detectable by hidden3d # Converted from PANAIR Network File #whale.net #NETWORK = DORSAL 10 4 NEW 4.32022 0.00000 0.36768 4.38578 0.00000 0.39855 4.45157 0.00000 0.43078 4.51276 0.00000 0.47023 4.57293 0.00000 0.51716 4.63204 0.00000 0.56553 4.69551 0.00000 0.60832 4.78457 0.00000 0.61867 4.86637 0.00000 0.59655 4.95352 0.00000 0.59879 4.32022 0.00000 0.36768 4.38618 0.00548 0.39731 4.45239 0.01043 0.42827 4.51439 0.01442 0.46603 4.57541 0.01661 0.51094 4.63550 0.01634 0.55759 4.69929 0.01389 0.59942 4.78699 0.00986 0.61163 4.86783 0.00512 0.59387 4.95352 0.00000 0.59879 4.32022 0.00000 0.36768 4.38785 0.01321 0.39207 4.45587 0.02515 0.41767 4.52124 0.03479 0.44835 4.58581 0.04007 0.48474 4.65004 0.03940 0.52419 4.71522 0.03349 0.56199 4.79720 0.02378 0.58200 4.87394 0.01235 0.58257 4.95352 0.00000 0.59879 4.32022 0.00000 0.36768 4.39136 0.02147 0.38377 4.46261 0.04298 0.39989 4.53378 0.06447 0.41599 4.60459 0.06493 0.44012 4.67604 0.06540 0.46447 4.74649 0.06587 0.48847 4.81657 0.04357 0.52581 4.88446 0.02197 0.56199 4.95352 0.00000 0.59879 4.32022 0.00000 0.36768 4.39136 -0.02147 0.38377 4.46261 -0.04298 0.39989 4.53378 -0.06447 0.41599 4.60459 -0.06493 0.44012 4.67604 -0.06540 0.46447 4.74649 -0.06587 0.48847 4.81657 -0.04357 0.52581 4.88446 -0.02197 0.56199 4.95352 0.00000 0.59879 4.32022 0.00000 0.36768 4.38785 -0.01321 0.39207 4.45587 -0.02515 0.41767 4.52124 -0.03479 0.44835 4.58581 -0.04007 0.48474 4.65004 -0.03940 0.52419 4.71522 -0.03349 0.56199 4.79720 -0.02378 0.58200 4.87394 -0.01235 0.58257 4.95352 0.00000 0.59879 4.32022 0.00000 0.36768 4.38618 -0.00548 0.39731 4.45239 -0.01043 0.42827 4.51439 -0.01442 0.46603 4.57541 -0.01661 0.51094 4.63550 -0.01634 0.55759 4.69929 -0.01389 0.59942 4.78699 -0.00986 0.61163 4.86783 -0.00512 0.59387 4.95352 0.00000 0.59879 4.32022 0.00000 0.36768 4.38578 0.00000 0.39855 4.45157 0.00000 0.43078 4.51276 0.00000 0.47023 4.57293 0.00000 0.51716 4.63204 0.00000 0.56553 4.69551 0.00000 0.60832 4.78457 0.00000 0.61867 4.86637 0.00000 0.59655 4.95352 0.00000 0.59879 #NETWORK = BODY-TOP-1 40 8 NEW 0.00000 0.00000 0.00000 0.06328 0.00000 0.06906 0.24609 0.00000 0.15852 0.49474 0.00000 0.24315 0.73666 0.00000 0.31296 0.97679 0.00000 0.35708 1.21755 0.00000 0.39318 1.44630 0.00000 0.35902 1.69182 0.00000 0.43159 1.94016 0.00000 0.43015 2.17715 0.00000 0.41867 2.39180 0.00000 0.40496 2.59034 0.00000 0.39461 2.80635 0.00000 0.38659 3.03005 0.00000 0.37933 3.24866 0.00000 0.37187 3.46182 0.00000 0.36354 3.67193 0.00000 0.35368 3.88524 0.00000 0.34465 4.10325 0.00000 0.34470 4.32022 0.00000 0.36768 4.53378 0.06447 0.41599 4.74649 0.06587 0.48847 4.95352 0.00000 0.59879 5.18109 0.00000 0.67195 5.40724 0.00000 0.73775 5.64533 0.00000 0.81438 5.91230 0.00000 0.87165 6.17511 0.00000 0.85053 6.18099 0.00000 0.84930 6.19137 0.00000 0.84708 6.24827 0.00000 0.83367 6.32143 0.00000 0.81387 6.39459 0.00000 0.79176 6.46774 0.00000 0.76775 6.54090 0.00000 0.74217 6.61406 0.00000 0.71524 6.68722 0.00000 0.68716 6.76038 0.00000 0.65811 6.83354 0.00000 0.64531 0.00000 0.00000 0.00000 0.06307 0.01063 0.06452 0.24546 0.02728 0.14894 0.49360 0.04617 0.23080 0.73557 0.06575 0.30109 0.97598 0.07743 0.34814 1.21690 0.08641 0.38618 1.44899 0.09365 0.39105 1.69133 0.09943 0.42614 1.93952 0.10366 0.42438 2.17643 0.10632 0.41227 2.39126 0.10769 0.39811 2.59021 0.10735 0.38736 2.80646 0.10571 0.37829 3.03036 0.10333 0.36979 3.24929 0.10007 0.36164 3.46285 0.09565 0.35359 3.67322 0.08959 0.34545 3.88639 0.08173 0.33929 4.10416 0.07295 0.34134 4.32212 0.06512 0.36195 4.53925 0.09015 0.40188 4.75403 0.08576 0.47075 4.96890 0.05555 0.56317 5.19649 0.05097 0.63561 5.42205 0.04615 0.70327 5.65846 0.04320 0.77923 5.91823 0.04155 0.84450 6.17511 0.03492 0.83397 6.18099 0.03503 0.83269 6.19137 0.03541 0.83044 6.24827 0.03219 0.81897 6.32143 0.02831 0.80134 6.39459 0.02463 0.78186 6.46774 0.02044 0.75899 6.54090 0.01644 0.73463 6.61406 0.01239 0.70920 6.68722 0.00815 0.68286 6.76038 0.00447 0.65800 6.83354 0.00000 0.64531 0.00000 0.00000 0.00000 0.06285 0.02147 0.05980 0.24483 0.05394 0.13920 0.49240 0.09053 0.21779 0.73412 0.12941 0.28512 0.97455 0.15405 0.33236 1.21546 0.17277 0.37069 1.44951 0.18761 0.39731 1.68984 0.19916 0.40959 1.93752 0.20725 0.40630 2.17421 0.21208 0.39250 2.38960 0.21444 0.37687 2.58979 0.21337 0.36484 2.80679 0.20931 0.35385 3.03122 0.20368 0.34330 3.25101 0.19648 0.33386 3.46570 0.18728 0.32577 3.67730 0.17529 0.31942 3.89123 0.16023 0.31677 4.10928 0.14340 0.32250 4.32799 0.12766 0.34420 4.54370 0.11662 0.39041 4.75980 0.10939 0.45720 4.98295 0.10175 0.53060 5.21017 0.09243 0.60329 5.43516 0.08319 0.67277 5.66985 0.07732 0.74872 5.92362 0.07658 0.81985 6.17511 0.06946 0.81665 6.18099 0.07026 0.81531 6.19137 0.07039 0.81294 6.24827 0.06406 0.80357 6.32143 0.05637 0.78825 6.39459 0.04890 0.77110 6.46774 0.04075 0.74992 6.54090 0.03291 0.72714 6.61406 0.02488 0.70335 6.68722 0.01652 0.67901 6.76038 0.00894 0.65789 6.83354 0.00000 0.64531 0.00000 0.00000 0.00000 0.06262 0.03285 0.05495 0.24418 0.08119 0.12921 0.49104 0.13493 0.20291 0.73192 0.19048 0.26091 0.97212 0.22881 0.30559 1.21297 0.25860 0.34388 1.44724 0.28198 0.37027 1.68728 0.29942 0.38120 1.93411 0.31067 0.37540 2.17040 0.31655 0.35868 2.38674 0.31890 0.34044 2.58908 0.31630 0.32652 2.80733 0.30862 0.31331 3.03261 0.29844 0.30050 3.25374 0.28621 0.28970 3.47023 0.27153 0.28168 3.68387 0.25346 0.27749 3.89932 0.23172 0.27908 4.11815 0.20784 0.28991 4.33751 0.18509 0.31543 4.55464 0.16774 0.36219 4.77247 0.15496 0.42743 4.99650 0.14166 0.49921 5.22303 0.12759 0.57294 5.44741 0.11403 0.64425 5.68029 0.10541 0.72076 5.92941 0.10583 0.79338 6.17511 0.10310 0.79764 6.18099 0.10340 0.79627 6.19137 0.10454 0.79386 6.24827 0.09529 0.78694 6.32143 0.08398 0.77425 6.39459 0.07266 0.75927 6.46774 0.06088 0.74046 6.54090 0.04940 0.71971 6.61406 0.03749 0.69778 6.68722 0.02514 0.67575 6.76038 0.01342 0.65778 6.83354 0.00000 0.64531 0.00000 0.00000 0.00000 0.06237 0.04176 0.04951 0.24342 0.10685 0.11742 0.48938 0.18105 0.18491 0.72947 0.25360 0.23406 0.96917 0.30481 0.27310 1.20960 0.34523 0.30770 1.44393 0.37660 0.33082 1.68342 0.39907 0.33832 1.92899 0.41231 0.32907 2.16484 0.41802 0.30924 2.38264 0.41917 0.28813 2.58807 0.41386 0.27199 2.80808 0.40112 0.25678 3.03450 0.38499 0.24228 3.25739 0.36660 0.23081 3.47619 0.34570 0.22361 3.69252 0.32139 0.22235 3.91006 0.29351 0.22900 4.13007 0.26372 0.24603 4.35013 0.23540 0.27727 4.56803 0.21302 0.32763 4.78639 0.19554 0.39470 5.01023 0.17682 0.46741 5.23577 0.15802 0.54285 5.45949 0.14007 0.61616 5.69029 0.12919 0.69395 5.93518 0.13113 0.76698 6.17511 0.13454 0.77516 6.18099 0.13555 0.77358 6.19137 0.13614 0.77079 6.24827 0.12476 0.76734 6.32143 0.11045 0.75819 6.39459 0.09574 0.74614 6.46774 0.08077 0.73050 6.54090 0.06592 0.71236 6.61406 0.05026 0.69259 6.68722 0.03401 0.67322 6.76038 0.01789 0.65768 6.83354 0.00000 0.64531 0.00000 0.00000 0.00000 0.06223 0.06184 0.04647 0.24264 0.14253 0.10546 0.48724 0.22879 0.16163 0.72640 0.31767 0.20040 0.96539 0.38306 0.23145 1.20509 0.43260 0.25918 1.43935 0.46995 0.27638 1.67805 0.49546 0.27875 1.92196 0.50912 0.26551 2.15737 0.51351 0.24276 2.37721 0.51233 0.21900 2.58675 0.50300 0.20092 2.80903 0.48386 0.18473 3.03684 0.46070 0.16992 3.26182 0.43538 0.15917 3.48332 0.40787 0.15414 3.70275 0.37745 0.15710 3.92273 0.34415 0.16996 4.14418 0.30968 0.19414 4.36520 0.27727 0.23173 4.58427 0.25110 0.28574 4.80293 0.23014 0.35582 5.02433 0.20874 0.43475 5.24865 0.18509 0.51245 5.47126 0.16341 0.58876 5.70033 0.14929 0.66707 5.94129 0.15216 0.73904 6.17511 0.16302 0.74910 6.18099 0.16460 0.74769 6.19137 0.16570 0.74519 6.24827 0.15243 0.74523 6.32143 0.13555 0.74003 6.39459 0.11799 0.73166 6.46774 0.10037 0.71997 6.54090 0.08249 0.70511 6.61406 0.06325 0.68796 6.68722 0.04303 0.67139 6.76038 0.02236 0.65757 6.83354 0.00000 0.64531 0.00000 0.00000 0.00000 0.06169 0.07473 0.03493 0.24146 0.17219 0.08731 0.48436 0.28240 0.13030 0.71976 0.40442 0.12744 0.95718 0.48293 0.14089 1.19716 0.52959 0.17397 1.43282 0.56105 0.19874 1.67133 0.58176 0.20409 1.91344 0.59328 0.18835 2.14809 0.59726 0.16030 2.37035 0.59485 0.13150 2.58512 0.58024 0.11285 2.81018 0.55343 0.09852 3.03958 0.52289 0.08569 3.26687 0.49066 0.07750 3.49134 0.45684 0.07611 3.71416 0.42086 0.08433 3.93689 0.38301 0.10400 4.16006 0.34501 0.13572 4.38211 0.30996 0.18062 4.60173 0.28184 0.24069 4.82009 0.25889 0.31549 5.04025 0.23378 0.39786 5.26310 0.20482 0.47833 5.48430 0.18026 0.55840 5.71054 0.16641 0.63972 5.94752 0.17055 0.71050 6.17511 0.18993 0.72135 6.18099 0.19106 0.71975 6.19137 0.19276 0.71694 6.24827 0.17801 0.72084 6.32143 0.15910 0.71997 6.39459 0.13957 0.71617 6.46774 0.11970 0.70896 6.54090 0.09911 0.69796 6.61406 0.07645 0.68398 6.68722 0.05216 0.67008 6.76038 0.02683 0.65746 6.83354 0.00000 0.64531 0.00000 0.00000 0.00000 0.06122 0.09261 0.02470 0.23984 0.21019 0.06234 0.48129 0.33575 0.09689 0.71772 0.45629 0.10508 0.95408 0.53834 0.10666 1.19143 0.59429 0.11238 1.42559 0.63328 0.11273 1.66221 0.65702 0.10286 1.90174 0.66696 0.08251 2.13640 0.66668 0.05639 2.36240 0.65922 0.03023 2.58325 0.63968 0.01182 2.81149 0.60674 -0.00042 3.04266 0.56980 -0.00936 3.27245 0.53141 -0.01267 3.50000 0.49203 -0.00825 3.72630 0.45145 0.00686 3.95187 0.41023 0.03418 4.17693 0.36992 0.07369 4.40026 0.33325 0.12576 4.62072 0.30372 0.19167 4.83895 0.27894 0.27116 5.05762 0.25037 0.35760 5.27843 0.21690 0.44214 5.49788 0.19144 0.52680 5.72117 0.18044 0.61124 5.95400 0.18717 0.68085 6.17511 0.21507 0.69199 6.18099 0.21673 0.69048 6.19137 0.21890 0.68781 6.24827 0.20273 0.69550 6.32143 0.18189 0.69901 6.39459 0.16060 0.69995 6.46774 0.13881 0.69758 6.54090 0.11575 0.69088 6.61406 0.08982 0.68058 6.68722 0.06133 0.66915 6.76038 0.03130 0.65735 6.83354 0.00000 0.64531 0.00000 0.00000 0.00000 0.06122 -0.09261 0.02470 0.23984 -0.21019 0.06234 0.48129 -0.33575 0.09689 0.71772 -0.45629 0.10508 0.95408 -0.53834 0.10666 1.19143 -0.59429 0.11238 1.42559 -0.63328 0.11273 1.66221 -0.65702 0.10286 1.90174 -0.66696 0.08251 2.13640 -0.66668 0.05639 2.36240 -0.65922 0.03023 2.58325 -0.63968 0.01182 2.81149 -0.60674 -0.00042 3.04266 -0.56980 -0.00936 3.27245 -0.53141 -0.01267 3.50000 -0.49203 -0.00825 3.72630 -0.45145 0.00686 3.95187 -0.41023 0.03418 4.17693 -0.36992 0.07369 4.40026 -0.33325 0.12576 4.62072 -0.30372 0.19167 4.83895 -0.27894 0.27116 5.05762 -0.25037 0.35760 5.27843 -0.21690 0.44214 5.49788 -0.19144 0.52680 5.72117 -0.18044 0.61124 5.95400 -0.18717 0.68085 6.17511 -0.21507 0.69199 6.18099 -0.21673 0.69048 6.19137 -0.21890 0.68781 6.24827 -0.20273 0.69550 6.32143 -0.18189 0.69901 6.39459 -0.16060 0.69995 6.46774 -0.13881 0.69758 6.54090 -0.11575 0.69088 6.61406 -0.08982 0.68058 6.68722 -0.06133 0.66915 6.76038 -0.03130 0.65735 6.83354 0.00000 0.64531 0.00000 0.00000 0.00000 0.06169 -0.07473 0.03493 0.24146 -0.17219 0.08731 0.48436 -0.28240 0.13030 0.71976 -0.40442 0.12744 0.95718 -0.48293 0.14089 1.19716 -0.52959 0.17397 1.43282 -0.56105 0.19874 1.67133 -0.58176 0.20409 1.91344 -0.59328 0.18835 2.14809 -0.59726 0.16030 2.37035 -0.59485 0.13150 2.58512 -0.58024 0.11285 2.81018 -0.55343 0.09852 3.03958 -0.52289 0.08569 3.26687 -0.49066 0.07750 3.49134 -0.45684 0.07611 3.71416 -0.42086 0.08433 3.93689 -0.38301 0.10400 4.16006 -0.34501 0.13572 4.38211 -0.30996 0.18062 4.60173 -0.28184 0.24069 4.82009 -0.25889 0.31549 5.04025 -0.23378 0.39786 5.26310 -0.20482 0.47833 5.48430 -0.18026 0.55840 5.71054 -0.16641 0.63972 5.94752 -0.17055 0.71050 6.17511 -0.18993 0.72135 6.18099 -0.19106 0.71975 6.19137 -0.19276 0.71694 6.24827 -0.17801 0.72084 6.32143 -0.15910 0.71997 6.39459 -0.13957 0.71617 6.46774 -0.11970 0.70896 6.54090 -0.09911 0.69796 6.61406 -0.07645 0.68398 6.68722 -0.05216 0.67008 6.76038 -0.02683 0.65746 6.83354 0.00000 0.64531 0.00000 0.00000 0.00000 0.06223 -0.06184 0.04647 0.24264 -0.14253 0.10546 0.48724 -0.22879 0.16163 0.72640 -0.31767 0.20040 0.96539 -0.38306 0.23145 1.20509 -0.43260 0.25918 1.43935 -0.46995 0.27638 1.67805 -0.49546 0.27875 1.92196 -0.50912 0.26551 2.15737 -0.51351 0.24276 2.37721 -0.51233 0.21900 2.58675 -0.50300 0.20092 2.80903 -0.48386 0.18473 3.03684 -0.46070 0.16992 3.26182 -0.43538 0.15917 3.48332 -0.40787 0.15414 3.70275 -0.37745 0.15710 3.92273 -0.34415 0.16996 4.14418 -0.30968 0.19414 4.36520 -0.27727 0.23173 4.58427 -0.25110 0.28574 4.80293 -0.23014 0.35582 5.02433 -0.20874 0.43475 5.24865 -0.18509 0.51245 5.47126 -0.16341 0.58876 5.70033 -0.14929 0.66707 5.94129 -0.15216 0.73904 6.17511 -0.16302 0.74910 6.18099 -0.16460 0.74769 6.19137 -0.16570 0.74519 6.24827 -0.15243 0.74523 6.32143 -0.13555 0.74003 6.39459 -0.11799 0.73166 6.46774 -0.10037 0.71997 6.54090 -0.08249 0.70511 6.61406 -0.06325 0.68796 6.68722 -0.04303 0.67139 6.76038 -0.02236 0.65757 6.83354 0.00000 0.64531 0.00000 0.00000 0.00000 0.06237 -0.04176 0.04951 0.24342 -0.10685 0.11742 0.48938 -0.18105 0.18491 0.72947 -0.25360 0.23406 0.96917 -0.30481 0.27310 1.20960 -0.34523 0.30770 1.44393 -0.37660 0.33082 1.68342 -0.39907 0.33832 1.92899 -0.41231 0.32907 2.16484 -0.41802 0.30924 2.38264 -0.41917 0.28813 2.58807 -0.41386 0.27199 2.80808 -0.40112 0.25678 3.03450 -0.38499 0.24228 3.25739 -0.36660 0.23081 3.47619 -0.34570 0.22361 3.69252 -0.32139 0.22235 3.91006 -0.29351 0.22900 4.13007 -0.26372 0.24603 4.35013 -0.23540 0.27727 4.56803 -0.21302 0.32763 4.78639 -0.19554 0.39470 5.01023 -0.17682 0.46741 5.23577 -0.15802 0.54285 5.45949 -0.14007 0.61616 5.69029 -0.12919 0.69395 5.93518 -0.13113 0.76698 6.17511 -0.13454 0.77516 6.18099 -0.13555 0.77358 6.19137 -0.13614 0.77079 6.24827 -0.12476 0.76734 6.32143 -0.11045 0.75819 6.39459 -0.09574 0.74614 6.46774 -0.08077 0.73050 6.54090 -0.06592 0.71236 6.61406 -0.05026 0.69259 6.68722 -0.03401 0.67322 6.76038 -0.01789 0.65768 6.83354 0.00000 0.64531 0.00000 0.00000 0.00000 0.06262 -0.03285 0.05495 0.24418 -0.08119 0.12921 0.49104 -0.13493 0.20291 0.73192 -0.19048 0.26091 0.97212 -0.22881 0.30559 1.21297 -0.25860 0.34388 1.44724 -0.28198 0.37027 1.68728 -0.29942 0.38120 1.93411 -0.31067 0.37540 2.17040 -0.31655 0.35868 2.38674 -0.31890 0.34044 2.58908 -0.31630 0.32652 2.80733 -0.30862 0.31331 3.03261 -0.29844 0.30050 3.25374 -0.28621 0.28970 3.47023 -0.27153 0.28168 3.68387 -0.25346 0.27749 3.89932 -0.23172 0.27908 4.11815 -0.20784 0.28991 4.33751 -0.18509 0.31543 4.55464 -0.16774 0.36219 4.77247 -0.15496 0.42743 4.99650 -0.14166 0.49921 5.22303 -0.12759 0.57294 5.44741 -0.11403 0.64425 5.68029 -0.10541 0.72076 5.92941 -0.10583 0.79338 6.17511 -0.10310 0.79764 6.18099 -0.10340 0.79627 6.19137 -0.10454 0.79386 6.24827 -0.09529 0.78694 6.32143 -0.08398 0.77425 6.39459 -0.07266 0.75927 6.46774 -0.06088 0.74046 6.54090 -0.04940 0.71971 6.61406 -0.03749 0.69778 6.68722 -0.02514 0.67575 6.76038 -0.01342 0.65778 6.83354 0.00000 0.64531 0.00000 0.00000 0.00000 0.06285 -0.02147 0.05980 0.24483 -0.05394 0.13920 0.49240 -0.09053 0.21779 0.73412 -0.12941 0.28512 0.97455 -0.15405 0.33236 1.21546 -0.17277 0.37069 1.44951 -0.18761 0.39731 1.68984 -0.19916 0.40959 1.93752 -0.20725 0.40630 2.17421 -0.21208 0.39250 2.38960 -0.21444 0.37687 2.58979 -0.21337 0.36484 2.80679 -0.20931 0.35385 3.03122 -0.20368 0.34330 3.25101 -0.19648 0.33386 3.46570 -0.18728 0.32577 3.67730 -0.17529 0.31942 3.89123 -0.16023 0.31677 4.10928 -0.14340 0.32250 4.32799 -0.12766 0.34420 4.54370 -0.11662 0.39041 4.75980 -0.10939 0.45720 4.98295 -0.10175 0.53060 5.21017 -0.09243 0.60329 5.43516 -0.08319 0.67277 5.66985 -0.07732 0.74872 5.92362 -0.07658 0.81985 6.17511 -0.06946 0.81665 6.18099 -0.07026 0.81531 6.19137 -0.07039 0.81294 6.24827 -0.06406 0.80357 6.32143 -0.05637 0.78825 6.39459 -0.04890 0.77110 6.46774 -0.04075 0.74992 6.54090 -0.03291 0.72714 6.61406 -0.02488 0.70335 6.68722 -0.01652 0.67901 6.76038 -0.00894 0.65789 6.83354 0.00000 0.64531 0.00000 0.00000 0.00000 0.06307 -0.01063 0.06452 0.24546 -0.02728 0.14894 0.49360 -0.04617 0.23080 0.73557 -0.06575 0.30109 0.97598 -0.07743 0.34814 1.21690 -0.08641 0.38618 1.44899 -0.09365 0.39105 1.69133 -0.09943 0.42614 1.93952 -0.10366 0.42438 2.17643 -0.10632 0.41227 2.39126 -0.10769 0.39811 2.59021 -0.10735 0.38736 2.80646 -0.10571 0.37829 3.03036 -0.10333 0.36979 3.24929 -0.10007 0.36164 3.46285 -0.09565 0.35359 3.67322 -0.08959 0.34545 3.88639 -0.08173 0.33929 4.10416 -0.07295 0.34134 4.32212 -0.06512 0.36195 4.53925 -0.09015 0.40188 4.75403 -0.08576 0.47075 4.96890 -0.05555 0.56317 5.19649 -0.05097 0.63561 5.42205 -0.04615 0.70327 5.65846 -0.04320 0.77923 5.91823 -0.04155 0.84450 6.17511 -0.03492 0.83397 6.18099 -0.03503 0.83269 6.19137 -0.03541 0.83044 6.24827 -0.03219 0.81897 6.32143 -0.02831 0.80134 6.39459 -0.02463 0.78186 6.46774 -0.02044 0.75899 6.54090 -0.01644 0.73463 6.61406 -0.01239 0.70920 6.68722 -0.00815 0.68286 6.76038 -0.00447 0.65800 6.83354 0.00000 0.64531 0.00000 0.00000 0.00000 0.06328 0.00000 0.06906 0.24609 0.00000 0.15852 0.49474 0.00000 0.24315 0.73666 0.00000 0.31296 0.97679 0.00000 0.35708 1.21755 0.00000 0.39318 1.44630 0.00000 0.35902 1.69182 0.00000 0.43159 1.94016 0.00000 0.43015 2.17715 0.00000 0.41867 2.39180 0.00000 0.40496 2.59034 0.00000 0.39461 2.80635 0.00000 0.38659 3.03005 0.00000 0.37933 3.24866 0.00000 0.37187 3.46182 0.00000 0.36354 3.67193 0.00000 0.35368 3.88524 0.00000 0.34465 4.10325 0.00000 0.34470 4.32022 0.00000 0.36768 4.53378 -0.06447 0.41599 4.74649 -0.06587 0.48847 4.95352 0.00000 0.59879 5.18109 0.00000 0.67195 5.40724 0.00000 0.73775 5.64533 0.00000 0.81438 5.91230 0.00000 0.87165 6.17511 0.00000 0.85053 6.18099 0.00000 0.84930 6.19137 0.00000 0.84708 6.24827 0.00000 0.83367 6.32143 0.00000 0.81387 6.39459 0.00000 0.79176 6.46774 0.00000 0.76775 6.54090 0.00000 0.74217 6.61406 0.00000 0.71524 6.68722 0.00000 0.68716 6.76038 0.00000 0.65811 6.83354 0.00000 0.64531 #NETWORK = BODY-TOP-2 49 2 NEW 0.00000 0.00000 0.00000 0.06122 0.09261 0.02470 0.23984 0.21019 0.06234 0.48129 0.33575 0.09689 0.71772 0.45629 0.10508 0.95408 0.53834 0.10666 1.19143 0.59429 0.11238 1.42559 0.63328 0.11273 1.66221 0.65702 0.10286 1.90174 0.66696 0.08251 2.13640 0.66668 0.05639 2.14733 0.66632 0.05513 2.15900 0.66594 0.05378 2.18161 0.66519 0.05116 2.22680 0.66370 0.04593 2.29460 0.66146 0.03808 2.36240 0.65922 0.03023 2.47283 0.64945 0.02103 2.58325 0.63968 0.01182 2.65933 0.62870 0.00774 2.73541 0.61772 0.00366 2.78678 0.61031 0.00090 2.81149 0.60674 -0.00042 3.04266 0.56980 -0.00936 3.27245 0.53141 -0.01267 3.50000 0.49203 -0.00825 3.72630 0.45145 0.00686 3.95187 0.41023 0.03418 4.17693 0.36992 0.07369 4.40026 0.33325 0.12576 4.62072 0.30372 0.19167 4.83895 0.27894 0.27116 5.05762 0.25037 0.35760 5.27843 0.21690 0.44214 5.49788 0.19144 0.52680 5.72117 0.18044 0.61124 5.95400 0.18717 0.68085 6.17511 0.21507 0.69199 6.18099 0.21673 0.69048 6.19137 0.21890 0.68781 6.24827 0.20273 0.69550 6.32143 0.18189 0.69901 6.39459 0.16060 0.69995 6.46774 0.13881 0.69758 6.54090 0.11575 0.69088 6.61406 0.08982 0.68058 6.68722 0.06133 0.66915 6.76038 0.03130 0.65735 6.83354 0.00000 0.64531 0.00000 0.00000 0.00000 0.06064 0.11052 0.01240 0.23769 0.25006 0.02934 0.47608 0.39606 0.04015 0.71095 0.52366 0.03070 0.94609 0.60357 0.01864 1.18214 0.65376 0.01255 1.41643 0.68667 0.00385 1.65189 0.70546 -0.01171 1.88885 0.71255 -0.03416 2.12005 0.71745 -0.08906 2.24615 0.71820 -0.13168 2.24387 0.71497 -0.10853 2.24763 0.71048 -0.08568 2.27537 0.69807 -0.04680 2.31275 0.68550 -0.01921 2.37698 0.67457 -0.00777 2.46527 0.67321 -0.03080 2.55370 0.67196 -0.06271 2.62820 0.66760 -0.08700 2.69273 0.66480 -0.11317 2.74057 0.66409 -0.13415 2.81293 0.64025 -0.10832 3.04596 0.59864 -0.11108 3.27833 0.55601 -0.10779 3.50904 0.51298 -0.09635 3.73894 0.46960 -0.07374 3.96749 0.42655 -0.03862 4.19459 0.38504 0.00870 4.41920 0.34715 0.06852 4.63998 0.31560 0.14200 4.85734 0.28791 0.22794 5.07585 0.25589 0.31536 5.29412 0.21964 0.40511 5.51177 0.19560 0.49447 5.73231 0.19184 0.58140 5.96092 0.20269 0.64922 6.17511 0.23981 0.66228 6.18099 0.24744 0.65336 6.19137 0.24422 0.65798 6.24827 0.22672 0.66947 6.32143 0.20416 0.67735 6.39459 0.18123 0.68322 6.46774 0.15776 0.68593 6.54090 0.13242 0.68386 6.61406 0.10330 0.67768 6.68722 0.07052 0.66848 6.76038 0.03577 0.65725 6.83354 0.00000 0.64531 0.00000 0.00000 0.00000 0.06064 -0.11052 0.01240 0.23769 -0.25006 0.02934 0.47608 -0.39606 0.04015 0.71095 -0.52366 0.03070 0.94609 -0.60357 0.01864 1.18214 -0.65376 0.01255 1.41643 -0.68667 0.00385 1.65189 -0.70546 -0.01171 1.88885 -0.71255 -0.03416 2.12005 -0.71745 -0.08906 2.24615 -0.71820 -0.13168 2.24387 -0.71497 -0.10853 2.24763 -0.71048 -0.08568 2.27537 -0.69807 -0.04680 2.31275 -0.68550 -0.01921 2.37698 -0.67457 -0.00777 2.46527 -0.67321 -0.03080 2.55370 -0.67196 -0.06271 2.62820 -0.66760 -0.08700 2.69273 -0.66480 -0.11317 2.74057 -0.66409 -0.13415 2.81293 -0.64025 -0.10832 3.04596 -0.59864 -0.11108 3.27833 -0.55601 -0.10779 3.50904 -0.51298 -0.09635 3.73894 -0.46960 -0.07374 3.96749 -0.42655 -0.03862 4.19459 -0.38504 0.00870 4.41920 -0.34715 0.06852 4.63998 -0.31560 0.14200 4.85734 -0.28791 0.22794 5.07585 -0.25589 0.31536 5.29412 -0.21964 0.40511 5.51177 -0.19560 0.49447 5.73231 -0.19184 0.58140 5.96092 -0.20269 0.64922 6.17511 -0.23981 0.66228 6.18099 -0.24744 0.65336 6.19137 -0.24422 0.65798 6.24827 -0.22672 0.66947 6.32143 -0.20416 0.67735 6.39459 -0.18123 0.68322 6.46774 -0.15776 0.68593 6.54090 -0.13242 0.68386 6.61406 -0.10330 0.67768 6.68722 -0.07052 0.66848 6.76038 -0.03577 0.65725 6.83354 0.00000 0.64531 0.00000 0.00000 0.00000 0.06122 -0.09261 0.02470 0.23984 -0.21019 0.06234 0.48129 -0.33575 0.09689 0.71772 -0.45629 0.10508 0.95408 -0.53834 0.10666 1.19143 -0.59429 0.11238 1.42559 -0.63328 0.11273 1.66221 -0.65702 0.10286 1.90174 -0.66696 0.08251 2.13640 -0.66668 0.05639 2.14733 -0.66632 0.05513 2.15900 -0.66594 0.05378 2.18161 -0.66519 0.05116 2.22680 -0.66370 0.04593 2.29460 -0.66146 0.03808 2.36240 -0.65922 0.03023 2.47283 -0.64945 0.02103 2.58325 -0.63968 0.01182 2.65933 -0.62870 0.00774 2.73541 -0.61772 0.00366 2.78678 -0.61031 0.00090 2.81149 -0.60674 -0.00042 3.04266 -0.56980 -0.00936 3.27245 -0.53141 -0.01267 3.50000 -0.49203 -0.00825 3.72630 -0.45145 0.00686 3.95187 -0.41023 0.03418 4.17693 -0.36992 0.07369 4.40026 -0.33325 0.12576 4.62072 -0.30372 0.19167 4.83895 -0.27894 0.27116 5.05762 -0.25037 0.35760 5.27843 -0.21690 0.44214 5.49788 -0.19144 0.52680 5.72117 -0.18044 0.61124 5.95400 -0.18717 0.68085 6.17511 -0.21507 0.69199 6.18099 -0.21673 0.69048 6.19137 -0.21890 0.68781 6.24827 -0.20273 0.69550 6.32143 -0.18189 0.69901 6.39459 -0.16060 0.69995 6.46774 -0.13881 0.69758 6.54090 -0.11575 0.69088 6.61406 -0.08982 0.68058 6.68722 -0.06133 0.66915 6.76038 -0.03130 0.65735 6.83354 0.00000 0.64531 #NETWORK = BODY-BOT-1 51 2 NEW 0.00000 0.00000 0.00000 0.06064 0.11052 0.01240 0.23769 0.25006 0.02934 0.47608 0.39606 0.04015 0.71095 0.52366 0.03070 0.94609 0.60357 0.01864 1.18214 0.65376 0.01255 1.41643 0.68667 0.00385 1.65189 0.70546 -0.01171 1.88885 0.71255 -0.03416 2.12005 0.71745 -0.08906 2.24615 0.71820 -0.13168 2.25215 0.72039 -0.15308 2.26291 0.72131 -0.17195 2.30310 0.71949 -0.20042 2.36037 0.71527 -0.21534 2.43162 0.70907 -0.21628 2.50850 0.70087 -0.20655 2.58262 0.69079 -0.19056 2.64672 0.67976 -0.17199 2.69790 0.67122 -0.15393 2.74057 0.66409 -0.13415 2.81293 0.64025 -0.10832 3.04596 0.59864 -0.11108 3.27833 0.55601 -0.10779 3.50904 0.51298 -0.09635 3.73894 0.46960 -0.07374 3.96749 0.42655 -0.03862 4.19459 0.38504 0.00870 4.41920 0.34715 0.06852 4.63998 0.31560 0.14200 4.85734 0.28791 0.22794 5.07585 0.25589 0.31536 5.29412 0.21964 0.40511 5.51177 0.19560 0.49447 5.73231 0.19184 0.58140 5.96092 0.20269 0.64922 6.17511 0.23981 0.66228 6.18099 0.24744 0.65336 6.19137 0.24422 0.65798 6.24827 0.22672 0.66947 6.32143 0.20416 0.67735 6.39459 0.18123 0.68322 6.46774 0.15776 0.68593 6.54090 0.13242 0.68386 6.61406 0.10330 0.67768 6.68722 0.07052 0.66848 6.76038 0.03577 0.65725 6.83354 0.00000 0.64531 6.92735 0.00000 0.62961 6.96990 0.04994 0.62961 0.00000 0.00000 0.00000 0.05984 0.13128 -0.00482 0.23454 0.28927 -0.01909 0.46882 0.43932 -0.03885 0.70275 0.54510 -0.05933 0.93733 0.61194 -0.07793 1.17209 0.66474 -0.09551 1.40645 0.70290 -0.11481 1.64060 0.72428 -0.13714 1.87474 0.73106 -0.16178 2.10910 0.72775 -0.18639 2.12788 0.72654 -0.19317 2.14740 0.72529 -0.20022 2.18570 0.72283 -0.21406 2.26230 0.71791 -0.24172 2.33890 0.71298 -0.26939 2.41857 0.70484 -0.27163 2.49824 0.69669 -0.27388 2.57791 0.68854 -0.27612 2.65670 0.67636 -0.25449 2.73550 0.66418 -0.23286 2.78568 0.65642 -0.21908 2.81429 0.65199 -0.21123 3.04912 0.60868 -0.20846 3.28407 0.56432 -0.20061 3.51813 0.51978 -0.18488 3.75211 0.47532 -0.15776 3.98438 0.43174 -0.11729 4.21392 0.38998 -0.06240 4.43865 0.35165 0.00972 4.66031 0.31899 0.08953 4.87897 0.28750 0.17708 5.09373 0.25124 0.27394 5.30922 0.21557 0.36944 5.52539 0.19570 0.46278 5.74414 0.19669 0.54971 5.97064 0.22698 0.60474 6.17511 0.26004 0.62973 6.18099 0.26000 0.64191 6.19137 0.26000 0.64915 6.24827 0.26000 0.66170 6.32143 0.26000 0.66657 6.39459 0.26000 0.66891 6.46774 0.26000 0.66993 6.54090 0.26000 0.66924 6.61406 0.26000 0.66597 6.68722 0.26000 0.66015 6.76038 0.26000 0.65264 6.83354 0.26000 0.64425 6.90669 0.26000 0.63594 6.98798 0.26000 0.62961 0.00000 0.00000 0.00000 0.05984 -0.13128 -0.00482 0.23454 -0.28927 -0.01909 0.46882 -0.43932 -0.03885 0.70275 -0.54510 -0.05933 0.93733 -0.61194 -0.07793 1.17209 -0.66474 -0.09551 1.40645 -0.70290 -0.11481 1.64060 -0.72428 -0.13714 1.87474 -0.73106 -0.16178 2.10910 -0.72775 -0.18639 2.12788 -0.72654 -0.19317 2.14740 -0.72529 -0.20022 2.18570 -0.72283 -0.21406 2.26230 -0.71791 -0.24172 2.33890 -0.71298 -0.26939 2.41857 -0.70484 -0.27163 2.49824 -0.69669 -0.27388 2.57791 -0.68854 -0.27612 2.65670 -0.67636 -0.25449 2.73550 -0.66418 -0.23286 2.78568 -0.65642 -0.21908 2.81429 -0.65199 -0.21123 3.04912 -0.60868 -0.20846 3.28407 -0.56432 -0.20061 3.51813 -0.51978 -0.18488 3.75211 -0.47532 -0.15776 3.98438 -0.43174 -0.11729 4.21392 -0.38998 -0.06240 4.43865 -0.35165 0.00972 4.66031 -0.31899 0.08953 4.87897 -0.28750 0.17708 5.09373 -0.25124 0.27394 5.30922 -0.21557 0.36944 5.52539 -0.19570 0.46278 5.74414 -0.19669 0.54971 5.97064 -0.22698 0.60474 6.17511 -0.26004 0.62973 6.18099 -0.26000 0.64191 6.19137 -0.26000 0.64915 6.24827 -0.26000 0.66170 6.32143 -0.26000 0.66657 6.39459 -0.26000 0.66891 6.46774 -0.26000 0.66993 6.54090 -0.26000 0.66924 6.61406 -0.26000 0.66597 6.68722 -0.26000 0.66015 6.76038 -0.26000 0.65264 6.83354 -0.26000 0.64425 6.90669 -0.26000 0.63594 6.98798 -0.26000 0.62961 0.00000 0.00000 0.00000 0.06064 -0.11052 0.01240 0.23769 -0.25006 0.02934 0.47608 -0.39606 0.04015 0.71095 -0.52366 0.03070 0.94609 -0.60357 0.01864 1.18214 -0.65376 0.01255 1.41643 -0.68667 0.00385 1.65189 -0.70546 -0.01171 1.88885 -0.71255 -0.03416 2.12005 -0.71745 -0.08906 2.24615 -0.71820 -0.13168 2.25215 -0.72039 -0.15308 2.26291 -0.72131 -0.17195 2.30310 -0.71949 -0.20042 2.36037 -0.71527 -0.21534 2.43162 -0.70907 -0.21628 2.50850 -0.70087 -0.20655 2.58262 -0.69079 -0.19056 2.64672 -0.67976 -0.17199 2.69790 -0.67122 -0.15393 2.74057 -0.66409 -0.13415 2.81293 -0.64025 -0.10832 3.04596 -0.59864 -0.11108 3.27833 -0.55601 -0.10779 3.50904 -0.51298 -0.09635 3.73894 -0.46960 -0.07374 3.96749 -0.42655 -0.03862 4.19459 -0.38504 0.00870 4.41920 -0.34715 0.06852 4.63998 -0.31560 0.14200 4.85734 -0.28791 0.22794 5.07585 -0.25589 0.31536 5.29412 -0.21964 0.40511 5.51177 -0.19560 0.49447 5.73231 -0.19184 0.58140 5.96092 -0.20269 0.64922 6.17511 -0.23981 0.66228 6.18099 -0.24744 0.65336 6.19137 -0.24422 0.65798 6.24827 -0.22672 0.66947 6.32143 -0.20416 0.67735 6.39459 -0.18123 0.68322 6.46774 -0.15776 0.68593 6.54090 -0.13242 0.68386 6.61406 -0.10330 0.67768 6.68722 -0.07052 0.66848 6.76038 -0.03577 0.65725 6.83354 0.00000 0.64531 6.92735 0.00000 0.62961 6.96990 -0.04994 0.62961 #NETWORK = BODY-BOT-2 42 2 NEW 0.00000 0.00000 0.00000 0.05984 0.13128 -0.00482 0.23454 0.28927 -0.01909 0.46882 0.43932 -0.03885 0.70275 0.54510 -0.05933 0.93733 0.61194 -0.07793 1.17209 0.66474 -0.09551 1.40645 0.70290 -0.11481 1.64060 0.72428 -0.13714 1.87474 0.73106 -0.16178 2.10910 0.72775 -0.18639 2.33890 0.71298 -0.26939 2.57791 0.68854 -0.27612 2.81429 0.65199 -0.21123 3.04912 0.60868 -0.20846 3.28407 0.56432 -0.20061 3.51813 0.51978 -0.18488 3.75211 0.47532 -0.15776 3.98438 0.43174 -0.11729 4.21392 0.38998 -0.06240 4.43865 0.35165 0.00972 4.66031 0.31899 0.08953 4.87897 0.28750 0.17708 5.09373 0.25124 0.27394 5.30922 0.21557 0.36944 5.52539 0.19570 0.46278 5.74414 0.19669 0.54971 5.97064 0.22698 0.60474 6.17511 0.26004 0.62973 6.18099 0.26000 0.61731 6.19137 0.26000 0.61007 6.24827 0.26000 0.59752 6.32143 0.26000 0.59266 6.39459 0.26000 0.59031 6.46774 0.26000 0.58930 6.54090 0.26000 0.58998 6.61406 0.26000 0.59326 6.68722 0.26000 0.59908 6.76038 0.26000 0.60659 6.83354 0.26000 0.61497 6.90669 0.26000 0.62328 6.98798 0.26000 0.62961 0.00000 0.00000 0.00000 0.05918 0.12167 -0.01906 0.23201 0.28255 -0.05808 0.46255 0.43089 -0.10707 0.69414 0.51969 -0.15381 0.92732 0.57765 -0.18834 1.16111 0.63573 -0.21353 1.39621 0.68174 -0.23662 1.62950 0.70779 -0.26033 1.86113 0.71617 -0.28494 2.09525 0.71311 -0.30955 2.33401 0.70213 -0.33169 2.57671 0.67892 -0.34046 2.81593 0.64095 -0.33422 3.05282 0.59896 -0.32240 3.29045 0.55567 -0.30378 3.52752 0.51225 -0.27631 3.76451 0.46917 -0.23682 3.99887 0.42714 -0.18483 4.23003 0.38633 -0.12164 4.45769 0.34693 -0.04783 4.68071 0.30936 0.03689 4.89780 0.27337 0.13283 5.11030 0.23709 0.23555 5.32325 0.20399 0.33632 5.53855 0.18905 0.43216 5.75613 0.19438 0.51760 5.97671 0.21655 0.57700 6.17511 0.23920 0.59790 6.18099 0.24745 0.60590 6.19137 0.24422 0.60120 6.24827 0.22671 0.58967 6.32143 0.20408 0.58179 6.39459 0.18119 0.57597 6.46774 0.15776 0.57331 6.54090 0.13244 0.57536 6.61406 0.10329 0.58155 6.68722 0.07054 0.59077 6.76038 0.03578 0.60198 6.83354 0.00000 0.61392 6.92735 0.00000 0.62961 6.96990 0.04994 0.62961 0.00000 0.00000 0.00000 0.05918 -0.12167 -0.01906 0.23201 -0.28255 -0.05808 0.46255 -0.43089 -0.10707 0.69414 -0.51969 -0.15381 0.92732 -0.57765 -0.18834 1.16111 -0.63573 -0.21353 1.39621 -0.68174 -0.23662 1.62950 -0.70779 -0.26033 1.86113 -0.71617 -0.28494 2.09525 -0.71311 -0.30955 2.33401 -0.70213 -0.33169 2.57671 -0.67892 -0.34046 2.81593 -0.64095 -0.33422 3.05282 -0.59896 -0.32240 3.29045 -0.55567 -0.30378 3.52752 -0.51225 -0.27631 3.76451 -0.46917 -0.23682 3.99887 -0.42714 -0.18483 4.23003 -0.38633 -0.12164 4.45769 -0.34693 -0.04783 4.68071 -0.30936 0.03689 4.89780 -0.27337 0.13283 5.11030 -0.23709 0.23555 5.32325 -0.20399 0.33632 5.53855 -0.18905 0.43216 5.75613 -0.19438 0.51760 5.97671 -0.21655 0.57700 6.17511 -0.23920 0.59790 6.18099 -0.24745 0.60590 6.19137 -0.24422 0.60120 6.24827 -0.22671 0.58967 6.32143 -0.20408 0.58179 6.39459 -0.18119 0.57597 6.46774 -0.15776 0.57331 6.54090 -0.13244 0.57536 6.61406 -0.10329 0.58155 6.68722 -0.07054 0.59077 6.76038 -0.03578 0.60198 6.83354 0.00000 0.61392 6.92735 0.00000 0.62961 6.96990 -0.04994 0.62961 0.00000 0.00000 0.00000 0.05984 -0.13128 -0.00482 0.23454 -0.28927 -0.01909 0.46882 -0.43932 -0.03885 0.70275 -0.54510 -0.05933 0.93733 -0.61194 -0.07793 1.17209 -0.66474 -0.09551 1.40645 -0.70290 -0.11481 1.64060 -0.72428 -0.13714 1.87474 -0.73106 -0.16178 2.10910 -0.72775 -0.18639 2.33890 -0.71298 -0.26939 2.57791 -0.68854 -0.27612 2.81429 -0.65199 -0.21123 3.04912 -0.60868 -0.20846 3.28407 -0.56432 -0.20061 3.51813 -0.51978 -0.18488 3.75211 -0.47532 -0.15776 3.98438 -0.43174 -0.11729 4.21392 -0.38998 -0.06240 4.43865 -0.35165 0.00972 4.66031 -0.31899 0.08953 4.87897 -0.28750 0.17708 5.09373 -0.25124 0.27394 5.30922 -0.21557 0.36944 5.52539 -0.19570 0.46278 5.74414 -0.19669 0.54971 5.97064 -0.22698 0.60474 6.17511 -0.26004 0.62973 6.18099 -0.26000 0.61731 6.19137 -0.26000 0.61007 6.24827 -0.26000 0.59752 6.32143 -0.26000 0.59266 6.39459 -0.26000 0.59031 6.46774 -0.26000 0.58930 6.54090 -0.26000 0.58998 6.61406 -0.26000 0.59326 6.68722 -0.26000 0.59908 6.76038 -0.26000 0.60659 6.83354 -0.26000 0.61497 6.90669 -0.26000 0.62328 6.98798 -0.26000 0.62961 #NETWORK = BODY-BOT-3 40 9 NEW 0.00000 0.00000 0.00000 0.05918 0.12167 -0.01906 0.23201 0.28255 -0.05808 0.46255 0.43089 -0.10707 0.69414 0.51969 -0.15381 0.92732 0.57765 -0.18834 1.16111 0.63573 -0.21353 1.39621 0.68174 -0.23662 1.62950 0.70779 -0.26033 1.86113 0.71617 -0.28494 2.09525 0.71311 -0.30955 2.33401 0.70213 -0.33169 2.57671 0.67892 -0.34046 2.81593 0.64095 -0.33422 3.05282 0.59896 -0.32240 3.29045 0.55567 -0.30378 3.52752 0.51225 -0.27631 3.76451 0.46917 -0.23682 3.99887 0.42714 -0.18483 4.23003 0.38633 -0.12164 4.45769 0.34693 -0.04783 4.68071 0.30936 0.03689 4.89780 0.27337 0.13283 5.11030 0.23709 0.23555 5.32325 0.20399 0.33632 5.53855 0.18905 0.43216 5.75613 0.19438 0.51760 5.97671 0.21655 0.57700 6.17511 0.23920 0.59790 6.18099 0.24745 0.60590 6.19137 0.24422 0.60120 6.24827 0.22671 0.58967 6.32143 0.20408 0.58179 6.39459 0.18119 0.57597 6.46774 0.15776 0.57331 6.54090 0.13244 0.57536 6.61406 0.10329 0.58155 6.68722 0.07054 0.59077 6.76038 0.03578 0.60198 6.83354 0.00000 0.61392 0.00000 0.00000 0.00000 0.05850 0.10685 -0.03370 0.22937 0.25332 -0.09871 0.45652 0.38710 -0.17258 0.68698 0.46627 -0.23243 0.91936 0.52145 -0.27611 1.15190 0.58103 -0.31252 1.38707 0.62979 -0.34532 1.61920 0.65805 -0.37477 1.84825 0.66860 -0.40150 2.08212 0.66814 -0.42634 2.32491 0.66020 -0.44777 2.57461 0.64120 -0.45408 2.81736 0.60780 -0.44240 3.05612 0.57009 -0.42426 3.29633 0.53066 -0.39882 3.53653 0.49067 -0.36413 3.77708 0.45057 -0.31701 4.01442 0.41100 -0.25731 4.24765 0.37185 -0.18644 4.47655 0.33273 -0.10484 4.69968 0.29337 -0.01203 4.91532 0.25494 0.09163 5.12534 0.21910 0.20072 5.33620 0.19003 0.30575 5.55092 0.17768 0.40337 5.76779 0.18571 0.48639 5.98418 0.20103 0.54282 6.17511 0.21204 0.57076 6.18099 0.21391 0.57205 6.19137 0.21636 0.57432 6.24827 0.20003 0.56742 6.32143 0.17940 0.56416 6.39459 0.15837 0.56320 6.46774 0.13729 0.56456 6.54090 0.11507 0.56900 6.61406 0.09002 0.57566 6.68722 0.06239 0.58486 6.76038 0.03216 0.59817 6.83354 0.00000 0.61392 0.00000 0.00000 0.00000 0.05796 0.08840 -0.04520 0.22733 0.21477 -0.13012 0.45187 0.33130 -0.22322 0.68126 0.40215 -0.29524 0.91282 0.45337 -0.34815 1.14424 0.50929 -0.39490 1.37938 0.55580 -0.43676 1.61044 0.58369 -0.47202 1.83717 0.59597 -0.50180 2.07064 0.59884 -0.52838 2.31682 0.59528 -0.55088 2.57271 0.58177 -0.55656 2.81868 0.55475 -0.54144 3.05919 0.52342 -0.51892 3.30187 0.48992 -0.48839 3.54514 0.45517 -0.44790 3.78918 0.41942 -0.39416 4.02945 0.38327 -0.32729 4.26464 0.34666 -0.24894 4.49460 0.30908 -0.15938 4.71754 0.27020 -0.05812 4.93153 0.23212 0.05355 5.13913 0.19842 0.16876 5.34825 0.17332 0.27730 5.56275 0.16395 0.37582 5.77881 0.17167 0.45686 5.99113 0.18308 0.51104 6.17511 0.18482 0.54369 6.18099 0.18607 0.54525 6.19137 0.18798 0.54800 6.24827 0.17299 0.54564 6.32143 0.15462 0.54668 6.39459 0.13560 0.55034 6.46774 0.11702 0.55534 6.54090 0.09794 0.56204 6.61406 0.07688 0.56950 6.68722 0.05412 0.57913 6.76038 0.02808 0.59487 6.83354 0.00000 0.61392 0.00000 0.00000 0.00000 0.05731 0.07154 -0.05922 0.22562 0.17489 -0.15646 0.44858 0.27117 -0.25901 0.67697 0.33375 -0.34235 0.90759 0.38021 -0.40584 1.13810 0.42872 -0.46088 1.37327 0.46909 -0.50943 1.60346 0.49423 -0.54949 1.82822 0.50705 -0.58276 2.06119 0.51266 -0.61240 2.31001 0.51319 -0.63766 2.57107 0.50500 -0.64444 2.81983 0.48496 -0.62806 3.06193 0.46099 -0.60348 3.30692 0.43452 -0.56999 3.55310 0.40610 -0.52546 3.80048 0.37562 -0.46625 4.04351 0.34369 -0.39284 4.28050 0.31058 -0.30727 4.51135 0.27609 -0.21000 4.73409 0.24029 -0.10081 4.94666 0.20561 0.01798 5.15222 0.17590 0.13842 5.35988 0.15481 0.24983 5.57426 0.14754 0.34904 5.78950 0.15455 0.42822 5.99742 0.16111 0.48223 6.17511 0.15659 0.51767 6.18099 0.15757 0.51940 6.19137 0.15891 0.52245 6.24827 0.14546 0.52446 6.32143 0.12969 0.52940 6.39459 0.11288 0.53739 6.46774 0.09701 0.54560 6.54090 0.08108 0.55446 6.61406 0.06387 0.56309 6.68722 0.04566 0.57366 6.76038 0.02367 0.59201 6.83354 0.00000 0.61392 0.00000 0.00000 0.00000 0.05719 0.04818 -0.06177 0.22484 0.12990 -0.16843 0.44638 0.21135 -0.28294 0.67368 0.26595 -0.37849 0.90354 0.30481 -0.45056 1.13342 0.34377 -0.51117 1.36865 0.37634 -0.56431 1.59817 0.39745 -0.60826 1.82134 0.40949 -0.64500 2.05379 0.41638 -0.67818 2.30457 0.41952 -0.70696 2.56975 0.41549 -0.71590 2.82079 0.40200 -0.70017 3.06428 0.38524 -0.67566 3.31133 0.36592 -0.64125 3.56017 0.34410 -0.59437 3.81062 0.31931 -0.53091 4.05615 0.29227 -0.45172 4.29470 0.26372 -0.35951 4.52624 0.23410 -0.25502 4.74869 0.20419 -0.13851 4.96037 0.17584 -0.01424 5.16539 0.15173 0.10792 5.37190 0.13486 0.22145 5.58575 0.12831 0.32229 5.79983 0.13359 0.40056 6.00317 0.13602 0.45594 6.17511 0.12753 0.49258 6.18099 0.12793 0.49453 6.19137 0.12894 0.49796 6.24827 0.11736 0.50406 6.32143 0.10456 0.51242 6.39459 0.09023 0.52434 6.46774 0.07726 0.53532 6.54090 0.06451 0.54626 6.61406 0.05098 0.55644 6.68722 0.03700 0.56854 6.76038 0.01906 0.58948 6.83354 0.00000 0.61392 0.00000 0.00000 0.00000 0.05699 0.03667 -0.06610 0.22428 0.09506 -0.17709 0.44510 0.15322 -0.29684 0.67141 0.19685 -0.40336 0.90049 0.22896 -0.48415 1.12996 0.25806 -0.54834 1.36532 0.28191 -0.60396 1.59436 0.29792 -0.65056 1.81634 0.30794 -0.69029 2.04832 0.31466 -0.72690 2.30048 0.31881 -0.75921 2.56874 0.31742 -0.77055 2.82154 0.30922 -0.75665 3.06616 0.29865 -0.73372 3.31496 0.28576 -0.69993 3.56610 0.27025 -0.65206 3.81913 0.25143 -0.58521 4.06667 0.23001 -0.50074 4.30640 0.20717 -0.40256 4.53868 0.18391 -0.29262 4.76193 0.16162 -0.17266 4.97429 0.14146 -0.04696 5.17906 0.12432 0.07624 5.38465 0.11166 0.19135 5.59782 0.10594 0.29420 5.80964 0.10811 0.37429 6.00843 0.10780 0.43190 6.17511 0.09724 0.46901 6.18099 0.09701 0.47113 6.19137 0.09789 0.47487 6.24827 0.08863 0.48456 6.32143 0.07911 0.49593 6.39459 0.06762 0.51119 6.46774 0.05775 0.52461 6.54090 0.04818 0.53759 6.61406 0.03817 0.54962 6.68722 0.02806 0.56392 6.76038 0.01436 0.58713 6.83354 0.00000 0.61392 0.00000 0.00000 0.00000 0.05682 0.02342 -0.06971 0.22388 0.06128 -0.18315 0.44434 0.09965 -0.30516 0.66993 0.13008 -0.41968 0.89842 0.15245 -0.50694 1.12764 0.17170 -0.57334 1.36309 0.18739 -0.63053 1.59179 0.19822 -0.67907 1.81293 0.20538 -0.72111 2.04455 0.21057 -0.76040 2.29764 0.21413 -0.79543 2.56803 0.21398 -0.80874 2.82207 0.20966 -0.79707 3.06754 0.20385 -0.77639 3.31768 0.19626 -0.74400 3.57060 0.18642 -0.69589 3.82557 0.17361 -0.62628 4.07448 0.15850 -0.53714 4.31497 0.14246 -0.43409 4.54808 0.12682 -0.32102 4.77323 0.11327 -0.20180 4.98818 0.10207 -0.07962 5.19417 0.09225 0.04122 5.39899 0.08377 0.15751 5.61091 0.07885 0.26374 5.81972 0.07865 0.34728 6.01360 0.07678 0.40821 6.17511 0.06572 0.44711 6.18099 0.06528 0.44927 6.19137 0.06591 0.45309 6.24827 0.05941 0.46580 6.32143 0.05321 0.48015 6.39459 0.04506 0.49797 6.46774 0.03839 0.51361 6.54090 0.03201 0.52862 6.61406 0.02541 0.54271 6.68722 0.01887 0.55980 6.76038 0.00961 0.58489 6.83354 0.00000 0.61392 0.00000 0.00000 0.00000 0.05666 0.01133 -0.07309 0.22354 0.03007 -0.18837 0.44386 0.04921 -0.31036 0.66916 0.06453 -0.42809 0.89738 0.07578 -0.51845 1.12639 0.08548 -0.58670 1.36181 0.09345 -0.64568 1.59028 0.09901 -0.69590 1.81090 0.10275 -0.73950 2.04231 0.10551 -0.78032 2.29597 0.10745 -0.81669 2.56761 0.10759 -0.83109 2.82240 0.10586 -0.82137 3.06840 0.10345 -0.80280 3.31940 0.10002 -0.77180 3.57344 0.09523 -0.72359 3.82952 0.08857 -0.65145 4.07899 0.08054 -0.55817 4.31976 0.07221 -0.45171 4.55394 0.06473 -0.33874 4.78257 0.05944 -0.22590 5.00271 0.05598 -0.11377 5.21187 0.05257 0.00023 5.41601 0.04828 0.11732 5.62577 0.04484 0.22915 5.83058 0.04358 0.31820 6.01895 0.04161 0.38376 6.17511 0.03317 0.42678 6.18099 0.03285 0.42881 6.19137 0.03322 0.43240 6.24827 0.02984 0.44760 6.32143 0.02684 0.46519 6.39459 0.02252 0.48471 6.46774 0.01916 0.50240 6.54090 0.01597 0.51945 6.61406 0.01269 0.53573 6.68722 0.00949 0.55613 6.76038 0.00482 0.58274 6.83354 0.00000 0.61392 0.00000 0.00000 0.00000 0.05650 0.00000 -0.07646 0.22306 0.00000 -0.19580 0.44300 0.00000 -0.31974 0.66892 0.00000 -0.43078 0.89723 0.00000 -0.52011 1.12589 0.00000 -0.59209 1.36142 0.00000 -0.65031 1.58968 0.00000 -0.70251 1.81009 0.00000 -0.74687 2.04147 0.00000 -0.78774 2.29542 0.00000 -0.82368 2.56749 0.00000 -0.83806 2.82251 0.00000 -0.82964 3.06872 0.00000 -0.81249 3.32005 0.00000 -0.78231 3.57447 0.00000 -0.73359 3.83066 0.00000 -0.65873 4.07975 0.00000 -0.56170 4.32027 0.00000 -0.45357 4.55598 0.00000 -0.34491 4.79025 0.00000 -0.24572 5.01903 0.00000 -0.15212 5.23394 0.00000 -0.05092 5.43735 0.00000 0.06694 5.64353 0.00000 0.18782 5.84296 0.00000 0.28504 6.02481 0.00000 0.35695 6.17511 0.00000 0.40747 6.18099 0.00000 0.40932 6.19137 0.00000 0.41256 6.24827 0.00000 0.42984 6.32143 0.00000 0.45107 6.39459 0.00000 0.47142 6.46774 0.00000 0.49106 6.54090 0.00000 0.51013 6.61406 0.00000 0.52870 6.68722 -0.00002 0.55283 6.76038 0.00000 0.58064 6.83354 0.00000 0.61392 0.00000 0.00000 0.00000 0.05650 0.00000 -0.07646 0.22306 0.00000 -0.19580 0.44300 0.00000 -0.31974 0.66892 0.00000 -0.43078 0.89723 0.00000 -0.52011 1.12589 0.00000 -0.59209 1.36142 0.00000 -0.65031 1.58968 0.00000 -0.70251 1.81009 0.00000 -0.74687 2.04147 0.00000 -0.78774 2.29542 0.00000 -0.82368 2.56749 0.00000 -0.83806 2.82251 0.00000 -0.82964 3.06872 0.00000 -0.81249 3.32005 0.00000 -0.78231 3.57447 0.00000 -0.73359 3.83066 0.00000 -0.65873 4.07975 0.00000 -0.56170 4.32027 0.00000 -0.45357 4.55598 0.00000 -0.34491 4.79025 0.00000 -0.24572 5.01903 0.00000 -0.15212 5.23394 0.00000 -0.05092 5.43735 0.00000 0.06694 5.64353 0.00000 0.18782 5.84296 0.00000 0.28504 6.02481 0.00000 0.35695 6.17511 0.00000 0.40747 6.18099 0.00000 0.40932 6.19137 0.00000 0.41256 6.24827 0.00000 0.42984 6.32143 0.00000 0.45107 6.39459 0.00000 0.47142 6.46774 0.00000 0.49106 6.54090 0.00000 0.51013 6.61406 0.00000 0.52870 6.68722 0.00002 0.55283 6.76038 0.00000 0.58064 6.83354 0.00000 0.61392 0.00000 0.00000 0.00000 0.05666 -0.01133 -0.07309 0.22354 -0.03007 -0.18837 0.44386 -0.04921 -0.31036 0.66916 -0.06453 -0.42809 0.89738 -0.07578 -0.51845 1.12639 -0.08548 -0.58670 1.36181 -0.09345 -0.64568 1.59028 -0.09901 -0.69590 1.81090 -0.10275 -0.73950 2.04231 -0.10551 -0.78032 2.29597 -0.10745 -0.81669 2.56761 -0.10759 -0.83109 2.82240 -0.10586 -0.82137 3.06840 -0.10345 -0.80280 3.31940 -0.10002 -0.77180 3.57344 -0.09523 -0.72359 3.82952 -0.08857 -0.65145 4.07899 -0.08054 -0.55817 4.31976 -0.07221 -0.45171 4.55394 -0.06473 -0.33874 4.78257 -0.05944 -0.22590 5.00271 -0.05598 -0.11377 5.21187 -0.05257 0.00023 5.41601 -0.04828 0.11732 5.62577 -0.04484 0.22915 5.83058 -0.04358 0.31820 6.01895 -0.04161 0.38376 6.17511 -0.03317 0.42678 6.18099 -0.03285 0.42881 6.19137 -0.03322 0.43240 6.24827 -0.02984 0.44760 6.32143 -0.02684 0.46519 6.39459 -0.02252 0.48471 6.46774 -0.01916 0.50240 6.54090 -0.01597 0.51945 6.61406 -0.01269 0.53573 6.68722 -0.00949 0.55613 6.76038 -0.00482 0.58274 6.83354 0.00000 0.61392 0.00000 0.00000 0.00000 0.05682 -0.02342 -0.06971 0.22388 -0.06128 -0.18315 0.44434 -0.09965 -0.30516 0.66993 -0.13008 -0.41968 0.89842 -0.15245 -0.50694 1.12764 -0.17170 -0.57334 1.36309 -0.18739 -0.63053 1.59179 -0.19822 -0.67907 1.81293 -0.20538 -0.72111 2.04455 -0.21057 -0.76040 2.29764 -0.21413 -0.79543 2.56803 -0.21398 -0.80874 2.82207 -0.20966 -0.79707 3.06754 -0.20385 -0.77639 3.31768 -0.19626 -0.74400 3.57060 -0.18642 -0.69589 3.82557 -0.17361 -0.62628 4.07448 -0.15850 -0.53714 4.31497 -0.14246 -0.43409 4.54808 -0.12682 -0.32102 4.77323 -0.11327 -0.20180 4.98818 -0.10207 -0.07962 5.19417 -0.09225 0.04122 5.39899 -0.08377 0.15751 5.61091 -0.07885 0.26374 5.81972 -0.07865 0.34728 6.01360 -0.07678 0.40821 6.17511 -0.06572 0.44711 6.18099 -0.06528 0.44927 6.19137 -0.06591 0.45309 6.24827 -0.05941 0.46580 6.32143 -0.05321 0.48015 6.39459 -0.04506 0.49797 6.46774 -0.03839 0.51361 6.54090 -0.03201 0.52862 6.61406 -0.02541 0.54271 6.68722 -0.01887 0.55980 6.76038 -0.00961 0.58489 6.83354 0.00000 0.61392 0.00000 0.00000 0.00000 0.05699 -0.03667 -0.06610 0.22428 -0.09506 -0.17709 0.44510 -0.15322 -0.29684 0.67141 -0.19685 -0.40336 0.90049 -0.22896 -0.48415 1.12996 -0.25806 -0.54834 1.36532 -0.28191 -0.60396 1.59436 -0.29792 -0.65056 1.81634 -0.30794 -0.69029 2.04832 -0.31466 -0.72690 2.30048 -0.31881 -0.75921 2.56874 -0.31742 -0.77055 2.82154 -0.30922 -0.75665 3.06616 -0.29865 -0.73372 3.31496 -0.28576 -0.69993 3.56610 -0.27025 -0.65206 3.81913 -0.25143 -0.58521 4.06667 -0.23001 -0.50074 4.30640 -0.20717 -0.40256 4.53868 -0.18391 -0.29262 4.76193 -0.16162 -0.17266 4.97429 -0.14146 -0.04696 5.17906 -0.12432 0.07624 5.38465 -0.11166 0.19135 5.59782 -0.10594 0.29420 5.80964 -0.10811 0.37429 6.00843 -0.10780 0.43190 6.17511 -0.09724 0.46901 6.18099 -0.09701 0.47113 6.19137 -0.09789 0.47487 6.24827 -0.08863 0.48456 6.32143 -0.07911 0.49593 6.39459 -0.06762 0.51119 6.46774 -0.05775 0.52461 6.54090 -0.04818 0.53759 6.61406 -0.03817 0.54962 6.68722 -0.02806 0.56392 6.76038 -0.01436 0.58713 6.83354 0.00000 0.61392 0.00000 0.00000 0.00000 0.05719 -0.04818 -0.06177 0.22484 -0.12990 -0.16843 0.44638 -0.21135 -0.28294 0.67368 -0.26595 -0.37849 0.90354 -0.30481 -0.45056 1.13342 -0.34377 -0.51117 1.36865 -0.37634 -0.56431 1.59817 -0.39745 -0.60826 1.82134 -0.40949 -0.64500 2.05379 -0.41638 -0.67818 2.30457 -0.41952 -0.70696 2.56975 -0.41549 -0.71590 2.82079 -0.40200 -0.70017 3.06428 -0.38524 -0.67566 3.31133 -0.36592 -0.64125 3.56017 -0.34410 -0.59437 3.81062 -0.31931 -0.53091 4.05615 -0.29227 -0.45172 4.29470 -0.26372 -0.35951 4.52624 -0.23410 -0.25502 4.74869 -0.20419 -0.13851 4.96037 -0.17584 -0.01424 5.16539 -0.15173 0.10792 5.37190 -0.13486 0.22145 5.58575 -0.12831 0.32229 5.79983 -0.13359 0.40056 6.00317 -0.13602 0.45594 6.17511 -0.12753 0.49258 6.18099 -0.12793 0.49453 6.19137 -0.12894 0.49796 6.24827 -0.11736 0.50406 6.32143 -0.10456 0.51242 6.39459 -0.09023 0.52434 6.46774 -0.07726 0.53532 6.54090 -0.06451 0.54626 6.61406 -0.05098 0.55644 6.68722 -0.03700 0.56854 6.76038 -0.01906 0.58948 6.83354 0.00000 0.61392 0.00000 0.00000 0.00000 0.05731 -0.07154 -0.05922 0.22562 -0.17489 -0.15646 0.44858 -0.27117 -0.25901 0.67697 -0.33375 -0.34235 0.90759 -0.38021 -0.40584 1.13810 -0.42872 -0.46088 1.37327 -0.46909 -0.50943 1.60346 -0.49423 -0.54949 1.82822 -0.50705 -0.58276 2.06119 -0.51266 -0.61240 2.31001 -0.51319 -0.63766 2.57107 -0.50500 -0.64444 2.81983 -0.48496 -0.62806 3.06193 -0.46099 -0.60348 3.30692 -0.43452 -0.56999 3.55310 -0.40610 -0.52546 3.80048 -0.37562 -0.46625 4.04351 -0.34369 -0.39284 4.28050 -0.31058 -0.30727 4.51135 -0.27609 -0.21000 4.73409 -0.24029 -0.10081 4.94666 -0.20561 0.01798 5.15222 -0.17590 0.13842 5.35988 -0.15481 0.24983 5.57426 -0.14754 0.34904 5.78950 -0.15455 0.42822 5.99742 -0.16111 0.48223 6.17511 -0.15659 0.51767 6.18099 -0.15757 0.51940 6.19137 -0.15891 0.52245 6.24827 -0.14546 0.52446 6.32143 -0.12969 0.52940 6.39459 -0.11288 0.53739 6.46774 -0.09701 0.54560 6.54090 -0.08108 0.55446 6.61406 -0.06387 0.56309 6.68722 -0.04566 0.57366 6.76038 -0.02367 0.59201 6.83354 0.00000 0.61392 0.00000 0.00000 0.00000 0.05796 -0.08840 -0.04520 0.22733 -0.21477 -0.13012 0.45187 -0.33130 -0.22322 0.68126 -0.40215 -0.29524 0.91282 -0.45337 -0.34815 1.14424 -0.50929 -0.39490 1.37938 -0.55580 -0.43676 1.61044 -0.58369 -0.47202 1.83717 -0.59597 -0.50180 2.07064 -0.59884 -0.52838 2.31682 -0.59528 -0.55088 2.57271 -0.58177 -0.55656 2.81868 -0.55475 -0.54144 3.05919 -0.52342 -0.51892 3.30187 -0.48992 -0.48839 3.54514 -0.45517 -0.44790 3.78918 -0.41942 -0.39416 4.02945 -0.38327 -0.32729 4.26464 -0.34666 -0.24894 4.49460 -0.30908 -0.15938 4.71754 -0.27020 -0.05812 4.93153 -0.23212 0.05355 5.13913 -0.19842 0.16876 5.34825 -0.17332 0.27730 5.56275 -0.16395 0.37582 5.77881 -0.17167 0.45686 5.99113 -0.18308 0.51104 6.17511 -0.18482 0.54369 6.18099 -0.18607 0.54525 6.19137 -0.18798 0.54800 6.24827 -0.17299 0.54564 6.32143 -0.15462 0.54668 6.39459 -0.13560 0.55034 6.46774 -0.11702 0.55534 6.54090 -0.09794 0.56204 6.61406 -0.07688 0.56950 6.68722 -0.05412 0.57913 6.76038 -0.02808 0.59487 6.83354 0.00000 0.61392 0.00000 0.00000 0.00000 0.05850 -0.10685 -0.03370 0.22937 -0.25332 -0.09871 0.45652 -0.38710 -0.17258 0.68698 -0.46627 -0.23243 0.91936 -0.52145 -0.27611 1.15190 -0.58103 -0.31252 1.38707 -0.62979 -0.34532 1.61920 -0.65805 -0.37477 1.84825 -0.66860 -0.40150 2.08212 -0.66814 -0.42634 2.32491 -0.66020 -0.44777 2.57461 -0.64120 -0.45408 2.81736 -0.60780 -0.44240 3.05612 -0.57009 -0.42426 3.29633 -0.53066 -0.39882 3.53653 -0.49067 -0.36413 3.77708 -0.45057 -0.31701 4.01442 -0.41100 -0.25731 4.24765 -0.37185 -0.18644 4.47655 -0.33273 -0.10484 4.69968 -0.29337 -0.01203 4.91532 -0.25494 0.09163 5.12534 -0.21910 0.20072 5.33620 -0.19003 0.30575 5.55092 -0.17768 0.40337 5.76779 -0.18571 0.48639 5.98418 -0.20103 0.54282 6.17511 -0.21204 0.57076 6.18099 -0.21391 0.57205 6.19137 -0.21636 0.57432 6.24827 -0.20003 0.56742 6.32143 -0.17940 0.56416 6.39459 -0.15837 0.56320 6.46774 -0.13729 0.56456 6.54090 -0.11507 0.56900 6.61406 -0.09002 0.57566 6.68722 -0.06239 0.58486 6.76038 -0.03216 0.59817 6.83354 0.00000 0.61392 0.00000 0.00000 0.00000 0.05918 -0.12167 -0.01906 0.23201 -0.28255 -0.05808 0.46255 -0.43089 -0.10707 0.69414 -0.51969 -0.15381 0.92732 -0.57765 -0.18834 1.16111 -0.63573 -0.21353 1.39621 -0.68174 -0.23662 1.62950 -0.70779 -0.26033 1.86113 -0.71617 -0.28494 2.09525 -0.71311 -0.30955 2.33401 -0.70213 -0.33169 2.57671 -0.67892 -0.34046 2.81593 -0.64095 -0.33422 3.05282 -0.59896 -0.32240 3.29045 -0.55567 -0.30378 3.52752 -0.51225 -0.27631 3.76451 -0.46917 -0.23682 3.99887 -0.42714 -0.18483 4.23003 -0.38633 -0.12164 4.45769 -0.34693 -0.04783 4.68071 -0.30936 0.03689 4.89780 -0.27337 0.13283 5.11030 -0.23709 0.23555 5.32325 -0.20399 0.33632 5.53855 -0.18905 0.43216 5.75613 -0.19438 0.51760 5.97671 -0.21655 0.57700 6.17511 -0.23920 0.59790 6.18099 -0.24745 0.60590 6.19137 -0.24422 0.60120 6.24827 -0.22671 0.58967 6.32143 -0.20408 0.58179 6.39459 -0.18119 0.57597 6.46774 -0.15776 0.57331 6.54090 -0.13244 0.57536 6.61406 -0.10329 0.58155 6.68722 -0.07054 0.59077 6.76038 -0.03578 0.60198 6.83354 0.00000 0.61392 #NETWORK = TAIL-HOR-TOP 14 6 NEW 6.17511 0.26004 0.62973 6.18099 0.26000 0.64191 6.19137 0.26000 0.64915 6.24827 0.26000 0.66170 6.32143 0.26000 0.66657 6.39459 0.26000 0.66891 6.46774 0.26000 0.66993 6.54090 0.26000 0.66924 6.61406 0.26000 0.66597 6.68722 0.26000 0.66015 6.76038 0.26000 0.65264 6.83354 0.26000 0.64425 6.90669 0.26000 0.63594 6.98798 0.26000 0.62961 6.38421 0.41000 0.62961 6.38885 0.41000 0.63805 6.39675 0.41000 0.64272 6.44061 0.41000 0.65063 6.49700 0.41000 0.65333 6.55340 0.41000 0.65454 6.60980 0.41000 0.65505 6.66619 0.41000 0.65460 6.72259 0.41000 0.65261 6.77899 0.41000 0.64903 6.83538 0.41000 0.64435 6.89178 0.41000 0.63905 6.94817 0.41000 0.63373 7.01084 0.41000 0.62961 6.56300 0.56000 0.62961 6.56655 0.56000 0.63612 6.57261 0.56000 0.63972 6.60626 0.56000 0.64583 6.64953 0.56000 0.64794 6.69279 0.56000 0.64888 6.73605 0.56000 0.64928 6.77932 0.56000 0.64893 6.82258 0.56000 0.64739 6.86585 0.56000 0.64462 6.90911 0.56000 0.64100 6.95238 0.56000 0.63690 6.99564 0.56000 0.63279 7.04371 0.56000 0.62961 6.73079 0.71000 0.62961 6.73340 0.71000 0.63485 6.73795 0.71000 0.63788 6.76301 0.71000 0.64311 6.79523 0.71000 0.64507 6.82745 0.71000 0.64600 6.85967 0.71000 0.64640 6.89189 0.71000 0.64611 6.92411 0.71000 0.64476 6.95633 0.71000 0.64236 6.98855 0.71000 0.63924 7.02077 0.71000 0.63574 7.05299 0.71000 0.63227 7.08879 0.71000 0.62961 6.90092 0.86000 0.62961 6.90271 0.86000 0.63340 6.90587 0.86000 0.63564 6.92317 0.86000 0.63953 6.94542 0.86000 0.64106 6.96766 0.86000 0.64180 6.98990 0.86000 0.64212 7.01215 0.86000 0.64191 7.03440 0.86000 0.64089 7.05664 0.86000 0.63908 7.07889 0.86000 0.63675 7.10113 0.86000 0.63415 7.12338 0.86000 0.63157 7.14809 0.86000 0.62961 7.01919 0.96248 0.62961 7.03301 0.97333 0.63213 7.04227 0.97952 0.63349 7.06921 0.99353 0.63551 7.09119 1.00123 0.63608 7.10864 1.00528 0.63630 7.12385 1.00742 0.63637 7.13775 1.00834 0.63622 7.15080 1.00834 0.63568 7.16385 1.00834 0.63471 7.17690 1.00834 0.63347 7.18995 1.00834 0.63207 7.20300 1.00834 0.63068 7.21310 0.99936 0.62961 7.01919 -0.96248 0.62961 7.03301 -0.97333 0.63213 7.04227 -0.97952 0.63349 7.06921 -0.99353 0.63551 7.09119 -1.00123 0.63608 7.10864 -1.00528 0.63630 7.12385 -1.00742 0.63637 7.13775 -1.00834 0.63622 7.15080 -1.00834 0.63568 7.16385 -1.00834 0.63471 7.17690 -1.00834 0.63347 7.18995 -1.00834 0.63207 7.20300 -1.00834 0.63068 7.21310 -0.99936 0.62961 6.90092 -0.86000 0.62961 6.90271 -0.86000 0.63340 6.90587 -0.86000 0.63564 6.92317 -0.86000 0.63953 6.94542 -0.86000 0.64106 6.96766 -0.86000 0.64180 6.98990 -0.86000 0.64212 7.01215 -0.86000 0.64191 7.03440 -0.86000 0.64089 7.05664 -0.86000 0.63908 7.07889 -0.86000 0.63675 7.10113 -0.86000 0.63415 7.12338 -0.86000 0.63157 7.14809 -0.86000 0.62961 6.73079 -0.71000 0.62961 6.73340 -0.71000 0.63485 6.73795 -0.71000 0.63788 6.76301 -0.71000 0.64311 6.79523 -0.71000 0.64507 6.82745 -0.71000 0.64600 6.85967 -0.71000 0.64640 6.89189 -0.71000 0.64611 6.92411 -0.71000 0.64476 6.95633 -0.71000 0.64236 6.98855 -0.71000 0.63924 7.02077 -0.71000 0.63574 7.05299 -0.71000 0.63227 7.08879 -0.71000 0.62961 6.56300 -0.56000 0.62961 6.56655 -0.56000 0.63612 6.57261 -0.56000 0.63972 6.60626 -0.56000 0.64583 6.64953 -0.56000 0.64794 6.69279 -0.56000 0.64888 6.73605 -0.56000 0.64928 6.77932 -0.56000 0.64893 6.82258 -0.56000 0.64739 6.86585 -0.56000 0.64462 6.90911 -0.56000 0.64100 6.95238 -0.56000 0.63690 6.99564 -0.56000 0.63279 7.04371 -0.56000 0.62961 6.38421 -0.41000 0.62961 6.38885 -0.41000 0.63805 6.39675 -0.41000 0.64272 6.44061 -0.41000 0.65063 6.49700 -0.41000 0.65333 6.55340 -0.41000 0.65454 6.60980 -0.41000 0.65505 6.66619 -0.41000 0.65460 6.72259 -0.41000 0.65261 6.77899 -0.41000 0.64903 6.83538 -0.41000 0.64435 6.89178 -0.41000 0.63905 6.94817 -0.41000 0.63373 7.01084 -0.41000 0.62961 6.17511 -0.26004 0.62973 6.18099 -0.26000 0.64191 6.19137 -0.26000 0.64915 6.24827 -0.26000 0.66170 6.32143 -0.26000 0.66657 6.39459 -0.26000 0.66891 6.46774 -0.26000 0.66993 6.54090 -0.26000 0.66924 6.61406 -0.26000 0.66597 6.68722 -0.26000 0.66015 6.76038 -0.26000 0.65264 6.83354 -0.26000 0.64425 6.90669 -0.26000 0.63594 6.98798 -0.26000 0.62961 #NETWORK = TAIL-HOR-BOT 14 6 NEW 7.01919 0.96248 0.62961 7.03301 0.97333 0.62709 7.04227 0.97952 0.62574 7.06921 0.99353 0.62372 7.09119 1.00123 0.62315 7.10864 1.00528 0.62293 7.12385 1.00742 0.62285 7.13775 1.00834 0.62301 7.15080 1.00834 0.62355 7.16385 1.00834 0.62451 7.17690 1.00834 0.62576 7.18995 1.00834 0.62716 7.20300 1.00834 0.62855 7.21310 0.99936 0.62961 6.90092 0.86000 0.62961 6.90271 0.86000 0.62582 6.90587 0.86000 0.62358 6.92317 0.86000 0.61969 6.94542 0.86000 0.61816 6.96766 0.86000 0.61743 6.98990 0.86000 0.61710 7.01215 0.86000 0.61732 7.03440 0.86000 0.61834 7.05664 0.86000 0.62015 7.07889 0.86000 0.62248 7.10113 0.86000 0.62508 7.12338 0.86000 0.62765 7.14809 0.86000 0.62961 6.73079 0.71000 0.62961 6.73340 0.71000 0.62437 6.73795 0.71000 0.62134 6.76301 0.71000 0.61612 6.79523 0.71000 0.61415 6.82745 0.71000 0.61322 6.85967 0.71000 0.61282 6.89189 0.71000 0.61311 6.92411 0.71000 0.61446 6.95633 0.71000 0.61687 6.98855 0.71000 0.61999 7.02077 0.71000 0.62348 7.05299 0.71000 0.62696 7.08879 0.71000 0.62961 6.56300 0.56000 0.62961 6.56655 0.56000 0.62311 6.57261 0.56000 0.61951 6.60626 0.56000 0.61339 6.64953 0.56000 0.61129 6.69279 0.56000 0.61034 6.73605 0.56000 0.60995 6.77932 0.56000 0.61030 6.82258 0.56000 0.61183 6.86585 0.56000 0.61460 6.90911 0.56000 0.61823 6.95238 0.56000 0.62232 6.99564 0.56000 0.62644 7.04371 0.56000 0.62961 6.38421 0.41000 0.62961 6.38885 0.41000 0.62117 6.39675 0.41000 0.61651 6.44061 0.41000 0.60860 6.49700 0.41000 0.60590 6.55340 0.41000 0.60468 6.60980 0.41000 0.60418 6.66619 0.41000 0.60463 6.72259 0.41000 0.60661 6.77899 0.41000 0.61019 6.83538 0.41000 0.61488 6.89178 0.41000 0.62018 6.94817 0.41000 0.62550 7.01084 0.41000 0.62961 6.17511 0.26004 0.62973 6.18099 0.26000 0.61731 6.19137 0.26000 0.61007 6.24827 0.26000 0.59752 6.32143 0.26000 0.59266 6.39459 0.26000 0.59031 6.46774 0.26000 0.58930 6.54090 0.26000 0.58998 6.61406 0.26000 0.59326 6.68722 0.26000 0.59908 6.76038 0.26000 0.60659 6.83354 0.26000 0.61497 6.90669 0.26000 0.62328 6.98798 0.26000 0.62961 6.17511 -0.26004 0.62973 6.18099 -0.26000 0.61731 6.19137 -0.26000 0.61007 6.24827 -0.26000 0.59752 6.32143 -0.26000 0.59266 6.39459 -0.26000 0.59031 6.46774 -0.26000 0.58930 6.54090 -0.26000 0.58998 6.61406 -0.26000 0.59326 6.68722 -0.26000 0.59908 6.76038 -0.26000 0.60659 6.83354 -0.26000 0.61497 6.90669 -0.26000 0.62328 6.98798 -0.26000 0.62961 6.38421 -0.41000 0.62961 6.38885 -0.41000 0.62117 6.39675 -0.41000 0.61651 6.44061 -0.41000 0.60860 6.49700 -0.41000 0.60590 6.55340 -0.41000 0.60468 6.60980 -0.41000 0.60418 6.66619 -0.41000 0.60463 6.72259 -0.41000 0.60661 6.77899 -0.41000 0.61019 6.83538 -0.41000 0.61488 6.89178 -0.41000 0.62018 6.94817 -0.41000 0.62550 7.01084 -0.41000 0.62961 6.56300 -0.56000 0.62961 6.56655 -0.56000 0.62311 6.57261 -0.56000 0.61951 6.60626 -0.56000 0.61339 6.64953 -0.56000 0.61129 6.69279 -0.56000 0.61034 6.73605 -0.56000 0.60995 6.77932 -0.56000 0.61030 6.82258 -0.56000 0.61183 6.86585 -0.56000 0.61460 6.90911 -0.56000 0.61823 6.95238 -0.56000 0.62232 6.99564 -0.56000 0.62644 7.04371 -0.56000 0.62961 6.73079 -0.71000 0.62961 6.73340 -0.71000 0.62437 6.73795 -0.71000 0.62134 6.76301 -0.71000 0.61612 6.79523 -0.71000 0.61415 6.82745 -0.71000 0.61322 6.85967 -0.71000 0.61282 6.89189 -0.71000 0.61311 6.92411 -0.71000 0.61446 6.95633 -0.71000 0.61687 6.98855 -0.71000 0.61999 7.02077 -0.71000 0.62348 7.05299 -0.71000 0.62696 7.08879 -0.71000 0.62961 6.90092 -0.86000 0.62961 6.90271 -0.86000 0.62582 6.90587 -0.86000 0.62358 6.92317 -0.86000 0.61969 6.94542 -0.86000 0.61816 6.96766 -0.86000 0.61743 6.98990 -0.86000 0.61710 7.01215 -0.86000 0.61732 7.03440 -0.86000 0.61834 7.05664 -0.86000 0.62015 7.07889 -0.86000 0.62248 7.10113 -0.86000 0.62508 7.12338 -0.86000 0.62765 7.14809 -0.86000 0.62961 7.01919 -0.96248 0.62961 7.03301 -0.97333 0.62709 7.04227 -0.97952 0.62574 7.06921 -0.99353 0.62372 7.09119 -1.00123 0.62315 7.10864 -1.00528 0.62293 7.12385 -1.00742 0.62285 7.13775 -1.00834 0.62301 7.15080 -1.00834 0.62355 7.16385 -1.00834 0.62451 7.17690 -1.00834 0.62576 7.18995 -1.00834 0.62716 7.20300 -1.00834 0.62855 7.21310 -0.99936 0.62961 #NETWORK = FIN-TOP 11 9 NEW 2.24615 0.71820 -0.13168 2.24387 0.71497 -0.10853 2.24763 0.71048 -0.08568 2.27537 0.69807 -0.04680 2.31275 0.68550 -0.01921 2.37698 0.67457 -0.00777 2.46527 0.67321 -0.03080 2.55370 0.67196 -0.06271 2.62820 0.66760 -0.08700 2.69273 0.66480 -0.11317 2.74057 0.66409 -0.13415 2.28218 0.74450 -0.13927 2.28533 0.74432 -0.12346 2.29482 0.74378 -0.10921 2.33165 0.74169 -0.08727 2.38888 0.73843 -0.07666 2.46068 0.73435 -0.07792 2.53984 0.72985 -0.08834 2.61836 0.72539 -0.10362 2.68903 0.72137 -0.11972 2.74488 0.71819 -0.13384 2.77891 0.71626 -0.14845 2.30791 0.77078 -0.14718 2.31114 0.77078 -0.13419 2.32086 0.77078 -0.12266 2.35857 0.77078 -0.10556 2.41692 0.77078 -0.09846 2.48970 0.77078 -0.10147 2.56932 0.77078 -0.11197 2.64772 0.77078 -0.12615 2.71760 0.77078 -0.14069 2.77231 0.77078 -0.15317 2.81899 0.77078 -0.16558 2.40989 0.92121 -0.19241 2.41294 0.92121 -0.18419 2.42169 0.92121 -0.17693 2.45510 0.92121 -0.16615 2.50650 0.92121 -0.16169 2.57029 0.92121 -0.16400 2.63982 0.92121 -0.17184 2.70865 0.92121 -0.18283 2.76832 0.92121 -0.19470 2.81508 0.92121 -0.20513 2.84978 0.92121 -0.21607 2.49810 1.06814 -0.23659 2.50090 1.06814 -0.22916 2.50878 1.06814 -0.22266 2.53867 1.06814 -0.21318 2.58451 1.06814 -0.20954 2.64127 1.06814 -0.21225 2.70308 1.06814 -0.22024 2.76389 1.06814 -0.23139 2.81740 1.06814 -0.24336 2.85947 1.06814 -0.25397 2.89601 1.06814 -0.26465 2.58593 1.19765 -0.27553 2.58804 1.19765 -0.26806 2.59508 1.19765 -0.26157 2.62329 1.19765 -0.25222 2.66752 1.19765 -0.24888 2.72354 1.19765 -0.25203 2.78557 1.19765 -0.26050 2.84499 1.19765 -0.27190 2.90032 1.19765 -0.28340 2.94488 1.19765 -0.29332 2.98342 1.19765 -0.30305 2.71387 1.31328 -0.31030 2.71617 1.31328 -0.30360 2.72379 1.31328 -0.29784 2.75400 1.31328 -0.28986 2.80014 1.31328 -0.28751 2.85587 1.31328 -0.29055 2.91487 1.31328 -0.29727 2.97499 1.31328 -0.30547 3.02754 1.31328 -0.31354 3.06386 1.31328 -0.32018 3.09374 1.31328 -0.32660 2.82952 1.37861 -0.32995 2.83407 1.37861 -0.32537 2.84273 1.37861 -0.32141 2.86992 1.37861 -0.31579 2.90864 1.37861 -0.31380 2.95397 1.37861 -0.31526 3.00267 1.37861 -0.31911 3.05884 1.37861 -0.32403 3.10634 1.37861 -0.32905 3.13322 1.37861 -0.33326 3.15559 1.37861 -0.33743 3.03700 1.43000 -0.34540 3.03803 1.43000 -0.34314 3.04109 1.43000 -0.34108 3.05295 1.43000 -0.33771 3.07142 1.43000 -0.33576 3.09470 1.43000 -0.33545 3.12050 1.43000 -0.33656 3.14630 1.43000 -0.33857 3.16958 1.43000 -0.34091 3.18805 1.43000 -0.34308 3.20400 1.43000 -0.34540 3.03700 -1.43000 -0.34540 3.03803 -1.43000 -0.34314 3.04109 -1.43000 -0.34108 3.05295 -1.43000 -0.33771 3.07142 -1.43000 -0.33576 3.09470 -1.43000 -0.33545 3.12050 -1.43000 -0.33656 3.14630 -1.43000 -0.33857 3.16958 -1.43000 -0.34091 3.18805 -1.43000 -0.34308 3.20400 -1.43000 -0.34540 2.82952 -1.37861 -0.32995 2.83407 -1.37861 -0.32537 2.84273 -1.37861 -0.32141 2.86992 -1.37861 -0.31579 2.90864 -1.37861 -0.31380 2.95397 -1.37861 -0.31526 3.00267 -1.37861 -0.31911 3.05884 -1.37861 -0.32403 3.10634 -1.37861 -0.32905 3.13322 -1.37861 -0.33326 3.15559 -1.37861 -0.33743 2.71387 -1.31328 -0.31030 2.71617 -1.31328 -0.30360 2.72379 -1.31328 -0.29784 2.75400 -1.31328 -0.28986 2.80014 -1.31328 -0.28751 2.85587 -1.31328 -0.29055 2.91487 -1.31328 -0.29727 2.97499 -1.31328 -0.30547 3.02754 -1.31328 -0.31354 3.06386 -1.31328 -0.32018 3.09374 -1.31328 -0.32660 2.58593 -1.19765 -0.27553 2.58804 -1.19765 -0.26806 2.59508 -1.19765 -0.26157 2.62329 -1.19765 -0.25222 2.66752 -1.19765 -0.24888 2.72354 -1.19765 -0.25203 2.78557 -1.19765 -0.26050 2.84499 -1.19765 -0.27190 2.90032 -1.19765 -0.28340 2.94488 -1.19765 -0.29332 2.98342 -1.19765 -0.30305 2.49810 -1.06814 -0.23659 2.50090 -1.06814 -0.22916 2.50878 -1.06814 -0.22266 2.53867 -1.06814 -0.21318 2.58451 -1.06814 -0.20954 2.64127 -1.06814 -0.21225 2.70308 -1.06814 -0.22024 2.76389 -1.06814 -0.23139 2.81740 -1.06814 -0.24336 2.85947 -1.06814 -0.25397 2.89601 -1.06814 -0.26465 2.40989 -0.92121 -0.19241 2.41294 -0.92121 -0.18419 2.42169 -0.92121 -0.17693 2.45510 -0.92121 -0.16615 2.50650 -0.92121 -0.16169 2.57029 -0.92121 -0.16400 2.63982 -0.92121 -0.17184 2.70865 -0.92121 -0.18283 2.76832 -0.92121 -0.19470 2.81508 -0.92121 -0.20513 2.84978 -0.92121 -0.21607 2.30791 -0.77078 -0.14718 2.31114 -0.77078 -0.13419 2.32086 -0.77078 -0.12266 2.35857 -0.77078 -0.10556 2.41692 -0.77078 -0.09846 2.48970 -0.77078 -0.10147 2.56932 -0.77078 -0.11197 2.64772 -0.77078 -0.12615 2.71760 -0.77078 -0.14069 2.77231 -0.77078 -0.15317 2.81899 -0.77078 -0.16558 2.28218 -0.74450 -0.13927 2.28533 -0.74432 -0.12346 2.29482 -0.74378 -0.10921 2.33165 -0.74169 -0.08727 2.38888 -0.73843 -0.07666 2.46068 -0.73435 -0.07792 2.53984 -0.72985 -0.08834 2.61836 -0.72539 -0.10362 2.68903 -0.72137 -0.11972 2.74488 -0.71819 -0.13384 2.77891 -0.71626 -0.14845 2.24615 -0.71820 -0.13168 2.24387 -0.71497 -0.10853 2.24763 -0.71048 -0.08568 2.27537 -0.69807 -0.04680 2.31275 -0.68550 -0.01921 2.37698 -0.67457 -0.00777 2.46527 -0.67321 -0.03080 2.55370 -0.67196 -0.06271 2.62820 -0.66760 -0.08700 2.69273 -0.66480 -0.11317 2.74057 -0.66409 -0.13415 #NETWORK = FIN-BOT 11 9 NEW 3.03700 1.43000 -0.34540 3.03803 1.43000 -0.34766 3.04109 1.43000 -0.34972 3.05295 1.43000 -0.35309 3.07142 1.43000 -0.35504 3.09470 1.43000 -0.35535 3.12050 1.43000 -0.35424 3.14630 1.43000 -0.35223 3.16958 1.43000 -0.34989 3.18805 1.43000 -0.34772 3.20400 1.43000 -0.34540 2.82952 1.37861 -0.32995 2.83407 1.37861 -0.33469 2.84273 1.37861 -0.33913 2.86992 1.37861 -0.34648 2.90864 1.37861 -0.35082 2.95397 1.37861 -0.35186 3.00267 1.37861 -0.35030 3.05884 1.37861 -0.34727 3.10634 1.37861 -0.34404 3.13322 1.37861 -0.34084 3.15559 1.37861 -0.33743 2.71387 1.31328 -0.31030 2.71617 1.31328 -0.31732 2.72379 1.31328 -0.32401 2.75400 1.31328 -0.33544 2.80014 1.31328 -0.34270 2.85587 1.31328 -0.34508 2.91487 1.31328 -0.34349 2.97499 1.31328 -0.33964 3.02754 1.31328 -0.33539 3.06386 1.31328 -0.33117 3.09374 1.31328 -0.32660 2.58593 1.19765 -0.27553 2.58804 1.19765 -0.28337 2.59508 1.19765 -0.29093 2.62329 1.19765 -0.30446 2.66752 1.19765 -0.31439 2.72354 1.19765 -0.31959 2.78557 1.19765 -0.32030 2.84499 1.19765 -0.31774 2.90032 1.19765 -0.31274 2.94488 1.19765 -0.30833 2.98342 1.19765 -0.30305 2.49810 1.06814 -0.23659 2.50090 1.06814 -0.24433 2.50878 1.06814 -0.25176 2.53867 1.06814 -0.26488 2.58451 1.06814 -0.27428 2.64127 1.06814 -0.27904 2.70308 1.06814 -0.27960 2.76389 1.06814 -0.27731 2.81740 1.06814 -0.27361 2.85947 1.06814 -0.26962 2.89601 1.06814 -0.26465 2.40989 0.92121 -0.19241 2.41294 0.92121 -0.20089 2.42169 0.92121 -0.20890 2.45510 0.92121 -0.22265 2.50650 0.92121 -0.23183 2.57029 0.92121 -0.23561 2.63982 0.92121 -0.23474 2.70865 0.92121 -0.23094 2.76832 0.92121 -0.22618 2.81508 0.92121 -0.22131 2.84978 0.92121 -0.21607 2.30791 0.77078 -0.14718 2.31114 0.77078 -0.16038 2.32086 0.77078 -0.17256 2.35857 0.77078 -0.19217 2.41692 0.77078 -0.20320 2.48970 0.77078 -0.20517 2.56932 0.77078 -0.20028 2.64772 0.77078 -0.19178 2.71760 0.77078 -0.18246 2.77231 0.77078 -0.17425 2.81899 0.77078 -0.16558 2.28218 0.74450 -0.13927 2.28533 0.74432 -0.15521 2.29482 0.74378 -0.16979 2.33165 0.74169 -0.19302 2.38888 0.73843 -0.20562 2.46068 0.73435 -0.20684 2.53984 0.72985 -0.19917 2.61836 0.72539 -0.18665 2.68903 0.72137 -0.17295 2.74488 0.71819 -0.16081 2.77891 0.71626 -0.14845 2.24615 0.71820 -0.13168 2.25215 0.72039 -0.15308 2.26291 0.72131 -0.17195 2.30310 0.71949 -0.20042 2.36037 0.71527 -0.21534 2.43162 0.70907 -0.21628 2.50850 0.70087 -0.20655 2.58262 0.69079 -0.19056 2.64672 0.67976 -0.17199 2.69790 0.67122 -0.15393 2.74057 0.66409 -0.13415 2.24615 -0.71820 -0.13168 2.25215 -0.72039 -0.15308 2.26291 -0.72131 -0.17195 2.30310 -0.71949 -0.20042 2.36037 -0.71527 -0.21534 2.43162 -0.70907 -0.21628 2.50850 -0.70087 -0.20655 2.58262 -0.69079 -0.19056 2.64672 -0.67976 -0.17199 2.69790 -0.67122 -0.15393 2.74057 -0.66409 -0.13415 2.28218 -0.74450 -0.13927 2.28533 -0.74432 -0.15521 2.29482 -0.74378 -0.16979 2.33165 -0.74169 -0.19302 2.38888 -0.73843 -0.20562 2.46068 -0.73435 -0.20684 2.53984 -0.72985 -0.19917 2.61836 -0.72539 -0.18665 2.68903 -0.72137 -0.17295 2.74488 -0.71819 -0.16081 2.77891 -0.71626 -0.14845 2.30791 -0.77078 -0.14718 2.31114 -0.77078 -0.16038 2.32086 -0.77078 -0.17256 2.35857 -0.77078 -0.19217 2.41692 -0.77078 -0.20320 2.48970 -0.77078 -0.20517 2.56932 -0.77078 -0.20028 2.64772 -0.77078 -0.19178 2.71760 -0.77078 -0.18246 2.77231 -0.77078 -0.17425 2.81899 -0.77078 -0.16558 2.40989 -0.92121 -0.19241 2.41294 -0.92121 -0.20089 2.42169 -0.92121 -0.20890 2.45510 -0.92121 -0.22265 2.50650 -0.92121 -0.23183 2.57029 -0.92121 -0.23561 2.63982 -0.92121 -0.23474 2.70865 -0.92121 -0.23094 2.76832 -0.92121 -0.22618 2.81508 -0.92121 -0.22131 2.84978 -0.92121 -0.21607 2.49810 -1.06814 -0.23659 2.50090 -1.06814 -0.24433 2.50878 -1.06814 -0.25176 2.53867 -1.06814 -0.26488 2.58451 -1.06814 -0.27428 2.64127 -1.06814 -0.27904 2.70308 -1.06814 -0.27960 2.76389 -1.06814 -0.27731 2.81740 -1.06814 -0.27361 2.85947 -1.06814 -0.26962 2.89601 -1.06814 -0.26465 2.58593 -1.19765 -0.27553 2.58804 -1.19765 -0.28337 2.59508 -1.19765 -0.29093 2.62329 -1.19765 -0.30446 2.66752 -1.19765 -0.31439 2.72354 -1.19765 -0.31959 2.78557 -1.19765 -0.32030 2.84499 -1.19765 -0.31774 2.90032 -1.19765 -0.31274 2.94488 -1.19765 -0.30833 2.98342 -1.19765 -0.30305 2.71387 -1.31328 -0.31030 2.71617 -1.31328 -0.31732 2.72379 -1.31328 -0.32401 2.75400 -1.31328 -0.33544 2.80014 -1.31328 -0.34270 2.85587 -1.31328 -0.34508 2.91487 -1.31328 -0.34349 2.97499 -1.31328 -0.33964 3.02754 -1.31328 -0.33539 3.06386 -1.31328 -0.33117 3.09374 -1.31328 -0.32660 2.82952 -1.37861 -0.32995 2.83407 -1.37861 -0.33469 2.84273 -1.37861 -0.33913 2.86992 -1.37861 -0.34648 2.90864 -1.37861 -0.35082 2.95397 -1.37861 -0.35186 3.00267 -1.37861 -0.35030 3.05884 -1.37861 -0.34727 3.10634 -1.37861 -0.34404 3.13322 -1.37861 -0.34084 3.15559 -1.37861 -0.33743 3.03700 -1.43000 -0.34540 3.03803 -1.43000 -0.34766 3.04109 -1.43000 -0.34972 3.05295 -1.43000 -0.35309 3.07142 -1.43000 -0.35504 3.09470 -1.43000 -0.35535 3.12050 -1.43000 -0.35424 3.14630 -1.43000 -0.35223 3.16958 -1.43000 -0.34989 3.18805 -1.43000 -0.34772 3.20400 -1.43000 -0.34540 #NETWORK = TAIL-TIP 14 2 NEW 7.01919 0.96248 0.62961 7.03301 0.97333 0.63213 7.04227 0.97952 0.63349 7.06921 0.99353 0.63551 7.09119 1.00123 0.63608 7.10864 1.00528 0.63630 7.12385 1.00742 0.63637 7.13775 1.00834 0.63622 7.15080 1.00834 0.63568 7.16385 1.00834 0.63471 7.17690 1.00834 0.63347 7.18995 1.00834 0.63207 7.20300 1.00834 0.63068 7.21310 0.99936 0.62961 7.01919 0.96248 0.62961 7.03301 0.97333 0.62709 7.04227 0.97952 0.62574 7.06921 0.99353 0.62372 7.09119 1.00123 0.62315 7.10864 1.00528 0.62293 7.12385 1.00742 0.62285 7.13775 1.00834 0.62301 7.15080 1.00834 0.62355 7.16385 1.00834 0.62451 7.17690 1.00834 0.62576 7.18995 1.00834 0.62716 7.20300 1.00834 0.62855 7.21310 0.99936 0.62961 7.01919 -0.96248 0.62961 7.03301 -0.97333 0.62709 7.04227 -0.97952 0.62574 7.06921 -0.99353 0.62372 7.09119 -1.00123 0.62315 7.10864 -1.00528 0.62293 7.12385 -1.00742 0.62285 7.13775 -1.00834 0.62301 7.15080 -1.00834 0.62355 7.16385 -1.00834 0.62451 7.17690 -1.00834 0.62576 7.18995 -1.00834 0.62716 7.20300 -1.00834 0.62855 7.21310 -0.99936 0.62961 7.01919 -0.96248 0.62961 7.03301 -0.97333 0.63213 7.04227 -0.97952 0.63349 7.06921 -0.99353 0.63551 7.09119 -1.00123 0.63608 7.10864 -1.00528 0.63630 7.12385 -1.00742 0.63637 7.13775 -1.00834 0.63622 7.15080 -1.00834 0.63568 7.16385 -1.00834 0.63471 7.17690 -1.00834 0.63347 7.18995 -1.00834 0.63207 7.20300 -1.00834 0.63068 7.21310 -0.99936 0.62961 #NETWORK = FIN-TIP 11 2 NEW 3.03700 1.43000 -0.34540 3.03803 1.43000 -0.34314 3.04109 1.43000 -0.34108 3.05295 1.43000 -0.33771 3.07142 1.43000 -0.33576 3.09470 1.43000 -0.33545 3.12050 1.43000 -0.33656 3.14630 1.43000 -0.33857 3.16958 1.43000 -0.34091 3.18805 1.43000 -0.34308 3.20400 1.43000 -0.34540 3.03700 1.43000 -0.34540 3.03803 1.43000 -0.34766 3.04109 1.43000 -0.34972 3.05295 1.43000 -0.35309 3.07142 1.43000 -0.35504 3.09470 1.43000 -0.35535 3.12050 1.43000 -0.35424 3.14630 1.43000 -0.35223 3.16958 1.43000 -0.34989 3.18805 1.43000 -0.34772 3.20400 1.43000 -0.34540 3.03700 -1.43000 -0.34540 3.03803 -1.43000 -0.34766 3.04109 -1.43000 -0.34972 3.05295 -1.43000 -0.35309 3.07142 -1.43000 -0.35504 3.09470 -1.43000 -0.35535 3.12050 -1.43000 -0.35424 3.14630 -1.43000 -0.35223 3.16958 -1.43000 -0.34989 3.18805 -1.43000 -0.34772 3.20400 -1.43000 -0.34540 3.03700 -1.43000 -0.34540 3.03803 -1.43000 -0.34314 3.04109 -1.43000 -0.34108 3.05295 -1.43000 -0.33771 3.07142 -1.43000 -0.33576 3.09470 -1.43000 -0.33545 3.12050 -1.43000 -0.33656 3.14630 -1.43000 -0.33857 3.16958 -1.43000 -0.34091 3.18805 -1.43000 -0.34308 3.20400 -1.43000 -0.34540 gnuplot-3.7.3/demo/world.cor100644 1200 17 6634 6515203633 15161 0ustar lheckingusers# # $Id: world.cor,v 1.1.1.1 2025/04/15 19:16:43 lhecking Exp $ # # Gnuplot world correspondences. Feel free to check for and update # your site; especially if it represents a new location or you # know more precise coordinates for a site. A (?) indicates # the site may not be correct. Currently coordinates are generally # rounded to the nearest latitude and longitude. It's fine, however, # to give as many decimal places with each as you like. # USA # Carnegie Mellon University # Univ. of Calif. at Irvine # University of Maryland -110 35 # Northern Arizona University, Flagstaff, Arizona -111 32 # Univ. of Arizona, Tucson, Arizona -110 43 # University of Utah, Salt Lake City, Utah -118 34 # California Institute of Technology (CALTECH), L.A., Calif. -118 34 # Claremont, California -118 34 # Univ. of Calif. at Los Angeles (UCLA), California -120 34.5 # Univ. of Calif. at Santa Barbara, California -122 37.5 # Stanford, California -122 38 # Berkeley, California -122 38 # Richmond, California -122 47.5 # University of Washington, Washington -71 42.5 # MIT, Cambridge, Massachusetts -74.5 40.5 # New Brunswick, New Jersey -75 41 # Bethlehem, Pennsylvania -76 42 # Cornell College, Ithica, New York -78.5 38 # Univ of Virginia, Charlottesville, Virginia -79 36 # N.C. State University, Chapel Hill, North Carolina -80 35 # Duke University, Durham, North Carolina -81 28 # Melbourne, Florida -83 40 # Ohio State, Columbus, Ohio -83 42 # Detroit, Michigan -84 34 # Alpharetta, Georgia -84 34 # Atlanta, Georgia -84 42 # Univ. of Michigan, Ann Arbor, Michigan -86 39 # UCS Indiana (?) -88 40 # University of Illinois, Urbana-Champaign, Illinois -88 42 # Arlington Heights, Illinois -88 42 # Northwestern University, Evanston, Illinois -92 30 # Lafayette, Louisiana -93 45 # Eagan, Minnesota -95 30 # Houston, Texas -95 39 # Kansas State University -96 31 # Texas A&M, College Station, Texas -98 30 # Univ of Texas, Austin, Texas # Canada -123 49 # BC Hydro, Vancover, British Columbia (?) -63 45 # Dartmouth, Nova Scotia, Canada -75 45 # Ecole Polytechnique de Montreal, Canada # United Kingdom -8 54.5 # Bangor, United Kingdom -80.5 43.5 # Waterloo, Ontario, Canada 0 52 # Cambridge, U. K. # Italy 14 46 # Trieste, Italy # Australia 138.5666 -35.01666 # Flinders University, Adelaide, South Australia 138.6333 -34.8 # South Australian Institute, Adelaide, South AUS 145.1333 -37.9167 # Monash University, Melbourne, Victoria 144.9833 -37.8167 # Melbourne University, Melbourne, Victoria # Namibia 17 -23 # Windhoek, Namibia # Sweden 18 60 # Stockholm, Sweden # France 2 49 # Valbonne, CEDEX, France (?) # Finland 24 60 # Espoo, Finland 24 62 # Wassau, Finland (?) # Belgium 4.5 51 # Brussels, Belgium # The Netherlands 4.5 52 # Delft, The Netherlands # Germany 7 51 # University of Cologne, Federal Republic of Germany 7 51.5 # Fraunhofer Institut, Duisburg, Germany 8 48 # Freiburg im Br. (Federal Republic of Germany) 8 52 # Univesity of Dortmund, Federal Republic of Germany 11.5 48 # Technische Universitaet Muenchen, Munich, Germany gnuplot-3.7.3/demo/world.dat100644 1200 17 40624 6515203633 15163 0ustar lheckingusers# # $Id: world.dat,v 1.1.1.1 2025/04/15 19:16:43 lhecking Exp $ # # -140.37 60.25 -132.08 57.20 -131.46 55.98 -133.84 57.12 -136.01 59.12 -137.12 58.28 -139.98 59.73 -146.54 60.36 -149.90 59.50 -149.18 60.81 -153.53 59.32 -156.52 57.11 -162.34 55.06 -157.85 58.12 -162.06 58.36 -164.58 60.06 -165.29 62.57 -161.12 64.49 -168.23 65.49 -162.99 65.97 -161.56 66.55 -166.64 68.25 -159.53 70.38 -154.37 70.96 -148.09 70.26 -142.49 69.83 -141.21 69.56 -152.62 58.41 -152.60 58.40 -153.30 57.80 -152.40 57.48 -153.32 57.79 -166.96 53.96 -167.01 53.95 -168.36 53.50 -168.19 53.36 -170.73 52.68 -170.60 52.55 -174.47 51.94 -174.47 51.92 -176.58 51.71 -176.64 51.73 -177.55 51.76 -177.41 51.63 -178.27 51.75 177.35 51.80 177.33 51.76 172.44 53.00 172.55 53.03 -141.21 60.16 -133.38 58.93 -130.88 54.83 -128.86 53.90 -126.58 52.12 -127.08 50.80 -124.42 49.66 -122.56 48.91 -92.32 48.24 -88.13 48.92 -83.11 46.27 -81.66 44.76 -82.09 42.29 -77.10 44.00 -69.95 46.92 -65.92 45.32 -66.37 44.25 -61.22 45.43 -64.94 47.34 -64.12 48.52 -70.68 47.02 -67.24 49.33 -59.82 50.48 -56.14 52.46 -59.07 53.58 -58.26 54.21 -60.69 55.33 -61.97 57.41 -64.35 59.49 -67.29 58.15 -69.89 59.91 -71.31 61.45 -78.22 61.97 -77.28 59.53 -77.09 55.88 -79.06 51.68 -82.23 52.70 -86.75 55.72 -92.17 56.86 -95.61 58.82 -92.66 62.02 -90.65 63.24 -95.96 64.12 -89.88 63.98 -89.30 65.22 -86.86 66.12 -84.54 66.88 -82.30 67.76 -83.10 69.68 -86.05 67.98 -88.18 68.20 -91.00 68.82 -91.72 69.69 -93.15 71.09 -96.58 71.05 -93.35 69.52 -94.23 68.25 -95.96 66.73 -98.83 68.27 -102.45 67.69 -108.34 68.43 -105.83 68.05 -108.15 66.60 -111.15 67.63 -114.10 68.23 -120.92 69.44 -124.32 69.26 -128.76 70.50 -131.86 69.19 -131.15 69.79 -135.81 69.13 -140.19 69.37 -141.20 69.58 -123.40 48.33 -128.00 50.84 -123.50 48.34 -132.49 52.88 -132.44 52.91 -132.64 53.02 -131.97 53.71 -132.63 53.02 -55.36 51.56 -54.66 49.52 -53.65 47.48 -52.98 46.31 -56.12 46.84 -58.47 47.57 -57.61 50.38 -55.39 51.53 -61.37 49.01 -61.80 49.29 -61.38 49.03 -63.01 46.71 -64.42 46.61 -63.04 46.68 -60.14 46.48 -60.14 46.50 -122.44 48.92 -124.42 47.18 -124.52 42.48 -123.09 38.45 -121.73 36.62 -117.60 33.34 -117.28 32.64 -97.62 25.82 -95.62 28.84 -90.77 29.03 -87.33 30.22 -82.69 28.15 -80.16 26.66 -80.74 32.31 -76.89 35.43 -76.47 38.21 -75.66 37.67 -71.31 41.76 -69.44 44.17 -67.69 47.03 -73.18 45.14 -79.26 43.28 -82.84 42.59 -83.49 45.32 -86.36 43.65 -87.75 43.42 -86.01 45.96 -87.00 46.59 -91.39 46.79 -90.05 47.96 -71.97 41.11 -71.97 41.15 -80.79 27.03 -81.01 26.99 -113.01 42.09 -113.10 42.01 -155.74 20.02 -155.73 19.98 -156.51 20.78 -156.51 20.78 -157.12 21.21 -157.08 20.95 -157.87 21.42 -159.53 22.07 -117.44 66.46 -119.59 65.24 -123.95 65.03 -123.69 66.44 -119.21 66.22 -117.44 66.44 -120.71 64.03 -114.91 62.30 -109.07 62.72 -112.62 61.19 -118.68 61.19 -117.01 61.17 -115.97 62.56 -119.46 64.00 -120.59 63.94 -112.31 58.46 -108.90 59.44 -104.14 58.90 -102.56 56.72 -101.82 58.73 -104.65 58.91 -111.00 58.51 -112.35 58.62 -98.74 50.09 -99.75 52.24 -99.62 51.47 -98.82 50.39 -97.02 50.21 -97.50 54.02 -98.69 52.93 -97.19 51.09 -96.98 50.20 -95.34 49.04 -92.32 50.34 -94.14 49.47 -95.36 48.82 -80.39 56.16 -79.22 55.94 -80.34 56.08 -103.56 58.60 -103.60 58.58 -101.82 58.03 -102.33 58.10 -101.77 58.06 -101.88 55.79 -97.92 57.15 -101.22 55.85 -101.88 55.74 -117.29 32.48 -114.75 27.80 -112.53 24.80 -110.55 24.07 -114.23 29.59 -112.58 29.99 -109.57 25.94 -105.61 21.94 -102.09 17.87 -95.75 15.94 -92.21 14.97 -88.45 17.42 -87.01 21.33 -91.65 18.72 -96.96 20.37 -97.65 25.67 -92.22 14.71 -86.74 12.06 -83.03 8.65 -79.93 8.74 -77.17 7.94 -81.99 8.97 -83.92 12.70 -86.33 15.80 -88.40 15.92 -77.61 6.80 -78.70 0.97 -80.75 -4.47 -76.19 -14.57 -70.44 -18.75 -70.68 -26.15 -71.44 -32.03 -73.38 -37.27 -73.06 -42.11 -73.17 -46.09 -73.52 -48.05 -73.67 -51.56 -71.06 -53.88 -69.14 -50.77 -67.51 -46.59 -63.49 -42.80 -62.14 -40.16 -57.12 -36.71 -53.17 -34.15 -51.26 -32.02 -48.16 -25.48 -40.73 -22.32 -38.88 -15.24 -34.60 -7.81 -41.95 -3.42 -48.02 -1.84 -48.44 -1.57 -50.81 0.00 -54.47 5.39 -60.59 8.32 -64.19 9.88 -70.78 10.64 -70.97 11.89 -76.26 8.76 -77.61 6.80 -69.14 -52.79 -66.16 -55.08 -70.01 -54.88 -70.55 -53.85 -69.31 -52.81 -59.29 -51.58 -59.35 -51.54 -58.65 -51.55 -58.55 -51.56 -84.39 21.44 -73.90 19.73 -79.27 21.18 -83.74 21.80 -84.32 21.42 -66.96 17.95 -67.05 17.89 -77.88 17.22 -78.06 16.98 -74.47 18.08 -69.88 18.99 -71.10 17.76 -74.45 17.86 -85.28 73.74 -85.79 70.96 -85.13 71.94 -84.74 72.96 -80.61 73.10 -78.45 72.20 -75.44 72.55 -73.89 71.98 -72.56 71.04 -71.49 70.57 -69.78 70.29 -68.12 69.71 -65.91 69.19 -66.92 68.39 -64.08 67.68 -62.50 66.68 -63.07 65.33 -66.11 66.08 -67.48 65.41 -64.05 63.15 -66.58 63.26 -69.04 62.33 -72.22 63.77 -76.88 64.17 -73.25 65.54 -70.09 66.64 -72.05 67.44 -76.32 68.36 -78.34 70.17 -82.12 69.71 -87.64 70.12 -89.68 71.43 -85.28 73.74 -80.90 76.10 -84.21 76.28 -88.94 76.38 -85.47 77.40 -85.43 77.93 -87.01 78.54 -83.17 78.94 -84.87 79.93 -81.33 79.82 -76.27 80.92 -82.88 80.62 -82.58 81.16 -86.51 81.05 -89.36 81.21 -90.45 81.38 -89.28 81.86 -87.21 82.30 -80.51 82.05 -80.16 82.55 -77.83 82.86 -75.51 83.05 -71.18 82.90 -65.10 82.78 -63.34 81.80 -68.26 81.26 -69.46 80.34 -71.05 79.82 -74.40 79.46 -75.42 79.03 -75.48 78.92 -76.01 78.20 -80.66 77.28 -78.07 76.98 -80.90 76.13 -92.86 74.13 -92.50 72.70 -94.89 73.16 -92.96 74.14 -94.80 76.95 -89.68 76.04 -88.52 75.40 -82.36 75.67 -79.39 74.65 -86.15 74.22 -91.70 74.94 -95.60 76.91 -94.87 76.96 -99.96 73.74 -97.89 72.90 -98.28 71.13 -102.04 72.92 -101.34 73.14 -99.69 73.59 -107.58 73.25 -104.59 71.02 -101.71 69.56 -104.07 68.62 -106.61 69.12 -114.09 69.05 -113.89 70.12 -115.88 70.32 -116.10 71.32 -117.45 72.48 -113.53 72.44 -109.84 72.24 -106.62 71.71 -107.43 73.04 -120.96 74.29 -118.37 72.53 -123.06 71.18 -123.40 73.77 -120.93 74.27 -108.83 76.74 -106.25 75.54 -107.08 74.78 -112.99 74.16 -112.28 74.99 -116.04 75.33 -115.27 76.20 -110.95 75.56 -109.77 76.31 -108.82 76.70 -115.70 77.46 -118.10 76.30 -121.13 76.37 -116.04 77.28 -110.01 77.86 -112.36 77.68 -109.96 77.86 -109.60 78.48 -112.20 78.01 -109.60 78.48 -97.87 76.61 -99.21 75.31 -100.86 75.60 -99.40 76.26 -97.79 76.60 -94.72 75.53 -94.66 75.52 -104.10 79.01 -99.19 77.54 -103.22 78.08 -104.30 78.95 -93.74 77.52 -93.74 77.52 -96.88 78.50 -96.91 77.77 -96.94 78.48 -84.69 65.84 -81.58 63.87 -85.00 62.96 -84.63 65.71 -81.84 62.75 -82.01 62.63 -79.88 62.12 -79.88 62.12 -43.53 59.89 -45.29 60.67 -47.91 60.83 -49.90 62.41 -50.71 64.42 -51.39 64.94 -52.96 66.09 -53.62 67.19 -53.51 67.51 -51.84 68.65 -52.19 70.00 -51.85 71.03 -55.41 71.41 -54.63 72.97 -56.98 74.70 -61.95 76.09 -66.38 75.83 -71.13 77.00 -66.81 77.60 -70.78 77.78 -64.96 79.70 -63.38 81.16 -56.89 82.17 -48.18 82.15 -42.08 82.74 -38.02 83.54 -23.96 82.94 -25.97 81.97 -25.99 80.64 -13.57 80.97 -16.60 80.16 -19.82 78.82 -18.80 77.54 -21.98 76.46 -20.69 75.12 -21.78 74.40 -24.10 73.69 -26.54 73.08 -24.63 72.69 -21.84 71.69 -24.62 71.24 -27.16 70.89 -27.21 70.00 -24.10 69.35 -28.35 68.43 -32.48 68.56 -35.26 66.26 -37.90 65.90 -40.04 65.00 -40.49 64.04 -42.01 63.14 -42.88 61.15 -43.09 60.07 -43.56 59.90 -16.26 66.41 -15.32 64.29 -20.14 63.47 -21.76 64.21 -21.33 64.97 -23.04 65.62 -21.76 66.26 -18.77 66.12 -16.23 66.35 0.56 51.47 -1.71 54.94 -3.41 57.52 -5.42 58.14 -5.77 55.59 -3.48 54.82 -4.68 52.88 -2.68 51.58 -3.80 50.08 1.26 51.14 0.65 51.41 -7.17 54.91 -9.97 53.47 -8.52 51.76 -5.69 54.79 -7.34 55.25 -1.33 60.66 -1.17 60.38 -6.18 58.44 -6.09 58.36 -6.47 57.58 -6.33 57.54 -7.30 57.54 -7.46 57.05 -6.54 56.94 -6.00 55.94 -5.09 55.55 -4.44 54.38 -4.30 54.19 -8.08 71.02 -8.21 70.86 16.92 79.52 22.26 78.46 16.86 76.41 16.00 77.39 16.03 77.92 16.81 79.50 14.71 79.40 16.05 79.12 14.02 77.80 13.56 78.46 12.63 79.26 14.68 79.40 22.01 78.24 21.86 78.23 21.54 77.75 23.88 77.26 21.53 77.67 22.79 77.79 23.50 79.97 28.24 79.54 20.85 78.94 19.00 79.34 21.05 79.88 23.41 79.96 46.98 80.23 43.13 79.97 47.18 80.22 50.43 80.19 50.55 79.88 47.77 79.86 50.45 80.14 61.79 80.18 61.79 80.18 65.08 80.69 64.27 80.59 65.13 80.68 -5.13 35.66 4.06 36.63 10.40 37.12 11.36 33.61 20.10 30.10 23.49 32.17 31.65 30.80 35.76 23.74 39.75 14.82 42.93 11.34 51.52 11.45 49.82 6.99 43.13 -0.62 39.15 -7.58 40.37 -13.20 37.74 -18.17 35.33 -22.71 32.84 -28.15 26.50 -34.39 19.55 -35.51 17.50 -30.88 12.24 -18.75 13.89 -12.81 12.05 -5.55 9.67 0.14 7.19 3.79 1.74 5.39 -4.77 4.59 -12.00 6.75 -15.54 10.98 -16.33 15.50 -16.10 22.29 -12.90 27.12 -9.52 31.09 -5.41 35.58 33.71 0.00 33.48 -3.42 33.34 -0.20 33.71 0.00 49.30 -12.50 49.28 -18.79 43.95 -25.50 44.37 -20.08 46.34 -16.31 47.91 -14.08 49.30 -12.50 32.18 30.58 36.08 35.03 32.53 36.17 27.77 36.94 26.51 39.18 31.54 40.82 38.53 40.48 40.35 43.17 39.88 46.45 35.18 44.99 33.50 44.96 30.24 45.14 28.70 41.48 26.55 39.84 23.62 39.67 23.80 37.34 21.90 36.92 18.79 42.02 14.52 44.31 14.58 42.25 18.32 39.57 16.05 39.35 11.52 42.36 6.87 43.08 2.80 41.09 -1.11 37.14 -6.24 36.70 -8.67 39.57 -6.51 43.13 -0.84 45.55 -3.93 48.40 0.48 49.09 4.20 51.29 6.44 52.92 8.42 55.94 11.72 55.49 11.73 53.66 16.78 54.14 21.40 56.32 24.67 57.20 28.94 59.18 24.16 59.52 22.07 62.66 23.76 65.35 18.70 62.54 19.11 59.67 18.40 58.54 15.34 55.73 11.74 58.08 8.37 57.68 5.80 59.20 7.38 60.86 7.51 61.86 9.62 62.99 13.37 65.46 15.46 67.12 18.54 68.62 22.32 69.64 24.77 70.17 25.93 69.79 28.56 70.46 29.75 69.76 33.83 69.11 41.90 66.85 35.14 66.25 33.30 66.07 35.46 64.15 37.68 64.03 41.71 64.09 44.80 65.58 44.87 68.16 45.92 66.83 51.79 67.85 53.70 67.89 59.68 68.09 65.07 69.08 68.56 69.19 68.38 70.97 73.03 71.62 73.80 68.29 69.42 66.45 73.43 66.36 77.51 68.36 80.74 66.74 75.27 68.67 75.11 71.80 78.62 70.56 78.43 71.90 82.72 71.23 84.25 70.03 81.40 72.76 86.50 74.01 87.68 74.78 90.25 75.23 68.33 76.71 66.03 75.62 59.10 74.11 54.92 73.03 56.67 74.10 58.56 75.09 63.86 75.87 68.19 76.70 53.04 72.57 58.29 70.39 55.03 70.78 53.44 72.26 53.63 72.61 90.06 21.03 82.06 15.95 80.05 11.72 76.41 8.60 72.79 17.43 72.02 20.00 68.98 21.99 64.62 24.41 57.83 24.77 53.11 26.20 49.67 29.41 50.96 25.15 54.33 23.44 59.03 22.57 57.87 18.86 52.95 15.74 47.26 12.96 42.75 14.68 39.93 19.61 36.92 25.78 33.30 28.46 32.60 30.63 52.22 46.50 51.73 44.73 52.56 41.80 53.43 40.40 54.22 37.86 49.04 38.45 48.17 42.76 49.33 45.64 52.22 46.50 62.32 46.32 60.32 43.06 59.57 45.58 61.94 46.33 79.55 46.12 74.30 44.44 78.62 45.79 79.66 46.07 76.81 41.96 76.73 41.86 35.15 35.15 34.61 34.84 35.18 35.17 23.84 35.33 24.30 34.91 24.09 35.39 15.54 37.89 13.47 37.89 15.54 37.89 9.56 40.95 8.46 39.99 9.12 40.69 9.72 42.60 9.54 42.35 80.60 8.95 79.73 5.96 80.10 8.30 11.04 57.44 10.67 57.25 -77.92 24.67 -77.98 24.22 -77.61 23.62 -77.18 23.64 -75.55 24.13 -75.41 24.31 -91.40 -0.17 -91.52 -0.26 -60.25 46.68 -60.71 46.33 -63.89 49.47 -63.45 49.43 142.53 -10.60 145.62 -16.34 149.79 -22.09 153.21 -26.82 150.52 -35.19 145.60 -38.53 140.13 -37.69 137.34 -34.77 135.76 -34.56 131.50 -31.34 121.72 -33.65 115.62 -33.25 114.09 -26.01 114.88 -21.27 122.34 -18.13 125.32 -14.53 128.39 -14.90 132.35 -11.42 136.16 -12.43 138.07 -16.45 142.25 -10.78 144.72 -40.68 148.32 -42.14 145.57 -42.77 146.47 -41.19 172.86 -34.23 176.10 -37.52 177.06 -39.49 174.77 -38.03 172.83 -34.27 172.36 -40.53 172.92 -43.81 168.41 -46.13 170.26 -43.21 173.69 -40.94 150.74 -10.18 143.04 -8.26 138.48 -6.97 131.95 -2.94 130.91 -1.35 134.38 -2.64 141.24 -2.62 148.19 -8.15 150.75 -10.27 117.24 7.01 117.90 0.76 113.89 -3.50 109.44 -0.82 113.13 3.38 117.24 7.01 95.31 5.75 102.32 1.40 106.03 -2.98 101.46 -2.81 95.20 5.73 140.91 41.53 140.79 35.75 136.82 34.56 133.56 34.72 132.49 35.41 136.73 37.20 139.82 40.00 140.68 41.43 133.71 34.30 131.41 31.58 129.38 33.10 133.90 34.37 141.89 45.50 144.12 42.92 140.30 41.64 141.53 45.30 141.89 45.53 142.57 54.36 143.64 49.19 141.99 45.88 141.92 50.85 142.60 54.34 121.92 25.48 120.53 24.70 121.70 25.51 110.81 20.07 109.20 19.66 110.81 20.07 106.51 -6.16 114.15 -7.72 108.71 -7.89 106.51 -6.16 164.27 -20.01 164.16 -20.27 178.61 -17.04 178.61 -17.04 179.45 -16.43 179.35 -16.43 -172.55 -13.39 -172.61 -13.78 122.26 18.67 123.05 13.86 120.73 13.80 120.43 16.43 121.72 18.40 125.34 9.79 125.56 6.28 122.38 7.00 125.10 9.38 119.64 11.35 118.81 10.16 119.59 10.86 90.05 21.74 94.21 17.79 97.66 15.36 98.21 9.17 103.22 1.56 100.26 8.30 100.01 13.52 104.39 10.37 107.32 10.45 107.55 16.34 108.53 21.73 112.69 21.81 118.83 24.93 121.28 30.25 120.73 32.65 121.77 36.90 117.58 38.21 121.62 40.15 125.12 39.08 126.15 35.18 128.33 38.46 129.92 42.04 138.77 47.30 140.72 52.43 137.10 54.07 140.77 58.39 148.57 59.46 153.83 59.10 156.81 61.68 159.90 60.73 163.79 61.73 156.40 57.76 156.42 51.09 161.82 54.88 162.92 57.34 164.48 59.89 170.42 60.17 177.46 62.62 178.20 64.29 179.48 64.88 -179.87 65.14 -177.13 65.63 -173.46 64.74 -171.13 66.38 -176.48 67.78 -178.80 68.42 178.88 69.10 170.20 69.99 167.68 69.63 159.92 70.14 150.77 71.28 146.92 72.21 146.04 72.39 139.60 72.23 135.49 71.51 130.53 70.86 126.10 72.24 128.94 73.02 123.10 73.28 113.34 73.37 110.43 73.71 107.88 73.72 112.99 75.60 106.34 76.40 104.10 77.52 99.69 76.09 95.12 75.95 89.68 75.57 101.96 79.08 101.31 77.86 101.22 79.04 94.29 79.29 100.02 79.43 95.31 78.68 95.44 79.65 97.26 79.62 95.46 80.62 92.39 79.66 95.07 80.54 91.39 79.62 91.33 79.62 138.54 76.05 144.93 75.45 140.30 74.99 137.27 75.44 138.29 75.98 146.08 75.29 147.75 74.73 145.85 75.06 141.44 73.88 141.48 73.84 0.01 -71.68 6.57 -70.57 15.04 -70.44 25.10 -70.75 33.37 -69.10 38.46 -69.77 42.85 -68.16 46.59 -67.23 49.35 -66.96 52.90 -65.97 58.46 -67.20 63.60 -67.58 70.63 -68.41 69.24 -70.36 76.20 -69.44 88.08 -66.64 94.98 -66.52 101.53 -66.09 111.31 -65.91 118.64 -66.87 126.24 -66.24 133.09 -66.18 139.85 -66.72 146.86 -67.96 153.65 -68.82 159.94 -69.57 164.10 -70.67 170.19 -71.94 165.68 -74.64 163.82 -77.60 162.10 -78.95 166.72 -82.84 175.58 -83.86 -178.56 -84.37 -147.96 -85.40 -152.96 -81.12 -153.95 -79.50 -151.24 -77.48 -146.74 -76.44 -137.68 -75.16 -131.63 -74.63 -123.05 -74.41 -114.76 -73.97 -111.91 -75.41 -105.05 -74.77 -100.90 -74.21 -101.04 -73.18 -100.28 -73.06 -93.06 -73.33 -85.40 -73.18 -79.82 -73.04 -78.21 -72.52 -71.90 -73.41 -67.51 -71.10 -67.57 -68.92 -66.65 -66.83 -64.30 -65.28 -59.14 -63.74 -59.58 -64.37 -62.50 -65.94 -62.48 -66.66 -65.64 -68.02 -63.85 -69.07 -61.69 -70.87 -60.89 -72.71 -61.07 -74.30 -63.33 -75.88 -76.05 -77.06 -83.04 -77.12 -74.30 -80.83 -56.40 -82.14 -42.46 -81.65 -31.60 -80.17 -34.01 -79.20 -32.48 -77.28 -26.28 -76.18 -17.18 -73.45 -11.20 -72.01 -8.67 -71.98 -5.45 -71.45 -0.82 -71.74 0.07 -71.68 164.65 -77.89 170.95 -77.37 179.67 -78.25 -178.74 -78.24 -165.76 -78.47 -158.42 -77.73 -58.98 -64.63 -60.99 -68.62 -61.02 -71.70 -62.01 -74.94 -52.00 -77.07 -42.23 -77.80 -36.22 -78.03 -35.03 -77.81 -26.13 -75.54 -19.35 -73.04 -12.16 -71.86 -6.15 -70.65 -0.57 -69.14 4.93 -70.25 10.91 -69.99 16.52 -69.87 25.41 -70.22 32.13 -69.29 33.62 -69.58 70.56 -68.53 73.91 -69.51 81.42 -67.87 84.67 -66.41 89.07 -66.73 -135.79 -74.67 -124.34 -73.22 -116.65 -74.08 -109.93 -74.64 -105.36 -74.56 -105.83 -74.77 -69.30 -70.06 -71.33 -72.68 -71.42 -71.85 -75.10 -71.46 -71.79 -70.55 -70.34 -69.26 -69.34 -70.13 -49.20 -77.83 -44.59 -78.79 -44.14 -80.13 -59.04 -79.95 -49.28 -77.84 -48.24 -77.81 -58.13 -80.12 -63.25 -80.20 -58.32 -80.12 -163.64 -78.74 -161.20 -79.93 -163.62 -78.74 66.82 66.82 66.82 66.82 gnuplot-3.7.3/demo/world.dem100644 1200 17 2344 7403154745 15143 0ustar lheckingusers# # $Id: world.dem,v 1.1.1.1.2.3 2025/12/04 14:12:53 lhecking Exp $ # # set title "Gnuplot Correspondences" set nokey set noborder set noyzeroaxis set noxtics set noytics # # plot world map and correspondent locations as a + plot 'world.dat' with lines 3 4, 'world.cor' with points 1 2 set title "" set key set border set yzeroaxis set xtics set ytics pause -1 "Hit return to continue" # # plot a '3D version using spherical coordinate system' of the world. set angles degrees set title "3D version using spherical coordinate system" set ticslevel 0 set view 70,40,0.8,1.2 set mapping spherical set parametric set samples 32 set isosamples 9 set urange [-90:90] set vrange [0:360] splot cos(u)*cos(v),cos(u)*sin(v),sin(u) with lines 5 6,\ 'world.dat' with lines 3 4, 'world.cor' with points 1 2 pause -1 "Hit return to continue" # # plot a '3D version using cylindrical coordinate system' of the world. set title "3D version using cylindrical coordinate system" set ticslevel 0.0 set view 70,40,0.8,1.2 set mapping cylindrical set parametric set samples 32 set isosamples 9 set urange [-180:180] set vrange [-90:90] splot cos(u),sin(u),v with lines 5 6,\ 'world.dat' with lines 3 4, 'world.cor' with points 1 2 pause -1 "Hit return to continue" reset gnuplot-3.7.3/docs/ 40755 1200 17 0 7576105315 13231 5ustar lheckingusersgnuplot-3.7.3/docs/latextut/ 40755 1200 17 0 7576105316 15104 5ustar lheckingusersgnuplot-3.7.3/docs/latextut/Makefile.in100644 1200 17 2656 7433223302 17243 0ustar lheckingusers# Makefile for gnuplot LaTeX tutorial # To make the manual from scratch, we run latex two times # default target all: tutorial.dvi # this tells GNU make not to export variables into the environment # But other makes dont understand its significance, so it must # not be the first target in the file. So it is here, before # any variables are created, but after the default target .NOEXPORT: SHELL = /bin/sh DVIPS = dvips srcdir = @srcdir@ VPATH = @srcdir@ prefix = /usr/local exec_prefix = $(prefix) bindir = $(exec_prefix)/bin datadir = $(prefix)/lib mandir = $(prefix)/man top_builddir = . top_srcdir = @top_srcdir@ # which gnuplot-binary to use # use the just compiled version instead of a pre-installed version GNUPLOT = $(top_srcdir)/gnuplot # To touch it up after changes: remake: tutorial.dvi tutorial.ps: tutorial.dvi tutorial.dvi: eg1.tex eg2.tex eg3.tex eg4.tex eg5.tex eg6.tex linepoin.tex \ tutorial.tex header.tex TEXINPUTS=.:$(srcdir): latex tutorial TEXINPUTS=.:$(srcdir): latex tutorial .SUFFIXES: .dvi .tex .plt .ps .dvi.ps: $(DVIPS) -o $@ $< .plt.tex: @test "$(srcdir)" = "$(top_builddir)" || cp $(srcdir)/*.dat . @if test -x $(top_srcdir)/src/gnuplot ; then \ $(top_srcdir)/src/gnuplot $< ; \ else \ gnuplot $< ; \ fi clean: rm -f *.aux *.dvi *.log *.ps eg?.tex linepoin.tex @test "$(srcdir)" = "$(top_builddir)" || rm -f eg?.dat mostlyclean: clean distclean: clean rm -f Makefile realclean: distclean gnuplot-3.7.3/docs/latextut/eg1.plt100644 1200 17 101 6515203635 16341 0ustar lheckingusersset terminal latex set output "eg1.tex" plot [-3.14:3.14] sin(x) gnuplot-3.7.3/docs/latextut/eg2.plt100644 1200 17 333 6515203636 16352 0ustar lheckingusersset terminal latex set output "eg2.tex" set size 5/5., 4/3. set format xy "$%g$" set title 'This is a plot of $y=sin(x)$' set xlabel 'This is the $x$ axis' set ylabel 'This is\\the\\$y$ axis' plot [0:6.28] [0:1] sin(x) gnuplot-3.7.3/docs/latextut/eg3.dat100644 1200 17 1415 6515203636 16346 0ustar lheckingusers-20.000000 -9.125028 -19.000000 -9.109280 -18.000000 -9.091787 -17.000000 -9.072243 -16.000000 -9.050265 -15.000000 -9.025369 -14.000000 -8.996933 -13.000000 -8.964147 -12.000000 -8.925931 -11.000000 -8.880819 -10.000000 -8.826766 -9.000000 -8.760835 -8.000000 -8.678648 -7.000000 -8.573396 -6.000000 -8.433886 -5.000000 -8.240405 -4.000000 -7.954906 -3.000000 -7.494275 -2.000000 -6.642892 -1.000000 -4.712389 0.000000 0.000000 1.000000 4.712389 2.000000 6.642892 3.000000 7.494275 4.000000 7.954906 5.000000 8.240405 6.000000 8.433886 7.000000 8.573396 8.000000 8.678648 9.000000 8.760835 10.000000 8.826766 11.000000 8.880819 12.000000 8.925931 13.000000 8.964147 14.000000 8.996933 15.000000 9.025369 16.000000 9.050265 17.000000 9.072243 18.000000 9.091787 19.000000 9.109280 gnuplot-3.7.3/docs/latextut/eg3.plt100644 1200 17 307 6515203636 16354 0ustar lheckingusersset terminal latex set output "eg3.tex" set format xy "$%g$" set title "This is another plot" set xlabel "$x$ axis" set ylabel "$y$ axis" set key 15,-10 plot x with lines, "eg3.dat" with linespoints gnuplot-3.7.3/docs/latextut/eg4.plt100644 1200 17 343 6515203636 16355 0ustar lheckingusersset terminal latex set output "eg4.tex" set format y "$%g$" set format x "$%.2f$" set title 'This is $\sin(x)$' set xlabel "This is the $x$ axis" set ylabel '$\sin(x)$' set nokey set xtics -pi, pi/4 plot [-pi:pi] [-1:1] sin(x) gnuplot-3.7.3/docs/latextut/eg5.plt100644 1200 17 513 6515203636 16355 0ustar lheckingusersset terminal latex set output "eg5.tex" set format y "$%g$" set format x '$%4.1f\pi$' set noclip points set title 'This is $\sin(x)$' set xlabel "This is the $x$ axis" set ylabel '$\sin(x)$' set nokey set xtics ('$-\pi$' -pi,\ '$-\frac{\pi}{2}$' -pi/2,\ "0" 0,\ '$\frac{\pi}{2}$' pi/2,\ '$\pi$' pi) plot [-pi:pi] [-1:1] sin(x) gnuplot-3.7.3/docs/latextut/eg6.plt100644 1200 17 711 6515203636 16356 0ustar lheckingusersset terminal latex set output "eg6.tex" set size 3.5/5, 3/3. set format y "$%g$" set format x '$%5.1f\mu$' set title "This is a title" set xlabel "This is the $x$ axis" set ylabel 'This is\\a longer\\version\\ of\\the $y$\\ axis' set label "Data" at -5,-5 right set arrow from -5,-5 to -3.3,-6.7 set key -4,8 set xtic -10,5,10 plot [-10:10] [-10:10] "eg3.dat" title "Data File" with linespoints 1 7,\ 3*exp(-x*x)+1 title '$3e^{-x^{2}}+1$' with lines 4 gnuplot-3.7.3/docs/latextut/header.tex100644 1200 17 4326 6760043514 17153 0ustar lheckingusers% % Header file for tutorial.tex % % Spacing \newcommand{\singlespace} {\addtolength{\baselineskip}{-.333\baselineskip}} \newcommand{\doublespace} {\addtolength{\baselineskip}{.5\baselineskip}} % Spacing for the whole document \newcommand{\currentspace}{} % use this for single space % \newcommand{\currentspace}{\doubleespace} % use this for double space % Common abbreviations % (Remember to put '\ ' after if an interword space is % desired rather than end-of-sentence space. Same for '.etc)' ). \newcommand{\eg}{{\em e.g.}} % e.g. \newcommand{\ie}{{\em i.e.}} % i.e. \newcommand{\etc}{{\em etc.}} % etc. \newcommand{\vs}{{\em vs.}} % vs. \newcommand{\usec}{{$\mu$}sec} % microseconds % \boxfigure{pos}{wid}{text}: A figure with a box around it % % pos the usual figure placement arg: eg. htbp % wid the width of the figure, in some units: eg. 5in % text the contents of the figure, including picture/caption/label/etc % \newlength{\boxwidth} \newcommand{\boxfigure}[3]{ \begin{figure}[#1] \setlength{\boxwidth}{#2} \addtolength{\boxwidth}{.1in} \centering \framebox[\boxwidth]{ \begin{minipage}{#2} #3 \end{minipage} } \end{figure} } % use \fullboxwidth for arg 2 of boxfigure to get box of size \textwidth % To show a syntax for a gnutex command \newenvironment{syntax}{\begin{quote}\tt}{\end{quote}} \ifx\LaTeXe\undefined % old LaTeX version % add `,a4' to `toc_entry' to load settings for A4-paper % see below if you add 11pt or 12pt \documentstyle[titlepage,a4]{article} \else % LaTeX2e version % add `[a4paper]' before `{article}' to load settings for A4-paper % see below if you add 11pt or 12pt \documentclass[titlepage,a4paper]{article} % DSL 24 May 2025 \usepackage{latexsym} % If you are concerned about % LaTeX Warning: \oval, \circle, or \line size unavailable on input line % warnings, uncomment one of the following lines. You'll need to create % tutorial.ps then. %\usepackage{eepic} %\usepackage{pspicture} \fi % Margins \sloppy \setlength{\textwidth}{6.5in} \setlength{\textheight}{9in} \setlength{\topmargin}{-0.5in} \setlength{\oddsidemargin}{0pt} \setlength{\evensidemargin}{0pt} % see above \newlength{\fullboxwidth} \setlength{\fullboxwidth}{\textwidth} \addtolength{\fullboxwidth}{-0.1in} gnuplot-3.7.3/docs/latextut/linepoin.plt100644 1200 17 1045 6515203636 17533 0ustar lheckingusers# Plots all line types and point types set term latex set out "linepoin.tex" set clip points set dummy t,y set nokey set parametric set samples 14 # for trange 0:13, we get 14 points: 0, 1, ..., 13 set function style lines set xtics 1,1,12 set ytics 1,1,6 set title "Up to 6 line types and 12 point types" set trange [0 : 13] set xlabel "Points" set xrange [0 : 13] set ylabel "Lines" set yrange [0 : 7] plot t,1, t,2, t,3, t,4, t,5, t,6, 1,t w p, 2,t w p, 3,t w p, 4,t w p,5,t w p, 6,t w p, 7,t w p, 8,t w p, 9,t w p, 10,t w p, 11,t w p, 12,t w p gnuplot-3.7.3/docs/latextut/makefile.dst100644 1200 17 1066 6627321321 17465 0ustar lheckingusers# Makefile for gnuplot LaTeX tutorial # To make the manual from scratch, we run latex two times all: tutorial.dvi done done: latex tutorial echo > done # To touch it up after changes: remake: tutorial.dvi # Always runs latex, e.g., to get labels right force: latex tutorial tutorial.dvi: eg1.tex eg2.tex eg3.tex eg4.tex eg5.tex eg6.tex linepoin.tex \ tutorial.tex header.tex latex tutorial rm -f done .SUFFIXES: .tex .plt .plt.tex: gnuplot $< clean: rm -f *~ *.log eg?.tex linepoin.tex spotless: rm -f *~ *.log *.aux *.dvi eg?.tex linepoin.tex done gnuplot-3.7.3/docs/latextut/tutorial.tex100644 1200 17 40157 6515203636 17611 0ustar lheckingusers% % Tutorial for GNUPLOT plotting program, for LaTeX users % David Kotz % Duke University Computer Science Department % % NOTE: If LaTeX runs out of memory processing plots, % add ``with lines 4'' to each curve in eg*.plt and rerun make. % % some header info \input{header} \begin{document} \title{\LaTeX\ and the GNUPLOT Plotting Program\thanks{This document describes GNUPLOT version 3.0. All plots in this document were made with that version of GNUPLOT.} } \author{David Kotz} \date{July 3, 1991} \maketitle \pagestyle{myheadings} \markright{GNUPLOT \LaTeX\ Tutorial Version 3.0} \currentspace % defined in header.tex \section{Introduction and History} GNUPLOT was originally developed by Colin Kelley and Thomas Williams in 1986 to plot functions and data files on a variety of terminals. In 1988 and 1989 I created an alternate version, known as Gnu\TeX, that supported a new ``terminal type'' called {\tt latex}, so gnuplot would output \LaTeX\ code. The plot could then be included in a \LaTeX\ document. I added a number of embellishments, supported only by the {\tt latex} terminal, allowing the user to produce publication-quality plots. In late 1989 and early 1990 Gnu\TeX\ and a number of other GNUPLOT variants were merged together into a new release of GNUPLOT, 2.0. This includes, among many other improvements, a \LaTeX\ driver derived from the one in Gnu\TeX. Former Gnu\TeX\ users are referred to Section~\ref{oldusers} for information about adapting to GNUPLOT. Anyone interested in using GNUPLOT with \LaTeX\ should read the next section, a tutorial, and the primary GNUPLOT manual. The reader should note that the \LaTeX\ picture environments output by GNUPLOT can be quite large and complicated, and can easily exceed the memory capacity of \TeX. If an enlarged version of \TeX\ is available, it is wise to use it. Otherwise, keep your plots simple and add \verb+\clearpage+ to your document where necessary. There is also a new EEPIC driver ({\tt eepic}), intended for use with the EEPIC macro package for \LaTeX. EEPIC allows for much more efficient line-drawing, runs through \LaTeX\ faster, and uses less memory. See Section~\ref{s:eepic} for more information. There is a small package of auxiliary files (makefiles and scripts) that I find useful for making \LaTeX\ plots with GNUPLOT. This is available for \verb+ftp+ as \verb+pub/gnuplot-latex.shar+ from \verb+cs.duke.edu+. I can mail copies (see the end of this paper for information). \section{Using GNUPLOT for \LaTeX: a Tutorial} GNUPLOT is by nature an interactive program. Users making plots for \LaTeX\ will generally not use GNUPLOT interactively. Whenever hard copy is desired from GNUPLOT, the program need not be run on a graphics terminal. In this case the output is directed to a file or pipe, then sent to the appropriate output device. For example, output from the terminal type {\tt unixplot} may be sent to a program interpreting the Unix plotting standard. The terminal types {\tt imagen} and {\tt postscript} may be used for output to printers understanding those languages. (A shell script ({\tt lasergnu}) is supplied with the distribution that will accept a GNUPLOT command or input file and send the output to an Imagen or Postscript laser printer. This script may have been adapted to your site.) The terminal type {\tt fig} outputs FIG code that can be read by the Fig graphics program and translated into forms usable in both \TeX\ and \LaTeX\ documents. We now ignore the interactive nature of GNUPLOT and provide the input to GNUPLOT from a file, \ie, \begin{verbatim} gnuplot gnu.input \end{verbatim} In this example, all of the commands to GNUPLOT are contained in the file {\tt gnu.input}. Multiple filenames may be supplied to GNUPLOT this way, read in the order they are given. The output (one or more plots) may be piped to another program or redirected to a file. Usually, however, we direct the output explicitly with an instruction to GNUPLOT (the {\tt set output} command). GNUPLOT continues to print error messages to the terminal (stderr). \paragraph{Example 1:} Here is a first example, producing a plot for this document. The GNUPLOT input file is given below, and the output appears as Figure~\ref{eg1}. The input file defines the output to be in \LaTeX, gives a file name for the output, and plots $y=sin(x)$ for $x$ on $[-\pi,\pi]$. To produce the figure, I simply \verb+\input{eg1}+ in a {\tt center} environment in a {\tt figure} environment. In following examples, I will enclose the figure in a box to make it look a little better. \singlespace \begin{verbatim} set terminal latex set output "eg1.tex" plot [-3.14:3.14] sin(x) \end{verbatim} \currentspace \begin{figure}[htbp] \begin{center} \input{eg1} \end{center} \caption{A first example: $y=sin(x)$} \label{eg1} \end{figure} Note that GNUPLOT has drawn in the axes, labeled the tic marks for us, scaled the $y$ axis automatically, and added a key in the upper-right-hand corner (this may be moved with the {\tt set key} command, and removed with {\tt set nokey}). This is the default line style for the \LaTeX\ driver. Because of the limited picture capabilities of \LaTeX, many dots are required to approximate drawing a solid line. This may overload the memory of many \TeX\ implementations. There are other line types available that draw dotted lines and use much less memory. The EEPIC driver draws solid lines with much less memory usage. \paragraph{Example 2:} Now we will embellish the plot a little with some labels. This input file produces Figure~\ref{eg2}. \singlespace \begin{verbatim} set terminal latex set output "eg2.tex" set size 5/5., 4/3. set format xy "$%g$" set title "This is a plot of $y=sin(x)$" set xlabel "This is the $x$ axis" set ylabel "This is\\the\\$y$ axis" plot [0:6.28] [0:1] sin(x) \end{verbatim} \currentspace \boxfigure{htbp}{\fullboxwidth}{ \begin{center} \input{eg2} \end{center} \caption{A more fancy example.} \label{eg2} } We have specified the plot to be 5 inches wide and 4 inches tall with the {\tt set size} command. This is the size of the area used by the plot, {\em including} space for the labels. In the first example, this size was the default 5 inches by 3 inches. By specifying the scaling factors of 1 (or 5/5) and 1.3333 (or 4/3), we obtain the desired plot size. We have requested that the format used by the $x$- and $y$-axis tic mark labels be in \LaTeX\ math mode. This makes the labels look a little better. The default is \verb+set format xy "%g"+. The \verb+%g+ represents the general-purpose floating point formatting specification for the {\tt printf} function in C. Any valid floating-point formatting specification, or \LaTeX\ command, is allowed in the format. A title for the plot and labels for the axes were set up in the next three commands. Note that they are processed by \LaTeX\ and so may have math mode and other symbols in them. The ylabel may have multiple lines, delineated with \verb+\\+. The ylabel can be moved around with optional offset parameters (see {\tt set ylabel} in the GNUPLOT manual). Typically, the ylabel needs to be moved to the left to avoid interfering with the left-hand side of the plot. Once these labels are set up, they will be used for all subsequent plot commands until they are changed. These labels are also supported by the other terminal types, but (of course) any \LaTeX\ code in the string will not be interpreted. We have also defined the range of both $x$ (now $[0,2\pi]$) and $y$ (here $[0,1]$). So far we have plotted one curve, $y=\sin(x)$, on one plot. In GNUPLOT, each {\tt plot} command generates a new plot. If the output is to a screen, the screen is cleared. If to a printer, a new page is produced. In the {\tt latex} case, a new picture is started. It is not likely that \LaTeX\ users will want this to happen, so generally each plot has its own input file and is kept in a separate output ({\tt .tex}) file for inclusion at different places in the document. \paragraph{Example 3:} To place more than one curve on a plot, use one {\tt plot} statement and separate the description of each curve by a comma. In our next example, we will plot both a function and a data file on the same plot. This plot is shown in Figure~\ref{eg3}. \singlespace \begin{verbatim} set terminal latex set output "eg3.tex" set format xy "$%g$" set title "This is another plot" set xlabel "$x$ axis" set ylabel "$y$ axis" set key 15,-10 plot x with lines, "eg3.dat" with linespoints \end{verbatim} \currentspace \boxfigure{htbp}{\fullboxwidth}{ \begin{center} \input{eg3} \end{center} \caption{An example with two curves on the same plot.} \label{eg3} } Here you will see that the $x$ range was not specified. The $x$ range is determined automatically, unless specified by the user. In this case, it is defined by the range of the data file \verb+"eg3.dat"+. The function is plotted over the same range. If no data files or $x$ range are supplied, the default range of $[-10:10]$ is used. We have also moved the key to a different position. The function $y=x$ is plotted ``with lines'', which is the default plot style for functions, and is shown here to illustrate the plot style option. The data file {\tt eg3.dat} is plotted with style {\tt linespoints}, a style like {\tt lines} that also plots a symbol at each data point. There is a style called {\tt points} that only plots the symbols at data points, and another called {\tt dots} that plots a tiny dot for each data point. The {\tt points} and {\tt linespoints} styles produce a different point symbol for each curve on the plot (for up to twelve symbols, after which they are re-used; see Figure~\ref{linepoint} for a complete list). The {\tt lines} and {\tt linespoints} styles use a different line style for each curve on the plot (in this example the dots have different spacing). The style {\tt impulses} draws a perpendicular from each point to the $x$-axis. Finally, the {\tt errorbars} style can draw error bars at each data point (see the GNUPLOT manual). \paragraph{Example 4:} In the above plots of $\sin(x)$, it would make more sense to label the axis in units of $\pi$. The position and labels of the tic labels may be specified by the user, with the {\tt set xtics} and {\tt set ytics} commands. This is demonstrated by the following example, shown in Figure~\ref{eg4}. \singlespace \begin{verbatim} set terminal latex set output "eg4.tex" set format y "$%g$" set format x "$%.2f$" set title "This is $\sin(x)$" set xlabel "This is the $x$ axis" set ylabel "$\sin(x)$" set nokey set xtics -pi, pi/4 plot [-pi:pi] [-1:1] sin(x) \end{verbatim} \currentspace \boxfigure{htbp}{\fullboxwidth}{ \begin{center} \input{eg4} \end{center} \caption{An example of the {\tt set xtics} command.} \label{eg4} } Since {\tt pi} is a predefined variable in GNUPLOT, we can use it anywhere we may use an expression. The {\tt set xtics} command here specifies that the tics on the $x$ axis start at $-\pi$ and increment by $\pi/4$. Since no end point is given, the tics continue to the right edge. We have also turned off the key, and changed the format to restrict the $x$-axis tic labels to 2 decimal places. With a little more work, the plot can look even better. Another form of this command allows us to specify the label and position of each tic individually. Replacing the above {\tt set xtics} command with the following gives us Figure~\ref{eg5}. We also make use of the line continuation character, the backslash (\verb+\+), to spread out this command for readability. \singlespace \begin{verbatim} set xtics ("$-\pi$" -pi,\ "$-\frac{\pi}{2}$" -pi/2,\ "0" 0,\ "$\frac{\pi}{2}$" pi/2,\ "$\pi$" pi) \end{verbatim} \currentspace \boxfigure{htbp}{\fullboxwidth}{ \begin{center} \input{eg5} \end{center} \caption{A fancy example of the {\tt set xtics} command.} \label{eg5} } \paragraph{Going further:} You should now be able to make a variety of plots for your \LaTeX\ document. We will present a final example without explanation that showcases some of the capabilities of GNUPLOT. You may find documentation for the various commands in the GNUPLOT manual, though hopefully this example is somewhat self-explanatory. This is shown in Figure~\ref{eg6}. \singlespace \begin{verbatim} set terminal latex set output "eg6.tex" set size 3.5/5, 3/3. set format y "$%g$" set format x "$%5.1f\mu$" set title "This is a title" set xlabel "This is the $x$ axis" set ylabel "This is\\a longer\\version\\ of\\the $y$\\ axis" set label "Data" at -5,-5 right set arrow from -5,-5 to -3.3,-6.7 set key -4,8 set xtic -10,5,10 plot [-10:10] [-10:10] "eg3.dat" title "Data File" with linespoints 1 7,\ 3*exp(-x*x)+1 title "$3e^{-x^{2}}+1$" with lines 4 \end{verbatim} \currentspace \boxfigure{htbp}{\fullboxwidth}{ \begin{center} \input{eg6} \end{center} \caption{An example of many features.} \label{eg6} } \paragraph{Line and point types:} For reference, we show all of the line and point types available in Figure~\ref{linepoint}. \boxfigure{htbp}{\fullboxwidth}{ \begin{center} \input{linepoin} \end{center} \caption{All of the line and point types in the \LaTeX\ driver.} \label{linepoint} } \subsection{Summary --- Use with \LaTeX} In summary, to use the \LaTeX\ facilities of GNUPLOT, the first command to GNUPLOT should be \begin{syntax} set terminal latex \end{syntax} and the output of GNUPLOT should be directed to a file, for example, \begin{verbatim} set output "plot.tex" \end{verbatim} This may be anything you like but it should have a {\tt .tex} extension, of course. Then the size of the plot should be given. For example, the command \begin{verbatim} set size 1,2 \end{verbatim} tells GNUPLOT to use a 5 inch wide by 6 inch high box for the plot. The numbers given are {\em scale factors}, not the actual size. The default is 5 inches by 3 inches. This is the size of the complete plot, including all labels. When finished, the file will contain all of the plots you have specified (you probably only want one plot per file). This file can then be used in a \LaTeX\ document, \eg, \singlespace \begin{verbatim} \begin {figure} \begin{center} \input{plot} \end{center} \end {figure} \end{verbatim} \currentspace This puts the plot into a figure. You will also want to read about the following commands: {\tt set title, set xlabel, set ylabel, set key, set label, set xtics, set ytics}, and {\tt set clip}. These are all described in the regular GNUPLOT manual. \section{Use with EEPIC} \label{s:eepic} EEPIC is a macro package extending the picture environment of \LaTeX. If you have the EPIC or EEPIC macros, and your {\tt dvi} translator supports the {\em tpic\/} \verb+\special+s, then you can save \LaTeX\ memory. With EEPIC pictures, the {\tt plot.tex} file will be smaller, \LaTeX\ will run much faster (and need much less memory), and the {\tt dvi} file will be smaller. The quality of the output is about the same. If you change the source, you can generate some more interesting line styles. To use EEPIC, set GNUPLOT's terminal type to {\tt eepic} instead of {\tt latex}, and use GNUPLOT as before. The line styles will change. Include the file {\tt plot.tex} in your document as before, along with the document style options {\tt [epic,eepic]}. \section{For Former Gnu\TeX\ Users} \label{oldusers} Former Gnu\TeX\ users may be pleased with many of the new features (many inspired by your suggestions!), but will also find many changes. GNUPLOT will {\em not\/} run all Gnu\TeX\ input files unchanged. Several Gnu\TeX\ features were not included in GNUPLOT because they were specific to the \LaTeX\ driver. I encourage you to use the newer GNUPLOT. A translator is available that attempts to translate your old Gnu\TeX\ 1.6 input files into GNUPLOT 3.0 files. You can ftp it from \verb+cs.duke.edu+ as \verb+dist/sources/gnuplot/gnut2p.tar.Z+. This file also contains directions and a list of changes from Gnu\TeX\ to GNUPLOT. \section{Contact} For general GNUPLOT questions, send mail to the GNUPLOT mailing list (\verb+info-gnuplot@dartmouth.edu+) or post to the GNUPLOT newsgroup (\verb+comp.graphics.apps.gnuplot+). \end{document} gnuplot-3.7.3/docs/old/ 40755 1200 17 0 7576105321 14004 5ustar lheckingusersgnuplot-3.7.3/docs/old/ChangeLog.old100644 1200 17 170634 6624021625 16500 0ustar lheckingusers/* * The rcs log will be removed for `real' releases * * A note about version numberering: Since RCS is notable faster when using * trunk revisions (x.y), I have decided simply to start with revs 1.x * * There is a small bug in CVS that prevents the commit -r option from * working. This means that the revision numbers in the individual files * do not agree with the one in the log. I hope to fix this some time soon. * * $Log: ChangeLog.old,v $ * Revision 1.1 2025/11/16 13:07:33 lhecking * Moved from version.c. * * * I have moved these entries from version.c. All future code changes * should be logged in ChangeLog. Lars Hecking * * Revision 1.347 2025/06/22 12:24:56 ddenholm * dd : retrieve fit.*, matrix.*, docs/latextut/makefile from earlier vsns * add set noxdtics etc. (behave same as set xtics) * * Revision 1.346 2025/06/18 14:55:21 ddenholm * Lars : compilation of many patches posted to the net. * * Revision 1.345 2025/05/19 18:05:03 ddenholm * drd: add missing stdfn.c file * * Revision 1.344 2025/04/14 00:38:57 drd * drd: oops - forgot to bump version number with last checkin. * * Revision 1.343 2025/03/22 23:31:31 drd * hbb: compile on win16 ; latest and greatest hidden3d stuff * * Revision 1.342 2025/03/22 22:32:24 drd * drd: update copyright statements on most files. There are still a * few files (obscure terminal drivers) copyright others. Maybe * we have to drop these, or at least list the files which * cannot be redistributed with a modified gnuplot. * (Or maybe it is okay to include these files unchanged in an * otherwise modified gnuplot ?) * * Revision 1.341 2025/12/16 23:01:05 drd * Lars Hecking: 0PORTING, 0README, 0INSTALL * HBB: latest hidden3d stuff * off-by-one error in long-line datafiles * gas@SLAC.stanford.edu : fix for \" inside "strings" * Hans-Martin Keller : fix for fault in contour stuff * Niels Provos : VMS stuff * * Revision 1.340 2025/11/25 23:03:09 drd * Alexander Mai: fix show output for non-auto x range * Konrad Bernloehr: fixes for logscale tics * pointsize for fig * Thomas Witelski: set border in save output * HBB: key entry for impulse plot * Dick Crawford: recent (latest ?) docs * drd: set cntrparam ; ... * fix y2label placement (I hope) * * Revision 1.339 2025/10/10 06:51:56 drd * drd: very minor tweaks : fix the longjmp on os/2 ; fix the problem * with time on last column in data file ; make lmargin and tmargin * of 0 actually work * * Revision 1.338 2025/07/23 23:16:36 drd * drd: fix autodetection of libgd - inverted logic meant that !=no meant * yes. Now !=yes means no, since it returns blank for no * swap axes and smooth keywords on plot line, since smooth * is really a data modifier * fix the set key width stuff so that the text is within a * key box for any combination of key reverse Left|Right * * Revision 1.337 2025/07/22 23:20:54 drd * erik@tntnhb3.tn.tudelft.nl : conform to postscript DSC * HBB, Lars Hecking : -Xc for solaris compile and other config changes * ueda@syslab.lias.flab.fujitsu.co.jp : gplt_x11.c includes config.h * fix script line number after inline data * Roger Fearick : os/2 patches * jgrant@traveller.com: gplt_x11.c fix to drain _all_ X events after a select() * fix endianness problem in cgm driver * Carsten Steger : fixes for clean build on amiga * David Schooley : ai term updates * M.N.Schipper@IRI.TUDelft.NL : workaround for broken sscanf(%n) on os9 * William Kirby : double->coordtype in interpol.c * cb203@cus.cam.ac.uk: documentation : -noraise instead of +raise * drd: localise use of to plot.c and parse.c, for png on linux * * Revision 1.336 2025/06/04 05:48:01 drd * drd: put back setvbuf(...,1024) * (trivial) make show at $3 work properly * table output uses %g not %f for contours * * Revision 1.335 2025/05/27 01:29:03 drd * HBB: change number of colours in pbm.trm * new hidden3d.c and fit demo/docs * Alexander Mai: os/2 patches (sorry I keep missing os/2 patches) * Lars Hecking: autoconf changes for png, and more configure improvements * drd: space in timefmt means 0 or more spaces. Add read of %b / %B * tweak the windows /noend stuff * * Revision 1.334 2025/05/19 08:10:25 drd * Dick Crawford : set key width [but I still think it should be absolute,not relative] * drd: review the splot key stuff : * set key box ; set contour ; splot x,y overran the key box * splot x title '' was not same as splot x notitle * * Revision 1.333 2025/05/18 21:22:14 drd * Dick Crawford : rmargin/y2label bug * Latest docs * Joost Witteveen: configure bug * Lars Hecking: setvbuf workaround for win32 * HBB : don't fit when ndata < nparams * HBB, Berthold Hoellmann : docs/makefile deps * Novak Levente: tgif upgrade * drd: fix pslatex aux again * fix show xdata * support %02H in time formats : allows suppression of leading 0's * * Revision 1.332 2025/04/12 05:44:01 drd * HBB: FIT_MAXITER patch ; drd added it to fit.dem and gnuplot.doc * drd: change hidden3d.c to not draw diagonals by default * trap seg.fault in set term pslatex aux ; set out ; plot x * Mention gif and png in 0INSTAL. Output a brief message when * configure fails to detect the libraries. * Add mention of AIX 4 NaNq bug to gnuplot.doc * * Revision 1.331 2025/04/10 02:33:29 drd * Dick Crawford: fix broken set label ... font ... * Lars Hecking: many cleanups * Alexander Mai: os/2 changes * drd: trap EOF in fit intr. handler * warn if udf shares name with internal func * doc and copyrights * * Revision 1.330 2025/04/08 06:14:18 drd * Lars Hecking, drd: update command takes optional second parameter * Roger Fearick: os2 patches ("os2237") * * Revision 1.329 2025/04/05 19:44:29 drd * Ian MacPhedran, Konrad Bernloehr: fig driver patch * Berthold Hoellmann: support --with-gd etc in configure * patches for hidden demos * John Grant : fix unitialised variable in gplt_x11 * HBB : latest hidden3d (25/3/97) * Nelson Beebe : fix some typos * Gary Holt: guard configure --with-gnu-readline=/bogus/path * drd: make non-rotated labels the default * fix up multilined title and x2label * print extended-printf %c as e+/-nn for outrange powers * (forgot to record in 322) : trap top-bit-set chars in bitmap.c * configure --with-gnu-readline should not assume -ltermcap (Debian Linux) * * Revision 1.328 2025/03/09 23:50:19 drd * drd: detect top-bit-set characters in bitmap.c * detect gd lib in autoconf * put writeback back into plot2d.c : deleted for some reason..? * AL: NeXT fixes, plus some tidying. * Roger Fearick, HBB : column check in fit.c * HBB: latest hidden3d.c (wasn't latest last time) * Stefan Bodewig: doc2xxxx for multiple top-level entries * Alexander Jolk: error in %c in extended printfs * * Revision 1.327 2025/03/06 06:04:14 drd * drd: add support for dates in user-tics ie set xtics ('format' 'place',...) * * Revision 1.326 2025/03/04 07:58:15 drd * Alexander Mai : gif to os2 stdout * Carson Wilson,drd: fix off-by-one in days for xdtics and %a * CMWestern,William Kirby: win32 build with bc * Dick Crawford : rotate patch * HBB: latest hidden3d code (with drd's OUTRANGE tweak) * James Obrien,drd : don't write to readonly string returned by xlib * drd: change message when range is less than zero * show as comment the current range hidden by auto * fix output to PRN in windows * latex multiplot uses original size for bounding box * temporary fix for VMS help : allow only one toplevel help entry * * Revision 1.325 2025/01/05 22:02:42 drd * Johannes.Hoffstadt,drd: free() bug in fit.c * William Kirby: undefined tmpn in fit.c * Carsten Steger: clean compile on HP-UX & Irix 6.2 * Robert Lutwak: avoid ObjC keywords in cgm.trm * Jim Van Zandt: linwidth for cgm * Alexander Mai: readline fix for os/2 * makefile.os2 update * bjr@ln.nimh.nih.gov : take out redundant cast which upsets SGI * Lucas Hart : titles and crosshair in multiple X11 windows * nameless mailbox for VMS x11 * mgr.dem update * C.M.Western@bristol.ac.uk : win95 fixes * drd: (trivial) accept vectors (plural) as line style * * Revision 1.324 2025/12/19 20:25:30 drd * Matthew Jackson (and others): segv on linux with set locale * William Kirby: win32 has long filename, but win32s does not : fix update * Jim Van Zandt : allow more contour levels * G.Allen Morris III: texdraw fix * Alexander Mai: makefile.os2 * David Schooley: mac patches * * Revision 1.323 2025/12/19 19:12:50 drd * Roger Fearick/Alexander Mai : doc2ipf changes * HBB: pointsize bug in hidden splot (?) * Carsten Steger: tweaks for compile on amiga * drd: eliminate some gcc -W... warnings (mostly prototypes) * tidy use of lp in plot3d.c and set.c * add some comments to term.c, and make term_suspend static * set missing was completely broken (df_column->good is not boolean) * show contour says approximately n levels * off-by-1 error in incremental contour levels : last one was not shown * * Revision 1.322 2025/12/09 15:57:59 drd * drd: config tweaks * gif output on stdout * invnorm(0) on aix * * Revision 1.321 2025/12/08 13:08:56 drd * Lars Hecking : extensive changes to autoconf and various portability * problems addressed. But is ifdef __STDC__ enough, * or do we need if defined(__STDC__) && __STDC__ ? * * Revision 1.320 2025/12/08 12:28:48 drd * Alexander Mai, Roger Fearick : more os/2 changes * Joerg, drd : font 'name,size' for enhanced postscript * drd : more checking in checkdoc, with file/line recording * latest FAQ * * Revision 1.319 2025/11/26 07:15:19 drd * Alex Jolk: fix scientific formats %s/%S for -ve powers * Roger Fearick: os/2 fixes * * Revision 1.318 2025/11/25 22:37:40 drd * drd: accept '% g' for format * tolerate pressing ^c while in help * both x11 and X11 terminals accept options * set nomxtics ; save 'all.gnu' no longer outputs 'set no mxtics' * move reopen of output file into term_init so that cgm output is not * truncated when terminal is subsequently changed * $0 in plot 'file' resets to 0 after an index change * column(-1) works same as plot 'file' using -1:1 * - so plot 'file' using ($0+column(-1)):1 skips an x at blank lines * set contour ; splot 0 no longer faults * splot '/dev/null' binary no longer faults * bf_test opens files "wb" on all platforms * * Revision 1.317 2025/11/24 16:47:13 drd * drd: fix polar-mode tics when rmin != 0 * splot f(x,y)=x*y, f(x,y) faulted * - scoping problem in plot3d.c : I blame the inconsistent indentation * add tkcanvas driver (see file for authors) * Ed.Breen@dms.csiro.au clear for x11 * Dick Crawford: latest doc changes * dkh: buildvms.com fix * * Revision 1.316 2025/10/21 19:51:18 drd * drd: fix radial grid lines in polar mode * fix seg fault with set dgrid ; splot '/dev/null' * pointsize and wide lines for pslatex * plot ... linestyle was not being accepted * HBB: remove 32k limit for DOS32 * Emmanuel Bigler : vector demo (for x11 only) * Avinoam Kalma, drd: show action_table * Joerg : more consistent linewidth stuff * save cleanup ; add comments * * Revision 1.315 2025/09/29 21:12:41 drd * drd: no ! after a shell command, except in interactive mode * fix polar mode bug * use fancy formats in user-defined tics * * Revision 1.314 2025/09/23 20:55:03 drd * drd: try acos again : acos(-2) _is_ defined (but complex) * post.trm was using pointsize directly, hence everything scaled twice * - next.trm looks like it was doing the same * define null pointsize routine to set scale for generic do_point * test now fflushes (actually, uses term_start_plot and term_end_plot) * * Revision 1.313 2025/09/22 21:08:28 drd * drd: include time.c in buildvms.com * fix latex character width (again) * fix problem with linetypes not matching key on post.trm * anticipate -ve log in acos() * Carsten Steger: amiga fixes * * Revision 1.312 2025/09/18 23:15:09 drd * drd: fix font sizes in latex term * try to work around assertion failure with x1y2 axes in parametric * Roger Fearick: pm.trm tweaks * Martijn Schipper: os9 changes * * Revision 1.311 2025/09/16 20:22:18 drd * drd: fix seg fault with fig term on sunos * -DNOGAMMA if neither lgamma nor gamma defined * truncate term_options before call term->options * Gary Holt, drd: outstr stored twice in save : now only a comment is output * W.Geppert: doc changes * * Revision 1.310 2025/09/15 13:04:06 drd * HBB: hidden3d fix * gary Holt: configure --with-gnu-readline[=path] * Dick Crawford: latest docs * drd: file copyrights, comp.graphics.apps.gnuplot * * Revision 1.309 2025/09/11 23:39:56 drd * drd: try again to get the line property keywords right * remove duplicate pointsize entry points from term structure, and * reimplement set pointsize via line property stuff * implement line width for x11 * fix "unknown type in real()" from plot ' NO_LOCALE_H in configuration * tweak makefiles for documentation * * Revision 1.265 2025/01/30 23:47:14 drd * drd: tweak malefile.djg * Stefan Bodewig: doc2info.c and xref.c * Dick Crawford: new gnuplot.doc * - note that there is a problem with tables in doc2ipf ! * * Revision 1.264 2025/01/28 16:31:44 drd * drd: take out defunct atari.trm from some makefiles * (try to) choose real(sqrt(z)) >= 0 * Emmanuel Bigler, drd: encoding support for hpgl * Werner Geppert: fixes to help text in post.trm and x11.trm * Stefan Bodewig: add asinh etc * Pieter Vosbeek: new pslatex.trm * Emmanual Bigler: djsvga.trm * * Revision 1.263 2025/01/25 19:47:34 drd * drd: all doc2* filters use termdoc.c * trap seg fault in doc2rtf.c * tweak grass.trm to work with doc2* * * Revision 1.262 2025/01/24 22:18:24 drd * drd: optional heap checking if compiled with CHECK_HEAP_USE * remove term/emxvgaold.trm term/bigfig.trm term/pstex.trm * tweaks to hpljii.trm and win.trm for making manual with *.trm * docs/termdoc.c reads from allterm.h if -DALL_TERM * * Revision 1.261 2025/01/23 20:42:24 drd * Stephen Peters : %%Orientation in postscript output * Thomas Witelski,drd: space after mirror in save_xtics * Axel Kielhorn,drd: reset x2range * Joerg Fischer,drd: change to GPMIN/GPMAX * extend scientific symbols in gsprintf * restore reading of files on command line * * Revision 1.260 2025/01/23 19:25:56 drd * drd: tweaks to compile on NT (hope I got them all) * * Revision 1.259 2025/01/22 21:22:25 drd * drd: have a go at splot 'file' matrix - index not done yet * * Revision 1.258 2025/01/18 20:36:22 drd * Pedro Mendes, drd: try to tidy up sources/build for win16/win32 * * Revision 1.257 2025/01/17 23:09:43 drd * drd: first attempt at clear for multiplot * catch seg fault in xstrftime * fix output in show/save xrange for xdata time * * Revision 1.256 2025/01/16 22:12:34 drd * drd: trap a div by zero with xdtics / xmtics * try to support tm_wday field in ggmtime() * first attempt at timecolumn() and tm_sec() family * * Revision 1.255 2025/01/11 22:45:12 drd * Volker Solinus, drd: avoid namespace clashes with zlib used by png term * Joerg Fischer: more help moved into terminal driver files * * Revision 1.254 2025/01/11 22:25:28 drd * jrv@vanzandt.mv.com : auto contours at "nice" levels * hkeller@gwdg.de : improvements to contouring code * * Revision 1.253 2025/01/11 21:58:22 drd * Lucas Hart: trap a division by zero * Volker Solinus: fix some weird problems caused by folding editor * Carsten Steger: many small tweaks to compile on HP-UX and Amiga * * Revision 1.252 2025/01/11 21:43:34 drd * s.mccluney@bre.com: make wgnuplot filename run until plot window is * explicitly closed, or enter interactive session if * /noend is specified * * Revision 1.251 2025/01/10 21:26:19 drd * drd: add file gnuplot.opt containing a list of the core files * update makefile.vms to use this. Comments in some other makefiles * * Revision 1.250 2025/01/10 20:18:37 drd * drd: add doc2html.c into the cvs tree, and so into distribution * trivial tweaks to win/ files to compile with VC++ * * Revision 1.249 2025/01/10 20:07:49 drd * cmw: patches for win32s using borland c + various small tweaks * * Revision 1.248 2025/12/20 22:44:28 drd * Erik Luijten: missing static keyword in set.c * fix a small layout problem in Makefile.in * Joerg Fischer: put back in the extra line in boxed key * drd: post eps bounding box * make %T print as %d not %f hence no trailing .000000 * * Revision 1.247 2025/12/20 21:46:41 drd * Stefan Bodewig: updated remaining terminals * Joerg Fischer: moved help text to drivers * Dick Crawford: docs/ps_guide.ps * * Revision 1.246 2025/12/18 22:41:13 drd * drd: accept %+... in gprintf() * first attempt at accepting set ytics [start,]step[,end] * * Revision 1.245 2025/12/14 21:08:59 drd * drd: oops - range calculation wrong in splines * Neil Mathews: catch a possible pointer mis-access * Joerg Fischer: tidy the set/show messages * * Revision 1.244 2025/12/12 22:15:24 drd * drd: make interpol.c aware of dual axes and log scales * tighten up on plot using n cf plot using 0:n, including plot..every * * Revision 1.243 2025/12/11 23:14:09 drd * drd: dont seg fault if initial term not identified * dont take logs twice in spline stuff * both min and MIN are defined by some compilers - use GPMIN * update spline demo * various: small tweaks for different compilers * * Revision 1.242 2025/12/10 18:40:57 drd * drd: back out change to bitmap.h [dont quite understand, actually !] * second attempt at setlocale stuff * * Revision 1.241 2025/12/07 21:58:06 drd * drd: tweaks to configure.in, Makefile.in * add set locale * Hans Olav Eggestad: timeseries patches * * Revision 1.240 2025/12/05 22:18:51 drd * drd: try to fix the postscript bounding-box and reencode problems * Joerg Fischer: cp437 and cp830 code pages for postscript * drd: bogus code in boundary() in graphics.c (ybot used before set) * * Revision 1.239 2025/12/02 22:04:44 drd * carsten steger: amiga fixes, plus upgrades for several terminals * drd: make post.trm variables static * * Revision 1.238 2025/12/02 21:16:50 drd * drd and many others: small tweaks to code to avoid compiler warnings * and improve portability * * Revision 1.237 2025/11/29 19:01:22 drd * schooley@ee.gatech.edu: mif.trm * Ian MacPhedran: hpgl.trm * * Revision 1.236 2025/11/29 17:45:30 drd * drd: changes for VMS * * Revision 1.235 2025/11/29 14:32:26 drd * schuh@meteo.uni-koeln.de: fix splines, etc * plot 'file' smooth ... * * Revision 1.234 2025/11/27 12:57:30 drd * Ian_MacPhedran@engr.USask.CA : coloured points in fig output * * Revision 1.233 2025/11/27 11:28:48 drd * drd: add x2 label * allow fonts for title / axis labels / time * allow strftime format for timestamp * * Revision 1.232 2025/11/20 12:04:53 drd * Joerg Fischer: extra line in boxed key * * Revision 1.231 2025/11/20 11:28:45 drd * drd: a few portability concerns * beebe@math.utah.edu - trap use of void fn in an expression. * * Revision 1.230 2025/11/17 17:58:01 drd * drd: try to eliminate the MAXINT problem in datafile.c * * Revision 1.229 2025/11/03 11:23:54 drd * drd: accept x1y2 etc as well as first or second * small change to tics for very small plots * * Revision 1.228 2025/11/02 16:55:29 drd * drd: dont core dump when plot is very small - disable key instead * when autoscaling tics, take plot size and font size into account * Neil Mathews : dont forget to alloc room for string terminator * * Revision 1.227 2025/11/02 13:14:05 drd * drd: support boxed key with key under * * Revision 1.226 2025/11/01 19:05:06 drd * drd: splot fix for rs6000 * allow negative ticslevel * geometric series tics for logscale * enhanced sprintf for tic format * * Revision 1.225 2025/11/01 17:43:50 drd * drd: added png and updated several other drivers, particularly for help * add the code to doc2gih and doc2hlp to merge help from driver files * * Revision 1.224 2025/08/25 07:39:46 drd * drd: show, save and reset 'origin' * trap seg.fault in dumb.trm * avoid garbage on exit from linux vga * reset ordinate at double blank line * John Turner : tidy up key * * Revision 1.223 2025/08/24 17:06:47 drd * drd: detect tempnam in configure * * Revision 1.222 2025/08/24 13:06:32 drd * drd: run configure.in through autoconf 2.4 * * Revision 1.221 2025/08/24 12:49:55 drd * drd: update dumb and latex terminals * Joerg Fischer : small change to pm driver * * Revision 1.220 2025/08/24 11:54:12 drd * drd: many small changes : index a:b:c for splot, fixes for vms compile, * preserve \ in strings saved then loaded * * Revision 1.219 2025/07/28 16:22:38 drd * drd: still trying to get it to compile on sun * * Revision 1.218 2025/07/28 10:19:03 drd * drd: more changes to make it compile on sun * * Revision 1.217 2025/07/27 16:23:05 drd * drd: changes to compile on archaic sun compiler * - some ANSI prototypes without __P had sneaked in * - sun compiler doesn't merge adjacent string constants ? * - 0L caused error ? * (still a problem with float.h ?) * * Revision 1.216 2025/07/21 10:45:45 drd * Ian McPhedron, drd - updated various tek drivers to new format * * Revision 1.215 2025/06/22 15:20:37 drd * drd: fix garbage output from print {1, 1.74268162741998e-08} * atari terminals in makefile.unx * * Revision 1.214 2025/06/19 14:22:14 drd * werner@bilbo.mez.ruhr-uni-bochum.de : tgif.trm * Dick Crawford : new docs * * Revision 1.213 2025/06/19 13:10:25 drd * drd: fix missing ytics in splot * splot x*y ; plot x didn't (seem to) do the plot * tony@plaza.ds.adp.com : atof not prototyped in scanner.c * dirk@lstm.uni-erlangen.de : typos in term.h and ataries.trm * * Revision 1.212 2025/06/16 12:37:09 drd * drd : update regis terminal * * Revision 1.211 2025/06/16 12:02:41 drd * turner@lanl.gov : /usr/openwin -> $OPENWINHOME in makefile.unx * * Revision 1.210 2025/06/16 11:58:32 drd * schuh@meteo.Uni-Koeln.DE : add bezier, etc to saved output * * Revision 1.209 2025/06/16 11:45:50 drd * drd: make enhpost an 'enhanced' option on post.trm * * Revision 1.208 2025/06/16 10:07:51 drd * Thomas.Koenig : set encoding * * Revision 1.207 2025/06/16 09:06:49 drd * macphed@dvinci.usask.ca, drd: implement MINEXP * * Revision 1.206 2025/06/16 07:57:00 drd * drd: saved absolute key position incorrectly * * Revision 1.205 2025/06/15 15:51:21 drd * Richard Stanton : os2 makefile * prm@aber.ac.uk : windows patch * * Revision 1.204 2025/06/15 15:35:59 drd * drd, papp@tpri6f.gsi.de : effort to store all co-ordinate numbers * in unsigned variables * * Revision 1.203 2025/06/15 10:51:22 drd * drd: show zeroax was showing wrong linetype * pieter@wfw.wtb.tue.nl : update pslatex driver to output plain TeX * * Revision 1.202 2025/06/15 10:30:42 drd * drd: key wrong with set cont; splot ... notitle * anonymous: makefile.tc fixes * * Revision 1.201 2025/06/14 13:13:03 drd * drd: h_tic and v_tic reversed in xtick_callback and ytick_callback * * Revision 1.200 2025/06/14 12:20:42 drd * dirk@lstm.uni-erlangen.de: atari patches * * Revision 1.199 2025/06/13 14:13:23 drd * drd: tidy up contour key entries. * accept set clabel ['format'] to control key printf format. * * Revision 1.198 2025/06/13 10:18:10 drd * drd: portrait and landscape were switched in enh/post.trm * * Revision 1.197 2025/06/12 18:09:30 drd * drd: fix ylabel x-coord when origin is displaced from 0,0 * fix output from 'show margin' * * Revision 1.196 2025/06/12 14:19:07 drd * drd: fix bug where empty data files not correctly trapped * * Revision 1.195 2025/06/12 12:05:04 drd * drd: fix bug in fortran D/Q detection * put #ifdef LINUX around linux.trm in term.h * * Revision 1.194 2025/05/26 17:41:52 drd * anonymous ! (uploaded to /incoming) * * Revision 1.193 2025/05/26 17:25:47 drd * Roger Fearick: os/2 patches * * Revision 1.192 2025/05/25 16:44:27 drd * drd: multiplot for splot; suspend only when prompt is issued * * Revision 1.191 2025/05/25 14:24:08 drd * drd: change term_tbl[term] to term-> in preparation for change to * linked lists of terminals * * Revision 1.190 2025/05/25 13:38:17 drd * drd: fix memory leak when plotting files without \n before EOF * * Revision 1.189 2025/05/25 10:47:21 drd * drd: error in parsing set *range reverse writeback * * Revision 1.188 2025/05/12 12:26:35 drd * woo,drd: initial multiplot support * * Revision 1.187 2025/05/11 15:22:51 drd * Richard Stanton, Roger Fearick : OS/2 patches * Russel Lang, Pedro Mendes : windows patches * * Revision 1.186 2025/05/11 12:05:09 drd * Martijn Schipper : os9 port * * Revision 1.185 2025/05/09 15:47:32 drd * drd: trivial bug in reporting of extension of ranges < zero * * Revision 1.184 2025/05/09 15:35:01 drd * drd: range reverse and writeback * * Revision 1.183 2025/05/09 12:27:15 drd * several beta testers : mismatch in declarations for {xy}fact across files * * Revision 1.182 2025/05/09 12:23:51 drd * drd: realloc(NULL,x) is not to be trusted * * Revision 1.181 2025/04/27 14:33:42 drd * dirk@lstm.uni-erlangen.de : fix 'set nozeroaxis' bug * drd: syntax error in gplt_x11.c * * Revision 1.180 2025/04/27 14:00:11 drd * Richard Standton: os/2 changes * mikulik@labs.polycnrs-gre.fr : djgpp changes * drd: two blank lines after table output, for index * pointsize parsing in gplt_x11.c * * Revision 1.179 2025/04/27 12:06:05 drd * drd: more recent FAQ * update some makefiles * use graph_error() rather than int_error() while graphics active * allow mix of co-ordinate systems _within_ arrow/label posn. * * Revision 1.178 2025/04/24 10:41:54 drd * Roger Fearick: more os/2 changes * drd: trivial portability fixes * * Revision 1.177 2025/04/22 14:22:07 drd * drd: accept set size x since if there is no ,y xsize already changed * guard against division by zero when fit is almost perfect * * Revision 1.176 2025/04/21 15:02:03 drd * drd: update a few of the makefiles * temporary fixes to the non-portable timeseries code * * Revision 1.175 2025/04/21 12:46:18 drd * drd: try to accept qQ in place of e for fortran quad numbers in datafile * split graph3d.c into graph3d.c, util3d.c, hidden3d.c [needs cleanup] * * Revision 1.174 2025/04/20 18:11:55 drd * olav@melvin.jordforsk.nlh.no : timeseries update * set missing * prm@aber.ac.uk : fix cd for win32 * * Revision 1.173 2025/04/20 14:27:28 drd * drd: modify table3d output so that it can be read back in as a data splot * * Revision 1.172 2025/04/20 13:18:52 drd * prm@aber.ac.uk : win32 changes * David Liu: merge pc graphics routines * * Revision 1.171 2025/04/20 12:54:40 drd * drd: allow arbitrary number of columns and arbitrary length data lines * start undefined fit variables at 1 rather than 1e-30 * Werner Geppert: new-format texdraw.trm * * Revision 1.170 2025/04/19 15:57:04 drd * Roger Fearick: changes for os/2 * * Revision 1.169 2025/04/19 14:01:42 drd * Alex Woo, drd: isnumber -> isanumber to avoid BSD name conflict * * Revision 1.168 2025/04/19 13:15:20 drd * drd: remove polar.dat and antenna.dat from makefiles. * * Revision 1.167 2025/04/19 10:59:04 drd * mccauley@ecn.purdue.edu: update grass terminal * drd: fix bug in inverted range in plot2d.c * * Revision 1.166 2025/04/13 17:06:42 drd * drd: last-minute changes to makefile.vms * implement sin(x) as expected for set angles degrees * fix bug : acos(cos({0,1})) was undefined * * Revision 1.165 2025/04/13 15:26:38 drd * drd: rewrite compiler detection in buildvms.com * fix plot second,x * add a set_pointsize function to the terminal driver fn * mods to term.c to support old and new forms of driver * initial implementation of tic mirror and axis for splot * a few set no* commands for consistency * make set bar continuous rather than on/off * * Revision 1.164 2025/04/07 18:03:59 drd * drd: more fixes from betatesters. * finally fix contour bug on OpenVMS/AXP and splot crash on OSF/AXP * * Revision 1.163 2025/04/06 13:59:00 drd * drd: the various small fixes to makefiles since release of 162 * fixes for set zero and plot second,first,x * * Revision 1.162 2025/04/04 16:00:22 drd * drd: remove gnubin from makefiles * * Revision 1.161 2025/04/04 15:14:13 drd * drd: set size square. graph and screen coordinates for labels, etc * via is a requried keyword for fit. more code cleanups (#if 0) * * Revision 1.160 2025/04/03 19:09:21 drd * drd: allow key to be positioned at screen/graph co-ordinates * * Revision 1.159 2025/04/03 18:23:39 drd * phy6tc@gps.leeds.ac.uk : updated README.mf and makefile.unx for solaris * roger@rsun1.ms.ornl.gov, drd: accept i as abbreviation for index * was not autoscaling for binary splot * drd: implement absolute labels and arrows * small changes to makefile.tc * * Revision 1.158 2025/04/03 11:13:44 drd * rjl: 16-bit changes (ie make pointers GPHUGE) * * Revision 1.157 2025/04/03 10:36:10 drd * rjl: win32 patches * * Revision 1.156 2025/03/31 17:53:12 drd * drd: a few more corrections to command.c/plot2d.c/plot3d.c * * Revision 1.155 2025/03/31 16:19:03 drd * drd: extract some code from command.c into plot2d.c and plot3d.c * update makefiles, but I've probably missed something. * (what's Makefile.in - can it be used to autogenerate the makefiles ?) * * Revision 1.154 2025/03/31 13:24:06 drd * drd: more code cleanups, vms prototypes... * split setshow.c into set.c and show.c * * Revision 1.153 2025/03/31 10:22:23 drd * AL: no auto cast of 0 to 0.0 to gen_tics() with k&r compilers. * drd: ditto for cast of double to int in calls to dbl_raise() * code cleanup based on output from gcc -pedantic -Wall * cc -xansi for SGI and -DHAVE_UNISTD_H for linux * * Revision 1.152 2025/03/28 14:27:02 drd * drd: update 00test and CodeStyle * AL: explicit promotion of int->double since k&r compilers cant prototype * * Revision 1.151 2025/03/27 18:04:44 drd * drd: New (temporary) file WhatsNew * update some demos (not sure cvs has noticed..?) * zeroaxis linetype for 3d * draw 2d zeroaxes after grid to get the correct linetype * * Revision 1.150 2025/03/27 15:00:04 drd * drd: couple of problems with non-ansi compilers. * fonts for labels weren't being saved properly * allow linetype to be specied for grid and zeroaxes * allow all four margins to be specified : xmargin -> [lbrt]margin * * Revision 1.149 2025/03/27 09:41:50 drd * drd: reorder linux alphabetically in term.c * rename popen.c to amiga.c, add a CVS id line, update makefile.amg * more tweaks to makefile.vms * * Revision 1.148 2025/03/26 16:59:13 drd * drd : code cleanup in graph3d.c, command.c * brouard@sauvy.ined.fr : contour levels fixed when z is logscale * * Revision 1.147 2025/03/26 15:02:08 drd * drd: many, many changes. Second axes. Rewrite of polar mode. every option * on datafile. splot and fit use datafile module. grid at any/all of * tics. Auto-set left margin. Clip data at edge of splot. Remove * need for parametric mode for 3-column data file. border for splot. * Tics on border. Tics optionally mirrored on opposite border. Allow * plot '' to reuse last name. Various small bugfixes. * * Revision 1.146 2025/03/26 13:26:31 drd * drd: trap realloc(NULL,size) bug in vaxcrtl * * Revision 1.145 2025/03/05 12:33:29 alex * AL: suid fixes for linux * * Revision 1.144 2025/12/10 12:06:18 alex * AL: updated configure.in for autoconf 2.x * * Revision 1.143 2025/10/06 14:33:39 alex * Roger Fearick: OS/2 patches for alpha 140 * * Revision 1.142 2025/09/29 22:37:56 alex * David J. Liu: read wait string from /dev/console in linux.trm * * Revision 1.141 2025/09/18 16:45:59 alex * David J. Liu: new linux driver, new terminal function set_font (only * Postscript yet), new emx terminal * * Revision 1.140 2025/09/13 23:12:18 alex * AL: updated 00test * * Revision 1.139 2025/09/13 22:24:37 alex * David Denholm: unary +, duplicate symbols in contour.c, plot.h * makefile.vms fixes, undefined dummy vars in plot command, * some bugfixes / additions to key * * Revision 1.138 2025/09/13 19:21:06 alex * AL: added -DNO_GIH to vms and Windows makefiles * * Revision 1.137 2025/09/13 18:54:22 alex * Andrew McLean: avoid CFLAGS commandline overflow in makefile.tc * * Revision 1.136 2025/09/13 18:35:02 alex * Carsten Steger: pipe support for Amiga * * Revision 1.135 2025/09/13 18:20:35 alex * AL: avoid integer overflow in constant expressions for 16bit compilers. * Hope I caught all. * * Revision 1.134 2025/09/13 16:14:13 alex * AL: memory functions moved to alloc.c. removed default cases again. * * Revision 1.133 2025/09/03 12:18:05 alex * AL: EOF lockup fix in readline.c * * Revision 1.132 2025/09/03 12:05:00 alex * Carsten Steger: fix for missing tics in polar mode. (Some patch conflicts, * still not working completely) * * Revision 1.131 2025/09/03 10:41:56 alex * AL: strftime rewrite, removed strftime dummy from misc.c, still has to be * added to buildvms.com and makefile.vms * * Revision 1.130 2025/08/28 15:34:26 alex * AL: changed defines MEMCPY and MEMSET to BCOPY and BZERO, changed all * occurences to bzero to memset. * added default case with warning to all switch statements * removed VFORK code and comments * * Revision 1.129 2025/08/28 12:58:45 alex * AL: reintroduced NOGAMMA flag, gamma in specfun in only used if NOGAMMA is * defined. (Maybe the flag needs to be added to some of the makefiles) * * Revision 1.128 2025/08/28 11:45:30 alex * AL: change check for valid data after strtod call * * Revision 1.127 2025/08/28 11:12:52 alex * David Denholm: using patch * * Revision 1.126 2025/08/27 18:01:05 alex * AL: took out blank line fix again * * Revision 1.125 2025/08/18 16:39:28 alex * AL: accept line with whitespace a separator in data files. * * Revision 1.124 2025/08/18 16:14:40 alex * AL: new mkdist script, autoconf fixes for NeXT, support for GNU readline * * Revision 1.123 2025/08/09 10:03:46 alex * Yehavi Bourvine: space around = in fit.c, matrix.c * * Revision 1.122 2025/08/05 08:57:48 alex * AL: fixes for non-ANSI compilers * * Revision 1.121 2025/07/30 16:37:39 alex * AL: added errorfix.sh * * Revision 1.120 2025/07/30 16:35:39 alex * AL: fixup script for #error directives on brain dead compilers, install.sh * from autoconf * * Revision 1.119 2025/07/27 16:45:38 alex * AL: generate options string that PSLATEX_init understands * * Revision 1.118 2025/07/27 15:34:54 alex * Pieter Vosbeek: new pstex driver * * Revision 1.117 2025/07/27 14:48:48 alex * Vivek Khera: update for pslatex driver * * Revision 1.116 2025/07/27 14:28:33 alex * David Denholm: pad struct coordinate to 32 bytes * * Revision 1.115 2025/07/24 15:54:17 alex * Martin P.J. Zinser: move VMS status definition inside main to avoid double * definition on APX * * Revision 1.114 2025/07/24 15:39:08 alex * Brian McKeever, David Denholm, AL: added comment about distinguishing * VAX and Alpha in buildvms.com * * Revision 1.113 2025/07/24 15:28:47 alex * Richard Mathar: chance makefile.unx comment about Convex 10.1, use -O1 for * convex_x11. * * Revision 1.112 2025/07/23 15:28:07 alex * David Denholm: recognise X11 flags is uppercase also * * Revision 1.111 2025/06/26 15:58:44 alex * David Denholm: check that pointsize is >0 * * Revision 1.110 2025/06/26 15:50:20 alex * David Denholm: variable pointsize, some bug fixes * AL: add pointsize to next.trm+gnuplot.doc * * Revision 1.109 2025/06/25 13:23:27 alex * Carsten Steger: Amiga fixes * * Revision 1.108 2025/06/25 13:16:25 alex * Carsten Steger: HPUX fixes * * Revision 1.107 2025/06/25 12:52:36 alex * Matt Heffron: more point symbols for enhpost.trm * * Revision 1.106 2025/06/25 12:44:13 alex * AL: install lasergnu from sourcedir in Makefile.in * Alexander Woo,Hans Olav Eggestad: fixed for graphics.c * added timedat.dem to all.dem * * Revision 1.105 2025/06/25 11:44:51 alex * AL: configure created with new autoconf 1.11 * * Revision 1.104 2025/05/02 22:26:02 alex * AL: added substitute function strerror, cast qsort function to right type * removed warning about return type in tek.trm * * Revision 1.103 2025/05/01 16:12:49 alex * Daniel S. Lewart: AIX makefile fixes * * Revision 1.102 2025/05/01 16:04:40 alex * David Denholm: vms fixes in buildvms and makefile.vms * * Revision 1.101 2025/05/01 15:36:50 alex * Alex Woo: fixes for timedat, Borland C, OSF * * Revision 1.100 2025/05/01 15:23:11 alex * Yehavi Bourvine: fixes for vms * * Revision 1.99 2025/04/30 16:09:21 alex * Olaf Flebbe: use doubles for reading data files, print error message when %f * is used * * Revision 1.98 2025/04/30 15:35:20 alex * AL: signal function type, added GPL to end of configure.in * * Revision 1.97 2025/04/29 10:43:31 alex * AL: cleaned up signal calls, removed obsolete next_31 makefile target, * removed autoconf call from Makefile.in, check for signal type in * configure * * Revision 1.96 2025/04/26 12:54:54 alex * Carsten Grammes: removed single character input and variable function * arguments from fit.c, moved fit demofiles to ./demo, updated version message * AL: removed obsolete test for variable arguments from configure, wasn't * working anyway * * Revision 1.95 2025/04/26 11:34:01 alex * Raymond Toy: Update for PSTricks terminal * * Revision 1.94 2025/04/26 11:14:03 alex * Jay I Choe: different line styles for tek40xx, typo in draw_clip_line in * graph3d.c * * Revision 1.93 2025/04/26 11:01:11 alex * AL: removed call to malloc_debug, configure with autoconf 1.9 * * Revision 1.92 2025/04/06 08:52:20 alex * AL: moved cd and pwd commands out of command(), setdrive fix for MSC * removed extern declarations from term/*, updated 00test * * Revision 1.91 2025/04/05 17:32:14 alex * AL: moved stdio.h and setjmp.h to stdfn, env now declared in plot.h * * Revision 1.90 2025/04/05 16:19:10 alex * Matt Heffron: enhanced postscript driver, if and call command * * Revision 1.89 2025/04/01 15:46:52 alex * AL: changed variable argument lists to use either stdarg or varargs * added checks to configure * * Revision 1.88 2025/04/01 00:12:38 alex * Carsten Steger: fix for draw_clip_line when more than two intersections are * found * * Revision 1.87 2025/04/01 00:07:27 alex * Carsten Steger: changes for hpux 9.0 * * Revision 1.86 2025/03/31 23:09:54 alex * AL: renamed stringfn.h to stdfn.h, moved stdlib, sys/types, errno, time * to stdfn.h, added checks for headers to configure, removed declarations for * stdlib, time and math functions * * Revision 1.85 2025/03/30 16:19:41 alex * David Denholm: changes for openvms/axp * AL: moved some global variable declarations to plot.h * * Revision 1.84 2025/03/30 02:04:46 alex * Alexander Woo: makefile changes for solaris and osf, minor tics are off * by default * * Revision 1.83 2025/03/30 01:40:10 alex * Roger Fearick: os2 fixes for term/pm.trm * * Revision 1.82 2025/03/30 01:27:58 alex * Carsten Steger: amiga fixes, new reset command, * docs/*.c now includes "ansichek.h" * AL: removed -Idocs from all makefiles * * Revision 1.81 2025/03/30 00:57:23 alex * Olaf Flebbe: check for string.h and strchr in configure * * Revision 1.80 2025/03/30 00:35:50 alex * Olaf Flebbe: print up to 15 digits in print command * * Revision 1.79 2025/03/29 22:49:47 alex * AL: changed action tables to dynamic size, read_line fix * * Revision 1.78 2025/03/29 19:10:32 alex * AL: changed token table to dynamic size * * Revision 1.77 2025/03/29 16:33:15 alex * AL: removed useless replot_line_len and extend_input_line * * Revision 1.76 2025/03/29 16:26:17 alex * AL: changed replot_line to dynamic length * * Revision 1.75 2025/03/29 13:36:54 alex * AL: readline with variable line length * * Revision 1.74 2025/03/23 17:36:03 alex * Robert Cunningham: draw 3d impulses from 0 plane and not from base * Raymond Toy,AL: find X if includes and libs are in the standard directories * * Revision 1.73 2025/03/22 14:26:23 alex * Yehavi Bourvine: changes for gnufit with vms * AL: removed NOGAMMA define since it is no longer needed * * Revision 1.72 2025/03/22 13:40:16 alex * Olaf Flebbe: gnufit changes to Makefile.in, autoconf code to detect strnicmp * and strcasecmp * AL: added -DSTRNICMP to Borland and MS makefiles, working strnicmp function * autoconf code to detect termios and tcgetattr on NeXT * * Revision 1.71 2025/03/22 02:15:17 alex * AL: sgtty version of kbhit and getch in fit.c. TERMIOS_FIT now called TERMIOS * (as in readline), NeXT uses termios in readline also. new targets for old * (i.e. <=3.1) versions of NeXTstep * * Revision 1.70 2025/03/21 17:29:03 alex * AL: merged DOS version of read_line into generic one. vms still missing. * * Revision 1.69 2025/03/20 14:57:04 alex * AL: changed interactive and file input to dynamic line len. dos and vms not * yet. * * Revision 1.68 2025/03/19 14:28:48 alex * AL: added buffer size parameter to copy_str, quote_str and capture, removed * quotel_str * * Revision 1.67 2025/03/18 23:08:27 alex * AL: removed extern declarations without prototypes * * Revision 1.66 2025/03/18 22:42:01 alex * AL: removed most(?) extern function declarations without prototypes * * Revision 1.65 2025/03/18 21:06:03 alex * Carsten Gammes: fix for prototype for solve_tri_diag * David Denholm, AL: fix for 0.0**1.0 and arg(0) * Olaf Flebbe, AL: use signed int in dumb term, add nl after dumping plot * AL: removed printf warnings from hpgl.trm and regis.trm * * Revision 1.64 2025/03/18 16:23:24 alex * AL: removed ANSI prototypes in fit.c, kbhit and getch static * * Revision 1.63 2025/03/17 10:44:20 alex * AL: updated 00test * * Revision 1.62 2025/03/17 00:54:13 alex * AL: deANSIfied the gnufit functions, added readme.1st as README.fit * * Revision 1.61 2025/03/17 00:04:28 alex * Carsten Grammes: gnufit 1.2, new files fit.c, fit.h, matrix.c, matrix.h, * type.h, fitdemo directory * * Revision 1.60 2025/03/14 17:28:50 alex * AL: new file stringfn.h to include string.h or strings.h, removed all * external declarations for str??? functions * * Revision 1.59 2025/03/14 14:44:41 alex * AL: changed all functions with char arguments to ANSI style, changed more * index calls, removed warning about HUGE redefinition on NeXT * * Revision 1.58 2025/03/13 16:46:49 alex * Wolfram Gloger: include ansichek after system includes, don't redefine * __P if defined in linux * * Revision 1.57 2025/03/13 16:32:50 alex * Yehavi Bourvine: changes for vms * * Revision 1.56 2025/03/13 16:10:55 alex * Alex Woo: changes for SGI IRIX * * Revision 1.55 2025/03/13 16:01:52 alex * Ton van Overbeek: changes for PureC * AL: changed all uses of index and rindex to strchr and strrchr * * Revision 1.54 2025/03/13 15:32:57 alex * AL: some prototype fixes to compile on PCs * * Revision 1.53 2025/03/13 15:27:51 alex * John Interrante: better cleanup in Makefile.in, also draw horizontal grid * lines, don't print terminal number * AL: rename docs/makefile and docs/latextut/makefile in configure * * Revision 1.52 2025/03/13 14:57:57 alex * Carsten Steger: revised amiga makefile, some more prototypes, removed * unused variables, fix for ytick==0.0 * * Revision 1.51 2025/03/13 14:28:14 alex * Olaf Flebbe: search for lgamma in libm * * Revision 1.50 2025/03/03 14:07:40 alex * AL: removed some ANSI-style functions, # always in first column * * Revision 1.49 2025/03/02 00:13:15 alex * AL: added 00test README file * * Revision 1.48 2025/02/25 16:38:09 alex * AL: added prototypes to files in docs. Added -Idocs to all makefiles that * don't (cd docs; make something) * * Revision 1.47 2025/02/25 15:14:05 alex * AL: added ANSI prototypes for all files . and term, new files protos.h, * fnproto.h, binary.h, ansichek.h * * Revision 1.46 2025/01/29 16:27:49 alex * HO Eggestad's timeseries mods * * Revision 1.45 2025/01/27 23:15:21 alex * AL: Atari ST MultiAES mods, Projects file * * Revision 1.44 2025/01/07 13:53:29 alex * AL: changed version numbers to 3.5 * * Revision 1.43 2025/01/03 16:49:28 alex * Olaf Flebbe: use DBL_MAX for VERYLARGE on sgi, since HUGE==FLT_MAX * * Revision 1.42 2025/01/03 16:43:28 alex * AL,Paul Mitchell: change X11 settings for sgi, pass INSTALL to docs/makefile * * Revision 1.41 2025/01/03 16:14:09 alex * AL: don't put `point' into LaTeX options string * * Revision 1.40 2025/01/03 16:03:38 alex * AL: memory efficient checkin procedure. Boy, I hate DOS. * * Revision 1.39 2025/01/03 15:49:45 alex * AL: new script nuke, -a option for all * * Revision 1.38 2025/01/03 02:24:51 alex * AL: #if'ed out obsolete vfork shell function * * Revision 1.37 2025/01/02 14:54:34 alex * David Ciemiewicz: don't redefine VREPRINT * * Revision 1.36 2025/01/02 14:49:29 alex * Olaf Flebbe: give specific message when too many tokens * * Revision 1.35 2025/01/02 14:35:04 alex * Olaf Flebbe: add sony_news to #ifdef for sys/types.h * * Revision 1.34 2025/01/02 14:30:05 alex * Timothy L D Collins: mention solaris as possible machine type in makefile.unx * * Revision 1.33 2025/01/02 14:20:35 alex * AL: use read/write string for sscanf in gnuplot_x11 * * Revision 1.32 2025/01/02 13:47:41 alex * Marc van Woerkom,AL: check for undefined DISPLAY env var * * Revision 1.31 2025/01/02 13:42:06 alex * Phil Garner: check OSF1 instead of __alpha for signal return type * AL: abort option in civers * * Revision 1.30 2025/01/02 13:28:56 alex * AL: merged bigfig in fig, new civers, all, files * * Revision 1.29 2024/12/30 21:58:52 alex * Alex Woo: data/command mix mod * * Revision 1.29 2024/12/30 21:58:52 alex * Alex Woo: data/command mix mod * * Revision 1.28 2025/10/15 00:11:29 alex * Radey Shouman: parametric notitle bug * * Revision 1.27 2025/10/14 20:10:53 alex * David Kotz: MailFTP via Dartmouth server in 0README * * Revision 1.26 2025/10/08 17:20:30 alex * Alexander Woo: user selected borders and tic marks, seems to conflict with * minor tic marks * * Revision 1.25 2025/10/08 17:05:55 alex * Akira Sawada: call XSetWindowBackgroundPixmap after drawing picture * * Revision 1.24 2025/10/08 16:40:49 alex * AL: new define CHARSET7BIT in readline.c. The readline function now accepts * extended chars (e.g. latin1, MSDOS codepage etc.) * * Revision 1.23 2025/10/08 16:27:31 alex * Atsushi Mori: logarithmic impulses * * Revision 1.22 2025/10/08 14:46:49 alex * Henri Gavin: row/col fix for dgrid3d * * Revision 1.21 2025/10/08 14:43:31 alex * AL: set pipe signal to ignore * * Revision 1.20 2025/10/08 14:37:53 alex * Dave Shield, AL: fixed comments regarding HELPDEST in makefile.unx * * Revision 1.19 2025/10/08 13:58:51 alex * AL: missing {, tabs in makefile.unx * * Revision 1.18 2025/10/07 19:23:49 alex * Scott D. Heavner: Linux svga driver, new file term/linux.trm * * Revision 1.17 2025/10/07 19:10:58 alex * N.G. Brookins: ReGIS fix * * Revision 1.16 2025/10/07 17:19:49 alex * Vivek Khera: Color option for PSLaTeX driver * * Revision 1.15 2025/10/07 17:14:11 alex * Timothy L D Collins: new hpgl driver hp7550 * * Revision 1.14 2025/10/07 16:57:37 alex * Wolfram Gloger: Sloppy mem management fix, LINUX_FLAGS in makefile.unx * * Revision 1.13 2025/10/07 16:53:03 alex * Carsten Steger: demo fixes * * Revision 1.12 2025/10/07 15:01:55 alex * Emmanuel Bigler: missing -I in HP_FLAGS * * Revision 1.11 2025/10/07 14:56:17 alex * Bruno PIGUET: missing ()s in term/hpgl.trm PCL_YMAX * * Revision 1.10 2025/10/07 13:24:42 alex * Roland B Roberts, Alex Woo: gcc on VMS * * Revision 1.9 2025/10/07 12:56:53 alex * AL: a couple of .cvsignore file, no for final releases * * Revision 1.8 2025/10/07 12:52:58 alex * Alex Woo: fix a logic error in polar grid plotting, labels every 30 degrees * * Revision 1.7 2025/10/07 11:09:33 alex * Nick Strobel: Documentation for new errorbar styles * * Revision 1.6 2025/10/07 10:21:21 alex * Lars Henke, Nick Strobel: minor ticmarks, new errorbar styles: yerrorbars, * xerrorbars, xyerrorbars, boxxyerrorbars, interpolation: splines, csplines, * sbezier, bezier, errorbars with and without ticks, Amiga cleanup * AL: added interpol.c to all makefiles * * Revision 1.5 2025/10/06 15:51:27 alex * AL: Added Log to version.c, commitvers * cast in dxf.trm * */ gnuplot-3.7.3/docs/old/History.old100644 1200 17 25015 6624021577 16270 0ustar lheckingusers GNUPLOT 3.0 RELEASE NOTES This describes changes to gnuplot since version 2.02 (ie, 2.0 patchlevel 2). Highlights: ----------- Gnuplot now handles surfaces as well. A new command names 'splot' (for surface plot) has been added for that purpose. A number of new 'set' options for surfaces have also been added and include: isosamples, view, contour, cntrparam, mapping and surface. All tic/label/range setting for x and y axes were extended for z as well. The size of data file for both curves and surfaces is now independent of the samples (and iso_samples) variables. Data structures will automatically be extended to hold the entire data file. New features: ------------- 3-d plotting with 'splot', and many auxiliary options. New 'errorbars' plot style. New 'using x:y{:z}' format (NOT COMPATIBLE WITH GNUPLOT 2.02). Data file plotting (for both curves and surfaces) does not require setting samples (and isosamples for surfaces) any more. Size is increased on the fly, without affecting the sample rate of functions. New makefile scheme for unix, that supports lots of flavors. Command-line editing and history. Adjustable display of plot border ('set border'). Set-commands 'x/y/zlabel' can now position the label. Set-command 'title' can now position the title. New time display command ('set time'). All PostScript devices were rewritten and merged into one (Color Postscript is supported). Due to this many of the old postscript terminal driver names are not supported; only 'postscript' is recognized. Use 'help set terminal postscript' to find out how to get your old favorite back, and more. A 'gnuplot' mode for emacs in the file gnuplot.el. SGI device was improved. New option to 'set arrow' called 'nohead'. List of all new commands: ------------------------- splot List of all new set-show commands: --------------------------------- border, cntrparam, contour, isosamples, mapping, rrange, surface, time, view, zlabel, ztics, zrange. List of changed set-show commands: ---------------------------------- arrow, terminal, title, xlabel, ylabel, zlabel New terminal drivers: --------------------- vws, apollo, gpr apollo, dumb, BigFig, Super VGA, ln03/hplj/hpdj, dxf. Deletions: ---------- The gnut2p translator (translating gnutex to gnuplot) has been removed from the standard distribution. It is available for ftp separately at cs.duke.edu as dist/sources/gnuplot/gnut2p.tar.Z Bug fixes include: ------------------ Fix a bug in parametric type hangup. Add a .sty file to fix indexing problem in manual. Fix a bug in hpljii. Fix a bug in FIG arrows. ACKNOWLEDGEMENTS - New PostScript device by Russell Lang (rjl@monu1.cc.monash.edu.au). - Several bug fixes, manual proofing, World Map by John Campbell (campbell@nauvax.ucc.nau.edu). - Eliminating samples from data files, lasergnu, and errorbars by David Kotz (David.Kotz@Dartmouth.edu). - New history and line editing capability for Unix and MSDOS, bivariate functions and some bug fixes by Tom Tkacik (tkacik@hobbes.cs.gmr.com). - New using x:y{:z} format by Dennis Linse (djlinse@phoenix.princeton.edu). - Some polar enhancements, time display and some bug fixes by Alex Woo (woo@ra-next.arc.nasa.gov). - Dumb terminal by Francois Pinard (pinard@iro.umontreal.ca). - VWS device by Walter Speth (speth@dbnpib5.bitnet). - BigFig device by (ian@augean.ua.oz.au). - XDF device by Florian Hiss (fhis1231@w204zrz.zrz.tu-berlin.de). - HP Desk Jet device, overlay support for BCC and more efficient help and pc.trm for MSDOS by Maurice Castro and Russell Lang (rjl@monu1.cc.monash.edu.au). - New makefile scheme by Roque Donizete De Oliveira and David Kotz (oliveria@caen.engin.umich.edu and David.Kotz@Dartmouth.edu). - The 3d extensions, contouring, Super VGA device, and bringing this new version up by Gershon Elber (gershon@cs.utah.edu). Other bug fixes/improvments: = Tom Bopp (tbopp@uhunix.uhcc.hawaii.edu) = Kenneth H. Carpenter (khc@eece.ksu.edu) = Mark Christopher (christo@bnr.ca) = Henk de Haan (haan@irimcf.tudelft.nl) = David Gillespie (daveg@csvax.cs.caltech.edu) Beta testers: + John Campbell (campbell@nauvax.ucc.nau.edu) + Kenneth H. Carpenter (khc@eece.ksu.edu) + Gershon Elber (gershon@cs.utah.edu) + Pat Empleo (empleop@afal-edwards.af.mil) + David Kotz (dfk@moose.dartmouth.edu) + Russell Lang (rjl@monu1.cc.monash.edu.au) + Tom Tkacik (tkacik@hobbes.cs.gmr.com) + Roque Donizete De Oliveira (oliveria@caen.engin.umich.edu) + Walter Speth (Speth@dbnpib5.bitnet) + Carsten Steger (stegerc@gshalle2.informatik.tu-muenchen.de) ============================================================================ GNUPLOT 2.0 RELEASE NOTES New terminal drivers: ATT6300, Roland DXY800A, EEPIC, emTeX, EPSON LX-800, EPSON 60dpi, Fig, HP2648, HPGL, HP LaserJet, Imagen, Kermit-MS Tektronix emulator, LaTeX, MCGA, NEC CP6 pinwriter, POSTSCRIPT, Proprinter, Star color printer, Tandy DMP-130, Tektronix 410x, SUN, VGA, X11. Additions: Command-line arguments are accepted. They are treated as names of files containing gnuplot commands. Gnuplot loads them, one by one, and then exits. Command 'plot' now has a 'title' option to change the information in the key. The 'with' option can now specify line type and point type. Command 'pause'. Command 'replot' allows the addition of extra plots. Command 'save' now saves all the 'set' options, including the last plot command. Command 'set autoscale' now accepts autoscaling on the x axis for data files. The default is autoscaling on both axes. Command 'set noclip' disables clipping of points near the border. 'set clip' reenables clipping. The default used to be 'clip', and is now 'noclip'. Clipping has also been extended to clip lines that extend outside the borders: line plots are now clipped at the plot boundary. Formerly, the line stopped at the last in-range data point. Numerical labelling at tic marks on x and y axes. Command 'set format' allows the format of the tic mark labels to be altered. Commands 'set xtics' and 'set ytics' allow for alphanumeric labels and arbitrary tic positions. Command 'set grid' adds a grid between the tic marks. Improved key gives sample point or line types. Key can be disabled with the 'set nokey'. Key can be positioned anywhere. Command 'set label' allows the placement of arbitrary text labels and arrows. Command 'set polar' for polar plots. Command 'set offsets' for reducing the plotted area. Useful for polar plots. Command 'set size' scales the displayed size of the plot. Command 'set tics out' causes the tics to be drawn outwards from the border. Useful for impulse plots. Command 'set title' places a text label above the plot. Commands 'set xlabel' and 'set ylabel' place text labels on the x and y axes respectively. Some terminals will place the y label vertically upwards on the left of the plot, others place the label horizontally at the left of the plot. Improved tics on log scales. Extended comments: comments are allowed anywhere reasonable in the input line, and continue to the end of the input line. Line continuation (with \) is added. Non-interactive use, through redirection or "load" command, is improved. Error messages expanded to include file name and line number, and to reprint command line if not interactive. New plotting styles 'linespoints' and 'dots'. Blank lines in data files denote "breaks". In lines and linespoints plot styles, this breaks the curve being drawn and begins at the next point, without changing the line or point types. Completely new interactive help system that is similar to VMS help system. A printed manual can be obtained in LaTeX, troff, or nroff and is based on the same information as the interactive help. PC version now compiles with the large model so that gnuplot will compile with the above additions! Bug fixes include: ------------------ Bug involving functions plotted on a logarithmic x axis is fixed. Errors inside of loaded files now clean up and close files properly. Numbers of the form xxxxe+nn are now acceptable (+ sign caused error). Tics are now place inside the borders (some were outside). Reverse axes now work properly. Command 'set output ""' used to crash. VMS was closing stdout, so 'set output' code changed to avoid closing it. VMS version of gnuplot now performs a SET TERM/NOWRAP itself. Terminal is now reset before closing output file, changing terminal type or exiting gnuplot. Several old bugs have been superseded by new ones. ACKNOWLEDGEMENTS The Unix PC, polar, pause, and offset additions were by John Campbell. (CAMPBELL@NAUVAX.bitnet) The Turbo C additions were by Bill Wilson. (WILSON@NAUVAX.bitnet) Some of the labelling improvements and combining of these additions were by Russell Lang. (rjl@monu1.cc.monash.oz.au) The LaTeX driver, the help system, and some of the labelling improvements were by David Kotz. (David.Kotz@Dartmouth.edu) And of course, the vast majority of the program is by Colin Kelley and Thomas Williams. (info-gnuplot@dartmouth.edu) ======================================================================= GNUPLOT 1.1 RELEASE NOTES New terminal drivers: AED 512, BBN BitGraph, HP2623, POSTSCRIPT, Selanar, Vectrix 384. The PC version now supports Hercules and ATT 6300 monochrome graphics. Thanks to those who sent these drivers in. New commands: 'set dummy' and 'show dummy' to select the dummy variable name; 'replot' to repeat the last 'plot' command. The exclamation point (!) is now accepted as postfix factorial operator. The gamma() function is also included, if your C library has gamma(). See GAMMA below. Logical AND (&&) and OR (||) now short-circuit the way they do in C. That is, the second && operand is not evaluated if the first is false; the second || operand is not evaluated if the first is true. The ternary operator (?:) also does not evaluate the unused operand. This change allows for the definition of recursive functions, e.g. a synonym for the ! factorial operator: fact(x) = (x<=1) ? 1 : x*fact(x-1) GNUPLOT now has a much better memory allocation scheme, replacing most fixed-size arrays with malloc()'d linked lists. There is no longer any artificial maximum on the number of simultaneous plots, number of points in those plots, or the number of user-defined functions or variables. All these are limited only by the memory available to malloc(). This is a big improvement for memory-starved machines like PDP-11s or PCs. Lines beginning with # (also ! in VMS) are treated as comments. Only the $ may now be used for a shell escape in VMS, since ! is a comment. Several old bugs have been superseded by new ones. gnuplot-3.7.3/docs/old/README.3d100644 1200 17 14075 6624021034 15304 0ustar lheckingusers A tutorial on explicit/parametric and everything you did not dare to ask about curves and surfaces in gnuplot Several types of curves and surface are supported in gnuplot. Of those not every operation is supported for every curve or surface type and it can be therefore useful to understand the different types, their advantages and limitations. Curves in gnuplot are almost always planar (with one exception which we will deal with in the end) and are assumed to be in the XY plane. Therefore only X and Y coordinates are needed for plotting curves. The simplest curve is the `explicit function`. This curve is in fact a function and for each given x, there is one and only one y value associated with it. A gnuplot example for such type is `plot sin(x)` or `plot "datafile" using 1". Note the later is using only a single column from the data file which is assumed to be the y values. Alternatively one can define a `parametric curve` form. In this case x and y are both functions of a third free parameter t, while independent of each other. A circle can be expressed parametrically as x = cos(t), y = sin(t) and be plotted using gnuplot as 'set parametric; plot cos(t),sin(t)'. This form is not a function since there can be unlimited number of y values associated with same x. Furthermore the explicit form is a special case of the parametric representation by letting x equal to t. The curve y = sin(x) can be written in parametric form as y = sin(t), x = t. We are used to think of the plane in cartesian coordinate system. In practice, some coordinate systems may be easier to use then others under some circumstances. The polar form uses a different basis to span the XY plane. In this representation the cartesian x coordinate is equal to r cos(t) and the cartesian y coordinate is equal to r sin(t). To draw a unit circle using the polar coordinate system in gnuplot use the following simple command: 'set polar; plot 1'. To better understand this explicit form lets backup a little. When we plot a regular explicit function like `y = sin(x)` we march in equal steps in x, evaluate the provided function and plot a piecewise linear curve between the sampled points approximating the real function. In the polar explicit form we do exactly the same thing, but we march along the angular direction - we turn around the origin, computing the length of the radius at that angle. Since for the unit circle, this radius is a constant 1, `plot 1` in polar form plots a circle (if t domain is from 0 or 2Pi). Note the polar form is explicit in that for each angle there is only a single radius. Surprisingly (or maybe not so surprising) surfaces share the same representations. Since surfaces are two dimensional entities, they require two free parameters (like t for curves). A surface explicit function uses x and y as the free parameters. For each such pair it provides a single z value. An example for this form can be `splot sin(sqrt(x**2+y**2))/sqrt(x**2+y**2)` for a three dimensional sinc function or `splot 'datafile' using 1`. As for curves, the single column used from the data file defines the function value or z in this case. The order of the x and y function values is very strict in this form and simply defines a rectangular grid in the XY plane. Fortunately this strict form allows us to apply a very simplistic hidden line algorithm called "the floating horizon". This hidden line algorithm exploits the rectangular XY domain of the surface and therefore may be used for this type of surfaces only. Since in gnuplot this is the only form of hidden lines removing algorithm provided, only explicit surfaces may have their hidden lines removed. Parametric surfaces are the exact extension for explicit surfaces as in the curves case. the x, y, and z are defined in terms of two new free variables and are totally independent of each other as x(u, v), y(u, v), and z(u, v). Again the explicit surface is a special case of the parametric representation where x = u, and y = v. Examples for plotting parametric surfaces in gnuplot can be `splot cos(u)*cos(v),cos(u)*sin(v),sin(u)` which defines a sphere, or `splot "datafile" using 1:2:3`. Since these are parametric surfaces, gnuplot must be informed to handle them by issuing `set parametric`. The curve polar form takes the obvious extensions in the surface world. The first possible extension is spherical coordinate system, while the second is the cylindrical one. These modes currently work for data files only and both requires two parameters, theta and phi for mapping onto the unit sphere, and theta and z form mapping on a unit radius cylinder as follow: Spherical coord. Cylin. coord. ---------------- ------------- x = cos( theta ) * cos( phi ) x = cos( theta ) y = sin( theta ) * cos( phi ) y = sin( theta ) z = sin( phi ) z = z This subject brings us back to non planar curves. When surfaces are displayed under gnuplot, isocurves are actually getting plotted. An isocurve is a curve on the surface in which one of the two free parameters of the surface is fixed. For example the u isolines of a surface are drawn by setting u to be fixed and varying v along the entire v domain. The v isolines are similarly drawn by fixing v. When data files are specified they are classified internally into two types. A surface is tagged to have grid topology if all its specified isolines are of the same length. A data mesh of five isolines, seven points each is an example. In such a case the surface cross isolines are drawn as well. Seven isolines with five points each will be automatically created and drawn for grid type data. If however, isolines of different length are found in the data, it is tagged as nongrid surface and in fact is nothing more than a collection of three dimensional curves. Only the provided data is plotted in that case (see world.dem for such an example). gnuplot-3.7.3/docs/old/README.3p1100644 1200 17 2120 6624021035 15346 0ustar lheckingusersThis package provides the upgrade of gnuplot 3.0 to patch level 1. Below are the contributers to this upgrade and the modifications made. Thank you all Gershon ---------------------------------------------------------------------------- * Subject: Y log / postscript eps fix Name: Russell Lang Email: rjl@monu1.cc.monash.edu.au * Subject: HP26 driver to lift text. Name: Bruce Lueckenhoff Email: luechen@cis.udel.edu * Subject: CRAY prt, UIUC coordinates. Name: Daniel Lewart Email: d-lewart@uiuc.edu * Subject: AI device Name: Ray Ghanbari Email: ray@mtl.mit.edu * Subject: HP_MOTIF on a Snake, X11 for Next Name: Alex Woo Email: woo@ra-next.arc.nasa.gov * Subject: Mod. to LaTeX for multiple curves/plots, complex atan function fix. Name: Ray Toy??? Email: toy@soho.crd.ge.com * Subject: Fix the "splot 'file.dat'" with only z values. Name: Gershon Elber Email: gershon@gr.utah.edu * Subject: Underscore prefixed names. Name: Tom Tkacik Email: tkacik@hobbes.cs.gmr.com * Subject: Amiga port Name: Carsten Steger Email: stegerc@informatik.tu-muenchen.de gnuplot-3.7.3/docs/old/README.3p2100644 1200 17 5426 6624021037 15365 0ustar lheckingusersThis is the official release of GNUPLOT.3.2. It is available in either a patch or tar archive. Sites for the retrieval are listed in the README. Below are the modifications and contributors to this release. The patch file 3_1to3_2.patch needs to be applied with the p1 flag >cd gnuplot >patch -p1 < 3_1to3_2.patch Thanks --- Alex Woo * Subject: New generic gnuplot_x11.c Name: Ed Kubaitis Email: ejk@ux2.ncsa.uiuc.edu * Subject: Hidden Line Removal for Explicit Surfaces and IRIX 4.0 fixes. Name: Gershon Elber Email: gershon@gr.utah.edu * Subject: Table Terminal Driver. Name: Kevin Russo Email: russo@rudedog.nrl.navy.mil * Subject: PCL5 driver fixes (HPGL page eject),datafile pipe and README. Name: Alex Woo Email: woo@ames.arc.nasa.gov * Subject: Pbmplus driver and fix to y log tics. Name: Russell Lang Email: rjl@monu1.cc.monash.edu.au * Subject: NeXT Console Driver. Name: Nick Strobel Email: strobel@phast.phys.washington.edu * Subject: Fix GNUTERM environment with disk resident BGI drivers Name: Craig Johnston Email: johnston@maxwell.ee.washington.edu * Subject: Fix tables for troff in doc2ms Name: Michael Schuh Email: schuh@ames.arc.nasa.gov * Subject: Fix dump when GNUPLOT$HELP undefined Name: Wolfgang J. Moeller Email: moeller@gwdgv1.dnet.gwdg.de * Subject: Fix AMIGA segment limits Name: Carsten Steger Email: stegerc@informatik.tu-muenchen.de * Subject: Put FAR pointers in bitmap.c and bitmap.h Name: Russell Lang Email: rjl@monu1.cc.monash.edu.au * Subject: Bug fix to latex.trm Name: Rob Cunningham Email: rkc@xn.ll.mit.edu ---------------------------------------------------------------------------- GNUPLOT 3.1 Patch This package provides the upgrade of gnuplot 3.0 to patch level 1. Below are the contributers to this upgrade and the modifications made. Thank you all Gershon ---------------------------------------------------------------------------- * Subject: Y log / postscript eps fix Name: Russell Lang Email: rjl@monu1.cc.monash.edu.au * Subject: HP26 driver to lift text. Name: Bruce Lueckenhoff Email: luechen@cis.udel.edu * Subject: CRAY prt, UIUC coordinates. Name: Daniel S. Lewart Email: d-lewart@uiuc.edu * Subject: AI device Name: Ray Ghanbari Email: ray@mtl.mit.edu * Subject: HP_MOTIF on a Snake, X11 for Next Name: Alex Woo Email: woo@ra-next.arc.nasa.gov * Subject: Mod. to LaTeX for multiple curves/plots, complex atan function fix. Name: Ray Toy??? Email: toy@soho.crd.ge.com * Subject: Fix the "splot 'file.dat'" with only z values. Name: Gershon Elber Email: gershon@gr.utah.edu * Subject: Underscore prefixed names. Name: Tom Tkacik Email: tkacik@hobbes.cs.gmr.com * Subject: Amiga port Name: Carsten Steger Email: stegerc@informatik.tu-muenchen.de gnuplot-3.7.3/docs/old/README.3p3100644 1200 17 326 6624021040 15332 0ustar lheckingusersVersion 3.3 was never officially released. It has been renamed to version 3.4 to avoid confusion with the numerous BETA versions which have made it into general circulation. See README.3p4 for more information. gnuplot-3.7.3/docs/old/README.3p4100644 1200 17 12041 6624021041 15371 0ustar lheckingusersThis version of gnuplot represents the work of many people. For a more complete list read the RCS log on the top of makefile.unx. This version originally was centered on Jos Van Woude's probability functions, Don Tabor's discrete contour levels and Rob Cunningham's binary file IO capability. It has grown tremendously. Russell Lang and Maurice Castro added MS-Windows capability and much more. Roger Fearick added OS/2 capabilility. Alexander Lehmann and Hans-Edgar Koechling greatly improved Atari support. (There are also an OS-9 and PC-9801 versions of 3.2 and a Mac version of 3.0 and a multiple plot on a page mod which were not integrated into this release.) Eric Youngdale replaced the explicit function hidden line removal routines with a more general implicit bitmap (which requires more memory). Gershon Elber fixed many 3D bugs and added the "dgrid3d" option which takes allows scattered data to be contoured. Ed Kubaitis reworked the X11 support. In addition, many more devices are now provided. We have always added device drivers because we have no way to debug most of them and only by including them into the package we obtain feedback. In addition, we have begun a contrib subdirectory which contains external library, programs, and mods which help in the use of Gnuplot. Many of the diffs are now out of date and will take some work to implement. These contributions are not in any particular order. * Subject: Special Functions for Probability Densities Name: Jos van der Woude Email: jvdwoude@hut.nl * Subject: Discrete Contour Levels Name: Don Taber Email: news@solitary.stanford.edu,dbt@victoria.risc.rockwell.com * Subject: LN03p (Graphic Enhance Mode) Driver and REGIS fixes Name: Hung-chi Lihn Email: lihn@ssrl01.slac.stanford.edu * Subject: LESS-like additions to READLINE capability Name: Michal Tomczak, Tom Tkacik Email: ntomczak@vm.ucs.ualberta.ca,tkacik@hobbes.cs.gmr.com * Subject: doc2texinfo : Converts Gnuplot .doc files to Texinfo format. Name: George Ferguson Email: ferguson@cs.rochester.edu * Subject: Atari ST (gcc 1.40) version and PureC version Name: Alexander Lehmann, Hans-Edgar Koechling Email: alexlehm@iti.informatik.th-darmstadt.de, koechling@nvdv.e-technik.uni-stuttgart.dpe.de * Subject: ISO 8869/1 character sets Name: Marius Olafsson Email: marius@rhi.hi.is * Subject: HP PaintJet Driver Name: Dan Merget Email: danm@hpnmdlc0.sr.hp.com * Subject: Improvements to HP PCL driver Name: Timothy Collins, Tom Swiler, Alex Woo Email: kaph6@solx1.central.susx.ac.uk,tom@silica.mse.ufl.edu * Subject: plot "file" thru f(x) for transforming datafiles Name: Jack Veenstra Email: veenstra@cs.rochester.edu * Subject: improvement to HPGL driver Name: Craig Johnston Email: johnston@maxwell.ee.washington.edu * Subject: X11 mods Name: Ed Kubaitis, Yehavi Bourvine Email: ejk@ux2.ncsa.uiuc.edu, YEHAVI@vms.huji.ac.il * Subject: Binary File IO Name: Rob Cunningham, Jos van der Woude Email: rkc@xn.ll.mit.edu,jvdwoude@hut.nl * Subject: Improved Hidden Line Removal & LITE flag Name: Eric Youngdale Email: eric@tantalus.nrl.navy.mil * Subject: xlib driver & test programs in contrib Name: Gregg Hanna Email: gregor@kafka.saic.com * Subject: MS-Windows, boxes and boxerror styles, plot using accepts columns in any order, plus many, many improvements Name: Russell Lang, Maurice Castro Email: rjl@monu1.cc.monash.edu.au, maurice@bruce.cs.monash.edu.au * Subject: OS/2 version Name: Roger Fearick Email: fearick@physci.uct.ac.za * Subject: scatter to grid mods "set dgrid3d", plus fixes Name: Gershon Elber scatter to grid mods Email: gershon@cs.utah.edu * Subject: Notitle option to remove entry in key Name: R. Shouman Email: rshouman@hermes.chpc.utexas.edu * Subject: Misc. Bug Fixes, new get_data, many improvements Name: Daniel S. Lewart Email: d-lewart@uiuc.edu * Subject: H Olav Eggestad RGIP Uniplex driver (POSIX) and Imagen driver Name: Hans Olav Eggestad Email: olav@jordforsk.nlh.no * Subject: New plotstyle "steps" for discrete functions Name: John Grosh Email: jgrosh@brl.mil * Subject: CorelDraw! driver (subset of EPS) Name: Chris Parks Email: parks@physics.purdue.edu * Subject: PSTRICKS driver (for TeX) Name: Ray Toy Email: toy@soho.crd.ge.com * Subject: Framemaker MIF 3.0 driver Name: Olof Franksson Email: olof@ikaros.fysik4.kth.se * Subject: Apollo mods Name: Jim Richardson Email: jimr@maths.su.oz.au * Subject: TGIF driver Name: Neal Holtz Email: nholtz@civeng.carleton.ca * Subject: TPIC specials driver (TeX) Name: Honoo Suzuki Email: honoo@nc.titech.ac.jp * Subject: Log to any base capability Name: Lawrence Crowl Email: crowl@cs.orst.edu * Subject: Talaris EXCL driver Name: P. Klosowski Email: przemek@rrdstrad.nist.gov * Subject: New LaTeX Driver Name: Xiaoguang Zhang Email: zhang@whbws.ms.ornl.gov * Subject: TeXdraw driver (eepic derivative) Name: Khun Yee Fung Email: clipper@csd.uwo.ca * Subject: debug and hp2623a driver, fixes Name: Bruce Lueckenoff Email: luecken@udel.edu gnuplot-3.7.3/docs/old/README.3p5100644 1200 17 6645 6624021043 15371 0ustar lheckingusersThis is a bugfix to version 3.4. # $Id: README.3p5,v 1.1 2025/11/16 13:01:23 lhecking Exp $ # # $Log: README.3p5,v $ # Revision 1.1 2025/11/16 13:01:23 lhecking # Moved from top level dir. # # Revision 1.1 2025/09/27 17:07:30 alex # gnuplot 3.5 release # # Revision 3.50.1.17 2025/08/27 05:21:33 woo # V. Khera's fig patch # # Revision 3.50.1.16 2025/08/27 05:04:42 woo # Added to help.c and added support routines to binary.c # # Revision 3.50.1.15 2025/08/21 15:23:42 woo # Rewrote print_3dtable # # Revision 3.50.1.14 2025/08/19 04:10:23 woo # V. Broman sun_mgr driver # # Revision 3.50.1.13 2025/08/19 03:21:26 woo # R. Lang fix to MS-Windows print driver # # Revision 3.50.1.11 2025/08/10 03:55:03 woo # R. Lang mod to change location of plot in hppj.trm # # Revision 3.50.1.10 2025/08/07 16:06:34 woo # Fix using n bug, configure 1.3 # # Revision 3.50.1.9 2025/08/05 05:38:59 woo # Fix timedate location for splot and plot + CONFIGURE ROUTINE # # Revision 3.50.1.8 2025/07/27 05:37:15 woo # More mods for SOLARIS 2.2 using gcc # # Revision 3.50.1.7 2025/07/27 04:57:58 woo # Fix impulse plot style if logscale y # # Revision 3.50.1.6 2025/07/27 03:35:12 woo # Fix epsviewe.m # # Revision 3.50.1.4 2025/07/26 06:17:24 woo # Solaris mods to sun_x11 and gplt_x11.c # # Revision 3.50.1.3 2025/07/26 05:38:19 woo # DEC ALPHA OSF1 mods # # Revision 3.50.1.2 2025/07/26 05:12:42 woo # fix of replot of replot bug # # Revision 3.50.1.1 2025/07/26 04:59:54 woo # fix of splot notitle bug # # Revision 3.50 2025/07/09 05:35:24 woo # Baseline version 3.5 version # # Revision 3.38.2.153 2025/07/08 03:43:32 woo # Added dgrid3d save to misc.c and updated titlepages # # Revision 3.38.2.153 2025/07/08 03:43:32 woo # Added dgrid3d save to misc.c and updated titlepages # # Revision 3.38.2.152 2025/07/06 15:03:56 woo # A. Lehmann cleanup of 3_5b1 # # Revision 3.38.2.151 2025/07/06 14:33:51 woo # New 0FAQ and AXPVMS fix to gplt_x11.c # # Revision 3.38.2.150 2025/07/02 16:42:43 woo # A. Reeh fix for monochrome X11 under VMS # # Revision 3.38.2.149 2025/07/01 20:31:55 woo # New version of GRASS makefile # # Revision 3.38.2.148 2025/07/01 13:54:25 woo # T. Collins changes to Latex line types # # Revision 3.38.2.147 2025/07/01 13:41:44 woo # A. Lehmann fix for hpux internal.c # # Revision 3.38.2.146 2025/06/30 21:24:08 woo # Fix to flash graphics, rosenbrock function in contours.dem # # Revision 3.38.2.145 2025/06/30 20:16:22 woo # Yehavi fixes for AXPVMS # # Revision 3.38.2.144 2025/06/23 00:34:39 woo # Reordered latex line types -- lighter default line # # Revision 3.38.2.143 2025/06/23 00:10:28 woo # R. Shouman fix of blank title induced linetype bug # # Revision 3.38.2.142 2025/06/21 14:43:21 woo # P. Egghart check on PLOSS for matherr and pass MY_FLAGS to subdirectories # # Revision 3.38.2.141 2025/06/19 13:00:21 woo # Okidata driver and time_t for sun386 mod # # Revision 3.38.2.140 2025/06/19 12:29:34 woo # J. Abbey fixes for Alliant # # Revision 3.38.2.139 2025/06/19 01:03:49 woo # Fix for 3d clipping bug # # Revision 3.38.2.138 2025/06/16 00:38:14 woo # O. Franksson MIF mod for vertical text and better char size # # Revision 3.38.2.137 2025/06/15 23:57:02 woo # Linux fixes # # Revision 3.38.2.136 2025/06/15 23:33:29 woo # V. Khera non-interactive stderr fix # # Revision 3.38.2.135 2025/06/15 22:02:26 woo # splot fix for x & y tics and labels gnuplot-3.7.3/docs/old/README.ami100644 1200 17 5243 6624021230 15517 0ustar lheckingusersSOME NOTES ON GNUPLOT ON THE AMIGA ... Environment Variables: GNUHELP Allows you to define a pathname for the gnuplot help file. For example, "setenv GNUHELP TEX:gnuplot.gih" GNUPLOT Your current directory is searched for the file ".gnuplot". If you say "setenv GNUPLOT " (without the filename!) gnuplot will look for it there. GNUTERM You can define a default driver with "setenv GNUTERM ". A good choice is "setenv GNUTERM amiga" :^) SHELL If you don't like "NewShell" as your shell, you can say "setenv SHELL ". Stack Size: A stack size of at least 25000 bytes should be used while running gnuplot. If you use recursive functions, e.g. like in "bivariat.dem", you will have to increase your stack size accordingly. Otherwise gnuplot will exit with a run time error. Pipes: As of version 3.6 gnuplot supports the use of pipes for the input of data in the same manner as under Unix. See the appropriate part of the manual for further details. This feature is only available if Kickstart 2.0 or higher is installed on your Amiga. To execute the examples given in the docs, you will have to use the port of AT&T awk that is available on aminet-sites as ATT-awk-1_0.lha. Don't use the port of gawk that has been uploaded to aminet because it is severely broken. None of the examples will work with that version of awk. The Amiga version now supports output of the online documentation through external pagers. This feature is enabled if you set the environment variable PAGER to a reasonable value. The pager used must be able to take its input from stdin. Older versions of more supplied with Commodore's workbench don't allow this and won't work. I recommend the use of Less 1.6Z (available on aminet). Set your environment variable PAGER to "less -[cli]" or set the variable LESS to "-[cli]" and PAGER to "less". -------------------------- SAS/C 6.1 VERSION ----------------------------- Default paths/directories: Gnuplot looks for the file "gnuplot.gih" in your "S:"-directory unless you specify the full pathname including the filename via "setenv GNUHELP". --------------------------- AZTEC C VERSION ------------------------------ Default paths/directories: Gnuplot looks for the "gnuplot.gih" file in "GNUPLOT:docs/gnuplot.gih" if GNUHELP is not defined. This is defined in the makefile (makefile.ami). Terminal Drivers: The Aztec C version can now use the "amiga.trm" driver written by Carsten Steger. Under KS/WB 2.0, a custom screen will be used with a size specified by the Prefs/Overscan program. gnuplot-3.7.3/docs/old/README.emx100644 1200 17 1677 6624021235 15556 0ustar lheckingusersEMXVGA is another terminal type for OS/2, which runs on the PM of OS/2 as well as in full screen mode on DOS running on 386 or better PC. The driver is compiled using EMX GCC with VESA and SVGAKIT which supports VESA, Trident, Cirrus, ET4000, WD and S3, and is maintained by Johannes Martin (JMARTIN@GOOFY.ZDV.UNI-MAINZ.DE), with additions of putting string at an arbitrary angle by David J. Liu (liu@phri.nyu.edu). " The file gstring.c contains the display string function for SVGAKIT of emx GCC. The function, g_string (x,y,color,angle,*string), displays the string at (x,y) which is the upper left corner of the string, in color at an arbitrary angle. To install, copy gstring.c to SVGAKIT directory and update the files graph.h and makefile with references to g_string(...), gstring.c and gstring.o. " To install, add -lgraph -lvesa as linker parameters and enable EMXVGA in term.h To use with DOS, it is necessary to do emxbind -a gnuplot.exe -acim. gnuplot-3.7.3/docs/old/README.fit100644 1200 17 10742 6624021244 15560 0ustar lheckingusersWelcome to GNUFIT - an extension to GNUPLOT =========================================== Version 1.2 gnuplot has been widely established as a powerful tool to do data and function plots. For the scientific use one additionally often needs a nonlinear least squares fitting procedure to combine a model function to measured data. This is introduced by GNUFIT. GNUFIT is a real extension of GNUPLOT that means, it covers all features of GNUPLOT and adds some new ones. GNUFIT incorporates a nonlinear least squares fit mechanism into GNUPLOT. The fit uses the Marquardt-Levenberg-algorithm for fitting and the GNUPLOT function evaluation mechanism for calculation. Thus it remains relatively small. It offers all advantages of fitting every rather complex-formulated function you can create with GNUPLOT (including complex calculation). GNUFIT is available as follows: gnufit12.tar.gz All new sources and diff's against gnuplot3.4 and gnuplot3.5, readmes, demos and installation hints needed to compile and run GNUFIT on your machine, provided that you already have the original gnuplot sources. gft12dos.zip DOS executables The files may be downloaded by anonymous ftp from dartmouth.edu 129.170.16.4 /pub/gnuplot A description of the files in gnufit12.tar.gz ================================================= readme.1st This file - Overview compile.fit Some hints for the compilation on various platforms install UNIX shellscript to do the patches install.bat DOS Batchfile for the same purpose credits A list of people who helped me making GNUFIT stable fit.c the main fitting routines fit.h Interface to fit.c matrix.c some matrix algebra needed in fit.c matrix.h interface to matrix.c type.h commonly used types linux.trm terminal driver for LINUX patches.35 Context diff's of the GNUFIT sources against the GNUPLOT3.5 sources. They have been done using diff -cr oldfile newfile >> patches.35 and may be applied to the gnuplot sources by the patch program. This is done also by the install-script. patches.34 Same story based on gnuplot3.4 for the case of incompatibilities Installation procedure: ======================= 1) Start from the directory */diff which has been generated by untaring this package. 2) Create a directory (e.g. called 'gnufit') and place a copy of the gnuplot3.2 sources (including the subdirs) in it. Make sure that it is writable. gnuplot sources may be obtained from ftp.dartmouth.edu in /pub/gnuplot 3) If you're not working under DOS or UNIX, create an appropriate scriptfile like has been done in 'install' (UNIX) or 'install.bat' (DOS). The only commandline-parameter of the scriptfile is the directory you just created (gnufit). 4) Execute the scriptfile. This will copy the necessary sources to 'gnufit' and do the needed patches to the gnuplot sources. Finally it changes the actual working directory. e.g. install ~/gnufit 5) Look at the file 'compile.fit' for compilation hints on your system. That may require small changes to the appropriate makefile, e.g. for compiler selection and compiler switches. 6) Check the compilation hints for gnuplot in 'readme.ins' and execute them. GNUFIT has been successfully tested and compiled on the following operating systems: DOS (MSC 6.0), OS/2, SunOS, HPUX, IBM/RS6000, DEC Ultrix, DG/UX, LINUX Amiga Only the compilers mentioned in 'compile.fit' have been used. For compatibility purposes with other scripts written for GNUPLOT, the executables' filenames are still left 'gnuplot', 'gnuplot.exe' etc. The starting message however distinguishes between GNUPLOT and GNUFIT. To get a successful compilation on other systems there may be minor patches to the sources necessary. If you succeed in adding a new platform, please generate diff's of the modified sources and send them to me. They may be included into a further release of GNUFIT. What is planned? ================ This will probably be the last release of GNUFIT. Not because I think it's rubbish but because it will be included as an internal part into the next official release of gnuplot. Development is under way! Please send any comments, bug-reports, implementation reports and improvement proposals to bug-gnuplot@dartmouth.edu *************************************************************************** Carsten Grammes Saarbruecker Str. 47 D-66292 Riegelsberg Germany Internet Mail-Address: cagr@rz.uni-sb.de Telephone 49 6897 935 0 Telefax 49 6897 935 100 gnuplot-3.7.3/docs/old/README.gnu100644 1200 17 2220 6624021247 15542 0ustar lheckingusersA note to former Gnutex users, from David Kotz (David.Kotz@Dartmouth.edu). -------------------------------------------------------------------------- May 30, 2025 GNUTeX was merged with GNUPLOT beginning with GNUPLOT 2.0. Many aspects of gnutex 1.6 made it into GNUPLOT 2.0. Unfortunately for those of us who have a lot of gnutex input files around, not everything from gnutex is supported by GNUPLOT. To help gnutex users with the process of adapting to GNUPLOT (and I recommend it), I have included a section in the LaTeX/GNUPLOT tutorial (in ./docs/latextut/) about the differences, and written a translator program. Please read the LaTeX/GNUPLOT tutorial. The translator was available as part of the GNUPLOT 2.0 release, but has been removed from the standard distribution of GNUPLOT. The translator is now available for anonymous ftp from cs.duke.edu as dist/sources/gnuplot/gnut2p.tar.Z. It has not changed since GNUPLOT 2.01 (ie, GNUPLOT 2.0 patchlevel 1). Users of gnutex that did not use the LaTeX driver will probably have little difficulty adapting. Please send all comments, complaints, and suggestions on this subject to David.Kotz@Dartmouth.edu. gnuplot-3.7.3/docs/old/README.iso100644 1200 17 5277 6624021253 15557 0ustar lheckingusers You can say "set isosamples 30,40" now to get different isosampling rates for the first and second dummy variables (x,u resp. y,v). This will affect surface-plots in hidden3d- and nohidden3d-mode. It gets rid of the necessity of having to change samples in hidden3d-mode when you actually want to change the isosamples for the first dummy variable. For people that are lazy and for compatibility you can also type "set isosamples 30". This will set the value to 30 in both directions. For completeness I did the same with "samples". Thus you can say "set samples 50,100" to get different sampling rates for each dummy variable. This only affects surface-plots in nohidden3d-mode. Again, you still can say "set samples 50". This will set both sampling rates to 50. For 2d-plots the first value of samples is used. Summary: Suppose isosamples is set to 4,5 in hidden3d-mode. The grid evaluated for hidden3d-plots will look like this (* denotes points that get evaluated): |------ isosamples #1 -----| - *--------*--------*--------* | | | | | | | | | i | | | | s *--------*--------*--------* o | | | | s | | | | a | | | | m *--------*--------*--------* p | | | | . | | | | | | | | # *--------*--------*--------* 2 | | | | | | | | | | | | | - *--------*--------*--------* Suppose isosamples is set to 4,5 and samples to 10, 9 in nohidden3d-mode. The grid evaluated for hidden3d-plots will look like this: |------ isosamples #1 -----| - *--*--*--*--*--*--*--*--*--* - | | | | | | * * * * | i | | | | s *--*--*--*--*--*--*--*--*--* s o | | | | a s * * * * m a | | | | p m *--*--*--*--*--*--*--*--*--* l p | | | | e . * * * * s | | | | # *--*--*--*--*--*--*--*--*--* # 2 | | | | 2 * * * * | | | | | | - *--*--*--*--*--*--*--*--*--* - |------- samples #1 -------| BTW: The examples above also show how the bottom grids will look like both in noparametric- and in parametric-mode. Thus you can get a rough idea of how the mapping from (u,v)-space to (x,y,z)-space works by drawing a bottom grid in parametric-mode. Best regards, Carsten gnuplot-3.7.3/docs/old/README.mf100644 1200 17 5232 6624021257 15362 0ustar lheckingusersMETAFONT Terminal Driver for gnuplot (mf.trm): ---------------------------------------------- The METAFONT terminal driver creates a input file to the METAFONT program. Thus a figure may be used in the TeX document in the same way as a character is. To use the plot in a document the METAFONT program must be run with the output file from gnuplot as input. Thus, the user needs a basic knowledge of the font creating prosess and inclusion of a new font in a document. However, if the METAFONT program are set up properly at the local site an unexperienced user could perform the operation without much trouble. The text support is based on a METAFONT character set. Currently the Computer Modern Roman font set is input but the user are in principal free to chose whatever fonts he/she needs. The METAFONT source files for the chosen font must be available. Each character is stored in a separate picture variable in METAFONT. These variables may be manipulated (rotated, scaled etc.) when characters are needed. The drawback is the interpretation time in the METAFONT program. On some machines (i.e. PC) the limited amount of memory available may also cause problem if too many pictures are stored. To use the METAFONT terminal driver: ------------------------------------ 1) In gnuplot use: set terminal mf set output "myfile.mf" . . . plot .... exit 2) Run METAFONT. Syntax is site dependant: On my UNIX I use: cmmf '\mode=localfont; \mag=1;' input myfile.mf On my PC I use: mf286 &cm \mode=localfont; \mag=1; input myfile.mf Be aware that METAFONT can only handle number less than 4096. Thus if you have very high resolution in your localfont and a large picture you will probably get an error message when running METAFONT. To solve the problem, reduce the resolution or the plot size. 3) Run GfToPk, syntax is on my UNIX: gftpk myfile.xxxgf myfile.pk on my PC: gftpk myfile.xxx myfile.pk where xxx is the resolution (typically 300). 4) Copy the files myfile.pk and myfile.tfm to a place where you are sure TeX and the dvi processing programs you use can find them. (They can probably be located in your current working directory) 5) Include in your TeX document the following statement: \font\myfont=myfile % Declares the new font you just have made {\myfont\char0} % Typeset character with code zero which % MF.TRM uses as default character Paal Hedne SINTEF Multiphase Laboratory N-7034 Trondheim Norway Tel.: -47-7-591060 E.mail: Pal.Hedne@termo.unit.no gnuplot-3.7.3/docs/old/README.nex100644 1200 17 7541 6624021263 15554 0ustar lheckingusersThe 3.6 version of gnuplot is proud to include a new NeXTstep terminal driver. The new driver offers the following new features: 1) Multiple windows 2) Resizable windows 3) Direct print interface from windows 4) Titleable and re-addressable windows 5) A real NeXTstep-style interface to the terminal driver The driver runs as a separate application, and hence has it's own set of controls and interfaces. It registers itself with the operating system as a distributed objects "GnuTerm" server, and thereafter accepts requests from any gnuplot instances on the machine. Nick Strobel's original single-viewport NeXTstep terminal is available as an option to the next terminal. It can be invoked from the gnuplot command line as: gnuplot> set term next old There are several reasons why one might choose the older terminal. First, the new terminal will probably not work on NeXT systems running a pre-3.0 version of the operating system. Second, because all of the postscript must be buffered in order to allow re-sizing and printing of the window's contents, the new terminal can be a memory hog for very complicated plots. The original README.nex file for the original next terminal is included at the end of this document. Installation ------------ In addition to enabling the #include next.trm in term.h before compiling gnuplot, the GnuTerm.app application must be separately built and installed. All of the source code is included in the NeXT subdirectory of the gnuplot distribution. GnuTerm.app can be built for the current architecture by cd-ing to the NeXT directory and type "make". For more complicated installations, or to build the application "FAT" (to run on more than one processor architecture), it's easiest to fire up NeXT's ProjectBuilder.app and open NeXT/PB.project. GnuTerm.app can be installed in any directory contained in the WorkSpace's ApplicationPaths dwrite. For most situations, this means installing GnuTerm.app in either /LocalApps or ~/Apps. If you wish to locate the GnuTerm.app somewhere other than ~/Apps or /LocalApps, you can "setenv GNUTERMPATH /newpath" to tell gnuplot where to find it. Example (wherein GnuTerm.app is in /LocalApps/Data): host% setenv GNUTERMPATH "/LocalApps/Data" Robert Lutwak robert@amo.mit.edu July 14, 2025 Following is the README.nex that accompanied the original (single viewport) next terminal, which is still accessible as "set term next old". ------------------------------- This directory contains version 2 of the additional files you'll need to get gnuplot3.0 to display it's postscript directly to a window instead of going through the klunky process of writing the postscript to a file and launching Previewer to view the file. Note that all input is still done at the shell level! Fancier NeXTStep interfaces will be a future project. This version is faster and leaner than the old method. It also does not eat up swap space like the older version (this was particularly noticeable when doing animation-like plots). To do this I used DPS function calls instead of creating a NXImage and compositing the stream of commands. I based my code on the program called "epsview" in the hackkit tar file on the archive servers. The next.trm (next terminal) is basically the post.trm (postscript terminal) with the fprintf replaced by DPSPrintf and outfile by the DPSContext d. You'll also see that I also used some code (with modifications) from David S. Joerg's MovieApp. Using the DPS functions enabled me to slim down the EpsViewer.[hm] and EPSView.[hm] files. No claim is made to code elegance or to it being a good example of objective-c coding. This is my first (well, second, sort of) objective-c program. It seems to work for me. Any constructive criticism would be appreciated. I can be reached at strobel@phast.phys.washington.edu cheers! nick strobel -----------------------------------gnuplot-3.7.3/docs/old/README.os2100644 1200 17 7413 6624021272 15463 0ustar lheckingusersGNUPLOT 3.3 for OS/2 v 2.0 ========================== 1) Introduction =============== This file discusses the version of GNUPLOT 3.3 implemented for OS/2 2.0. The command line interface of GNUPLOT is retained, while graphics output is plotted in a Presentation Manager Window. The GNUPLOT command line appears in another text-mode window on the screen. The PM window has facilities for printing the plot on the default printer, for changing the fonts used on the plot, and for switching between different ways of plotting the lines (with colour, as dot/dashed lines, or both). The command line window offers the usual GNUPLOT interface. Both Unix-style and DOS-style editing keys are supported. The GNUPLOT program was compiled with the emx version of the GNU compiler. It supports the shell command (type 'exit' to return to GNUPLOT), can pipe datafiles through external commands using '<', and supports command-line substitution. It runs the full set of demonstration programs supplied in the GNUPLOT source code distribution without problems. The GNUPLOT 3.3 port to OS/2 differs slightly from the 3.2 port, in that the PM driver is started from GNUPLOT, rather than the other way round. This means that the program name will have to be changed in the program object that runs GNUPLOT, if you install 3.3 over 3.2. This change does however make the GNUPLOT command line accessible to programs that pipe commands to GNUPLOT. 2) Running GNUPLOT ================== GNUPLOT can be run from the command line of an OS/2 session (preferrably a windowed command session, so that the command line and the displayed graph can be viewed at the same time), or can be set up as a program object in the WPS. GNUPLOT starts up as a command line session which accepts the usual GNUPLOT input. The Presentation Manager window for graphics display is only opened when the first 'plot' or 'splot' command is entered. If GNUPLOT is set up as a program object, it can be configured for 'drag and drop' in the usual way, by specifying '%*' as the program parameter. The PM window has facilities for printing the plot, for changing the fonts used in the plot, and so on. These of course are handled through the usual PM interface. In addition, you can 'drop' a font onto the window to change the font. The usual GNUPLOT commands can also be used to produce output on supported devices. Settings and the positions and sizes of the windows can be saved in the file gnushell.ini. This file is saved in the program's working directory; several different directories can be set up (as program objects) with different options, if you wish. GNUPLOT can be run with the PM display window maximised: clicking on the 'GNUPLOT' menu item (or pressing 'ESC') will bring the GNUPLOT window to the foreground; it will disappear again when plotting begins. GNUPLOT itself communicates with the PM display window (which is a separate program) through a named pipe. Plotting commands are sent to the PM window which produces the plot when all commands have been received. 3) The port of GNUPLOT to OS/2 ============================== Changes to the code have been kept minimal. Besides the obvious addition of the PM driver code, the following are the major changes: 1) Addition of code in readline.c to map keypad keys to editing functions, to duplicate the MS-DOS mode of editing the command line. (See GNUPLOT manual, page 2.) The rest of the changes are associated with defining the use of the OS2 conditional value, and setting system-dependent stuff like names, signal handling, and end-of-line handling (LF vs CR+LF). See the file patches.os2 for changes to the GNUPLOT source. 4) gnupmdrv.exe =============== Gnupmdrv.exe is the 'outboard' driver for GNUPLOT. It is a multithreaded PM program. Roger Fearick fearick@physci.uct.ac.za 5 November 2025 gnuplot-3.7.3/docs/old/README.pic100644 1200 17 6603 6624021276 15537 0ustar lheckingusers HOW TO USE PIC driver: I have tested driver under gnuplot3.2, and I am currently using it with the reengineered troff, groff, which is distributed by Free Software Foundation, but it should work for AT&T's DWB as well. As gpic can produce TeX output, it could possibly be an alternative to the LaTeX driver for TeX-users having the tpic macros (see the gpic man page - I don't know much about TeX so please don't ask me about this). A simple graph can be formatted using groff -p -mpic -Tps file.pic > file.ps. The output from pic can be pipe-lined into eqn, so it is possible to put complex functions in a graph with the set label and set {x/y}label commands. For instance, set ylab '@space 0 int from 0 to x alpha ( t ) roman d t@' Will lable the y-axis with a nice integral if formatted with the command: gpic filename.pic | geqn -d@@ -Tps | groff -m[macro-package] -Tps > filename.ps Figures made this way can be scaled to fit into a document. The pic language is easy to understand, so the graphs can be edited by hand if need be. All coordinates in the pic-file produced by gnuplot are given as x+gnuplotx and y+gnuploty. By default x and y are given the value 0 If this line is removed with an editor in a number of files one can put several graphs i one figure like this (default size is 5.0x3.0 inches) .PS 8.0 x=0;y=3 copy "figa.pic" x=5;y=3 copy "figb.pic" x=0;y=0 copy "figc.pic" x=5;y=0 copy "figd.pic" .PE This will produce an 8 inches wide figure with four graphs in two rows on top of each other One can also achieve the same thing by the command set term pic x y For example, using .PS 6.0 copy "trig.pic" .PE the following session generated a two by two figure with four graphs: G N U P L O T unix version 3.2 patchlevel 2, Mar 24 92 last modified Sat Mar 24 21:08:47 PST 1992 Copyright(C) 1986, 1987, 1990, 1991, 1992 Thomas Williams, Colin Kelley Send bugs and comments to bug-gnuplot@ames.arc.nasa.gov Terminal type set to 'x11' gnuplot> set out 'trig.pic' gnuplot> set ter pic 0 5 Terminal type set to 'pic' Options are 'Pic's origin is at (0.000000,5.000000)' gnuplot> plot sin(x) gnuplot> set ter pic 5 5 Terminal type set to 'pic' Options are 'Pic's origin is at (5.000000,5.000000)' gnuplot> plot cos(x) gnuplot> set ter pic 0 0 set ter pic 0 0 Terminal type set to 'pic' Options are 'Pic's origin is at (0.000000,0.000000)' gnuplot> plot tan(x) gnuplot> set ter pic 5 0 Terminal type set to 'pic' Options are 'Pic's origin is at (5.000000,0.000000)' gnuplot> plot cos(x)/sin(x) plot cos(x)/sin(x) gnuplot> quit Scaling can be done using set size. I prefer this way of including graphs to using encapsulated in troff documents, because of the possiblity to preprocess with eqn, and because pic is much easier to understand than postscript - at least for me. WHAT HAS TO BE DONE TO IMPROVE THIS DRIVER 1.) Nice markers 2.) Dot-dashed line styles 3.) Possibly make line thickness an option when set term pic 4.) Making it possible to select fonts for both pic and eqn from gnuplot's command line. I am happy to share this piece of software with anyone, in the hope that it will be useful for at least someone. But taking into account that it is the very first version of the driver, I would be happy if I could get into contact with people able to help me improve it. Mind you: Anything thats free comes with no guarantee! Good Luck Sigfrid Lundberg (siglun@volterra.teorekol.lu.se) gnuplot-3.7.3/docs/old/README.pro100644 1200 17 6106 6624021301 15547 0ustar lheckingusersThe modifications to gnuplot 3.2 in this directory add the capability of plotting probability distributions. This mod adds the following extra standard gnuplot functions: ibeta - incomplete beta function igamma - incomplete gamma function lgamma - natural log of gamma gamma - gamma function erf - error function (= trivial variation of infamous bell curve) erfc - 1.0 - error function (more accurate than 1.0 - erf yourself) rand - pseudo random number generator (in compliance with Knuth) using these things as building blocks, a gnuplot command file 'stat.inc' is provided with definitions of almost all statistical distributions. Author: Jos van der Woude, jvdwoude@hut.nl ========================================================== Directions to install gnuplot 3.3: (diffs are relative to gnuplot 3.0, patchlevel 2.0) If you have a BSD machine, add the following to the makefile.unx: OPTIONS = -DERF -DGAMMA and specfun.c to the SOURCES and specfun.o to the OBJECTS. For MSDOS machines (and non-BSD machines) do the following: ASSUMPTIONS: The diffs provided work for msdos based pc's, using turbo C, version 2.0, and Borland C++, version 2.0 or 3.0. If you use a different setup, you might have to make (some) changes. GOAL: To extend the standard function library of gnuplot 3.2 with the following functions: ibeta - incomplete beta function igamma - incomplete gamma function erf() - error function (= trivial variation of normal distribution function) erfc() - 1.0 - erf() (more accurate than computing 1.0 - erf() yourself) gamma() - gamma function (for entire domain!) lgamma() - natural logarithm of gamma function rand() - a statistical acceptable version of standard C rand() function These additions to the repertoire of standard functions turn gnuplot into an excellent tool for plotting statistical density and distribution functions. DETAILED INSTRUCTIONS: 0. Split the bottom part of this file into the appropriate files: readme.p3, patch3.dif, stat.inc, nomo95.dem, random.dem, prob.dem, prob2.dem, and specfun.c using an editor or a PD PC shar utility. 1. Use the patch program to generate new versions of: gnuplot.doc, command.c, internal.c, misc.c, parse.c, plot.c, plot.h, standard.c, util.c and version.c 2. Make sure that file specfun.c is in the gnuplot directory. 3. Use the make program to create new version of gnuplot. 4. Test the new functions with commmand files prob.dem, prob2.dem, random.dem and nomo95.dem. KNOWN BUG: On MSDOS machines this modification can result in a DGROUP segment overflow error at link time. The reason is that gnuplot uses the resources of the large memory model right up to the limit. There are two things you can do about this: 1. Compile gnuplot using the huge memory model. This was tested using Borland C++, version 2.0: Works fine, even with -DREADLINE enabled. 2. If you dont want to compile under the huge memory model you can try to disable unused terminal drivers in term.h. See instructions at top of file term.h. Happy plotting, Jos van der Woude Amsterdam, The Netherlands jvdwoude@hut.nl gnuplot-3.7.3/docs/old/README.win100644 1200 17 3621 6624021305 15547 0ustar lheckingusersREADME file for MS Windows version of gnuplot. 28th January 1993 Windows 3.0 and 3.1 (WIN16) ---------------------------- Windows gnuplot requires 4 files to run: WGNUPLOT.EXE Main program WGNUPLOT.DLL Graphics and Text window library WGNUPLOT.HLP Windows Help file WGNUPLOT.MNU Menu file These 4 files must be in the same directory. More information is available from gnuplot 'help set terminal windows'. WGNUPLOT runs in standard and enhanced modes. Windows 3.1 is preferred, but it will run under Windows 3.0 with the following restrictions: 1. COMMDLG.DLL and SHELL.DLL (available with Windows 3.1 or Borland C++ 3.1) must be in the windows directory. 2. WGNUPLOT.HLP produced by Borland C++ 3.1 is in Windows 3.1 format. You need to use the WINHELP.EXE supplied with Borland C++ 3.1. 3. WGNUPLOT won't run in real mode due to lack of memory. 4. Truetype fonts are not available in the graph window. 5. Drag-drop does not work. The Borland makefile is makefile.win. Windows gnuplot has only been tested with Borland C++ 3.1. Before making wgnuplot you will need to edit the TC = line to specify the location of your compiler. The Microsoft C 7.0 makefile is makefile.msw. This version has had very little testing and currently crashes if you set samples >= 2048. Windows 95 and Windows NT (WIN32) (or 3.1 with win32s ?) --------------------------------- When compiling with Microsoft Visual C/C++ for NT you should use makefile.nt from the top directory and build the project from a command line prompt with nmake nmake -f makefile.nt If you want to use the interactive debugger you will need to compile gnuplot from the IDE. For this purpose you can use the gnuplot.mak file in this directory, but first copy it into the top directory. Remember that this project file for the IDE will *not* build the complete package, just the executable for debugging purposes. gnuplot-3.7.3/docs/old/README.x11100644 1200 17 4755 6624021311 15371 0ustar lheckingusersX11 changes for gnuplot 3.3 --------------------------- Enhancements ------------ o VMS X11 support (Jehavi Bourvine) o New X11 rendering for 'points' plotting style improves point quality and eliminates the 'X11' terminal type whose only function was to request multi-colored points. (Russell Lang) o tailorable linewidths, dash styles, and point sizes (see the man page) o Color handling: - "colorname,intensity" where 0 < intensity < 1 For example, 'blue,.5' means a half intensity blue - hexadecimal RGB colors accepted (needed for HP VUE) - Failure to parse/allocate a color defaults to black for that color rather than monochrome for whole plot o 'set term x11' assumed if '-display' option on command line. Bug Fixes --------- o On monochrome servers, any lines plotted before the first label was printed were lost. This lost zero axes and garbled some other plots. (Kenneth H. Carpenter) o User specified geometry position ignored with some window managers. Negative positions miscalculated. (Mike Coleman) Vendor Botch Circumventions --------------------------- o New X11FLAGS options: - OW_BOTCH circumvents "ld.so: Undefined symbol: __XtInherit" loader errors on Sun Open Windows platforms. (Vivek Khera) - ISC22 circumvents select() problem with ISC2.2 (Robert Eckardt) - BSD_TYPES pulls select FD_SET definitions from (Michael Herrmann) - ULTRIX_KLUDGE expanded to circumvent missing demo plots at Ultrix 4.1 (chan@holo.iitsg.nrc.ca) o Random window geometry with Esix X11R3 (Al Bolduc) Miscellaneous ------------- o The man page has been updated to document that background and foreground are not honored for monochrome displays, only -rv and 'gnuplot*reverseVideo:on'. o '-tvtwm' command line option and gnuplot*tvtwm resource Mike Coleman's fix for user-specified geometry position for other window managers causes tvtwm to use absolute rather then virtual-relative coordinates when the user specifies geometry. This command line option and resource tells gnuplot_x11 to use PPosition (virtual-relative) when a geometry position is requested. Unfortunately, negative y positions are off by the size of the window manager title bar. Thus, for example, -0-20 rather than -0-0 is needed to place the lower right corner of the window at the lower right corner of the screen. gnuplot-3.7.3/docs/old/README.xli100644 1200 17 6264 6624021314 15554 0ustar lheckingusersFrom gregor@kafka.saic.com Tue Apr 7 21:24:49 1992 Return-Path: Received: from kafka.saic.com by ra-next.arc.nasa.gov (NeXT-1.0 (From Sendmail 5.52)/NeXT-1.0) id AA01805; Tue, 7 Apr 92 21:24:46 PDT Received: by kafka.saic.com (4.1/SMI-4.1) id AA28518; Tue, 7 Apr 92 21:34:46 PDT Date: Tue, 7 Apr 92 21:34:46 PDT From: gregor@kafka.saic.com (gregg hanna) Message-Id: <9204080434.AA28518@kafka.saic.com> To: woo@ra-next.arc.nasa.gov Subject: New terminal mode for gnuplot. Cc: gregor@kafka.saic.com Status: R Included in this shar is a patch and new files which provide a new terminal type called 'xlib' (for x11-library mode). The xlib is like the x11 mode modified so that the commands previously sent to the gnuplot_x11 driver are instead put into the output file. In addition, the gnuplot_x11.c file has been rewritten to be a callable function, which will read a xlib file and draw the described graph in a drawable. The following files are included: xlib.trm - A copy of x11.trm, modified to use the normal output file instead of a pipe. gnulib_x11.c - A rather severe rewrite of gnuplot_x11.c, as well as a few functions used to interface into the user code. gnulib_x11.h - Specs for user callable routines. xlibtest.c - a test program written in Motif, it will run gnuplot and build a xlib output file, then plot that on the screen. Resizing the window will redraw the plot, scaled appropriately, without re-running gnuplot. xlibtest.demo - the gnuplot command to draw the test plot. makefile.xlib - minimal make file for the xlibtest program The following patch is included: term.patch - Patch to 'term.c' which adds the specification for 'xlib' and includes the 'xlib.trm' file. These changes were made relative to gnuplot3p2b6, and the patch is in unified diff format. Please drop me a line if you would like it in a different format or relative to a different revision level. To get full use out of the xlib mode, the file gnulib_x11.c needs to be covered by the alternate GPL for libraries, since the gnulib.o file must be linked into the user's executable. Until that is the case, I will (of course) treat the file as covered by the GPL, meaning that I cannot include the gnulib_x11 drawing routines in my software. The 'xlib' mode provides functionality similar to the 'xpm' terminal mode I sent earlier. The 'xlib' mode is *much* faster, the disk files are smaller, and plots are re-sizable. The only advantage of the 'xpm' mode is that XPM format files are more transportable. This would seems to be less important since there is a ppm terminal mode. I'm quite excited about this mode, since it allows executing software the ability to generate gnuplot plots quickly while integrating the output into it's own display. I hope you will consider it for a future gnuplot release and, at that time, consider the LGPL option. I would appreciate knowing your views on the subject, since I would like to use the 'xlib' mode in my company's software. Thanks for a great program! gregg hanna gregor@kafka.saic.com --------cut-here---------------cut-here----------------cut-here---------- gnuplot-3.7.3/docs/old/makefile.r100644 1200 17 72000 7424575606 16071 0ustar lheckingusers # $Id: makefile.r,v 1.1.2.1 2025/01/26 18:55:02 lhecking Exp $ # # $Log: makefile.r,v $ # Revision 1.1.2.1 2025/01/26 18:55:02 lhecking # Support for pdf and W3C Scalable Vector Graphics output. # # Revision 1.1 2025/12/09 17:24:30 lhecking # Moved from ../.. # # Revision 1.7 2025/04/14 00:15:55 drd # HBB, Lars : latest mega monster patches. (Yes, this was supposed # to be frozen...) # # Revision 1.6 2025/01/28 16:31:40 drd # drd: take out defunct atari.trm from some makefiles # (try to) choose real(sqrt(z)) >= 0 # Emmanuel Bigler, drd: encoding support for hpgl # Werner Geppert: fixes to help text in post.trm and x11.trm # Stefan Bodewig: add asinh etc # Pieter Vosbeek: new pslatex.trm # Emmanual Bigler: djsvga.trm # # Revision 1.5 2025/05/12 12:23:03 drd # woo,drd: initial multiplot support # # Revision 1.4 2025/04/04 15:59:13 drd # drd: remove gnubin from makefiles # # Revision 1.3 2025/10/07 10:20:37 alex # Lars Henke, Nick Stroebel: minor ticmarks, new errorbar styles: yerrorbars, # xerrorbars, xyerrorbars, boxxyerrorbars, interpolation: splines, csplines, # sbezier, bezier, errorbars with and without ticks, Amiga cleanup # AL: added interpol.c to all makefiles # # Revision 1.2 2025/09/27 17:08:54 alex # gnuplot 3.5 release # # Revision 3.50.1.17 2025/08/27 05:21:33 woo # V. Khera's fig patch # # Revision 3.50.1.16 2025/08/27 05:04:42 woo # Added to help.c and added support routines to binary.c # # Revision 3.50.1.15 2025/08/21 15:23:42 woo # Rewrote print_3dtable # # Revision 3.50.1.14 2025/08/19 04:10:23 woo # V. Broman sun_mgr driver # # Revision 3.50.1.13 2025/08/19 03:21:26 woo # R. Lang fix to MS-Windows print driver # # Revision 3.50.1.11 2025/08/10 03:55:03 woo # R. Lang mod to change location of plot in hppj.trm # # Revision 3.50.1.10 2025/08/07 16:06:34 woo # Fix using n bug, configure 1.3 # # Revision 3.50.1.9 2025/08/05 05:38:59 woo # Fix timedate location for splot and plot + CONFIGURE ROUTINE # # Revision 3.50.1.8 2025/07/27 05:37:15 woo # More mods for SOLARIS 2.2 using gcc # # Revision 3.50.1.7 2025/07/27 04:57:58 woo # Fix impulse plot style if logscale y # # Revision 3.50.1.6 2025/07/27 03:35:12 woo # Fix epsviewe.m # # Revision 3.50.1.4 2025/07/26 06:17:24 woo # Solaris mods to sun_x11 and gplt_x11.c # # Revision 3.50.1.3 2025/07/26 05:38:19 woo # DEC ALPHA OSF1 mods # # Revision 3.50.1.2 2025/07/26 05:12:42 woo # fix of replot of replot bug # # Revision 3.50.1.1 2025/07/26 04:59:54 woo # fix of splot notitle bug # # Revision 3.50 2025/07/09 05:35:24 woo # Baseline version 3.5 version # # Revision 3.38.2.153 2025/07/08 03:43:32 woo # Added dgrid3d save to misc.c and updated titlepages # # Revision 3.38.2.153 2025/07/08 03:43:32 woo # Added dgrid3d save to misc.c and updated titlepages # # Revision 3.38.2.152 2025/07/06 15:03:56 woo # A. Lehmann cleanup of 3_5b1 # # Revision 3.38.2.151 2025/07/06 14:33:51 woo # New 0FAQ and AXPVMS fix to gplt_x11.c # # Revision 3.38.2.150 2025/07/02 16:42:43 woo # A. Reeh fix for monochrome X11 under VMS # # Revision 3.38.2.149 2025/07/01 20:31:55 woo # New version of GRASS makefile # # Revision 3.38.2.148 2025/07/01 13:54:25 woo # T. Collins changes to Latex line types # # Revision 3.38.2.147 2025/07/01 13:41:44 woo # A. Lehmann fix for hpux internal.c # # Revision 3.38.2.146 2025/06/30 21:24:08 woo # Fix to flash graphics, rosenbrock function in contours.dem # # Revision 3.38.2.145 2025/06/30 20:16:22 woo # Yehavi fixes for AXPVMS # # Revision 3.38.2.144 2025/06/23 00:34:39 woo # Reordered latex line types -- lighter default line # # Revision 3.38.2.143 2025/06/23 00:10:28 woo # R. Shouman fix of blank title induced linetype bug # # Revision 3.38.2.142 2025/06/21 14:43:21 woo # P. Egghart check on PLOSS for matherr and pass MY_FLAGS to subdirectories # # Revision 3.38.2.141 2025/06/19 13:00:21 woo # Okidata driver and time_t for sun386 mod # # Revision 3.38.2.140 2025/06/19 12:29:34 woo # J. Abbey fixes for Alliant # # Revision 3.38.2.139 2025/06/19 01:03:49 woo # Fix for 3d clipping bug # # Revision 3.38.2.138 2025/06/16 00:38:14 woo # O. Franksson MIF mod for vertical text and better char size # # Revision 3.38.2.137 2025/06/15 23:57:02 woo # Linux fixes # # Revision 3.38.2.136 2025/06/15 23:33:29 woo # V. Khera non-interactive stderr fix # # Revision 3.38.2.135 2025/06/15 22:02:26 woo # splot fix for x & y tics and labels # # Revision 3.38.2.134 2025/06/04 01:03:20 woo # Linux additions to makefile.unx # # Revision 3.38.2.133 2025/06/04 00:34:23 woo # D. Lewart cleanup of documentation and AIX flags # # Revision 3.38.2.132 2025/06/04 00:01:25 woo # Fixed range reverse tic bug for splot, fixed reported bug for pcl landscape mode # # Revision 3.38.2.131 2025/06/03 23:54:25 woo # Fixed author list and version number in titlepages # # Revision 3.38.2.130 2025/05/26 00:54:46 woo # Information on comp.graphics.gnuplot whenever mailing list mentioned # # Revision 3.38.2.129 2025/05/18 23:36:20 woo # D. Lewart cleanup of 3_3b14 # # Revision 3.38.2.128 2025/05/18 23:21:07 woo # C. Steger's mod to animate.dem # # Revision 3.38.2.127 2025/05/06 00:06:02 woo # More R. Lang memory realignments for MS-DOS and MS Windows # # Revision 3.38.2.126 2025/05/05 22:39:48 woo # New mif driver # # Revision 3.38.2.125 2025/05/05 00:02:28 woo # R. Lang addition of GPFAR pointers # # Revision 3.38.2.124 2025/05/04 22:53:47 woo # C. Steger cleanup # # Revision 3.38.2.123 2025/04/30 00:56:28 woo # M Levine mods to hpgl.trm to allow printing under VMS (add carriage returns) # # Revision 3.38.2.122 2025/04/30 00:31:45 woo # M Levine mods to add 16 colors for REGIS devices # # Revision 3.38.2.121 2025/04/30 00:02:32 woo # Mods for OpenVMS on DEC AXP # # Revision 3.38.2.120 2025/04/26 00:25:11 woo # Aztec C patches for the Amiga # # Revision 3.38.2.119 2025/04/25 23:55:53 woo # C. Steger cleanup of 3_3b13 # # Revision 3.38.2.118 2025/04/19 23:22:02 woo # Add 0BUGS,0FAQ and MacCauley solaris mods # # Revision 3.38.2.117 2025/04/15 02:30:21 woo # R. Davis cleanup of NeXT terminal driver # # Revision 3.38.2.116 2025/04/15 02:10:38 woo # R. Lang mods for SVGAKIT to EMX gcc # # Revision 3.38.2.115 2025/04/15 01:58:16 woo # Cleaning up mailing list addresses in trm's # # Revision 3.38.2.114 2025/04/15 01:48:40 woo # D. Lewart cleanup of 3_3b12 # # Revision 3.38.2.113 2025/04/15 01:38:07 woo # C. Steger clean gpic driver # # Revision 3.38.2.112 2025/04/03 12:04:22 woo # C. Steger cleanup of 3_3b12 # # Revision 3.38.2.111 2025/04/03 11:58:46 woo # T. Richardson fix of real contour levels bug # # Revision 3.38.2.110 2025/04/03 11:49:19 woo # T. Broekart parametric data file fix # # Revision 3.38.2.109 2025/04/03 00:00:57 woo # S. Rosen 180 dpi Epson driver # # Revision 3.38.2.108 2025/03/29 13:14:23 woo # K. Yee fixes to texdraw.trm # # Revision 3.38.2.107 2025/03/26 22:52:14 woo # R. Lang fix to doc2rtf.c and gnuplot.doc # # Revision 3.38.2.106 2025/03/26 22:48:05 woo # Added X11 term entry for backward compatibility # # Revision 3.38.2.105 2025/03/23 03:21:55 woo # D. Lewart cleanup of 3_3b11 # # Revision 3.38.2.103 2025/03/23 03:01:56 woo # V. Khera Fig 2.1 graphics editor driver # # Revision 3.38.3.102 2025/03/23 02:49:02 woo # R. Toy's fixes for gamma function # # Revision 3.38.2.101 2025/03/23 02:22:10 woo # D. Johnson LINUX addition to makefile.unx # # Revision 3.38.2.100 2025/03/22 03:23:10 woo # 3B2 and KSR support # # Revision 3.38.2.99 2025/03/22 02:28:47 woo # R. Lang's fix of 3_3b11 post.trm # # Revision 3.38.2.98 2025/03/22 02:22:16 woo # R. Shouman postscript mods # # Revision 3.38.2.97 2025/03/16 15:07:24 woo # C. Steger's cleanup of 3_3b10 # # Revision 3.38.2.96 2025/03/15 21:39:29 woo # More R. Fearick 930312 os2 mods # # Revision 3.38.2.95 2025/03/15 21:32:02 woo # R. Fearick 930312 os/2 mods # # Revision 3.38.2.94 2025/03/15 20:28:00 woo # Fixed logscale y label bug # # Revision 3.38.2.93 2025/03/15 19:26:12 woo # T. Collins cleanup for Sequent Dynix # # Revision 3.38.2.92 2025/03/12 20:06:08 woo # A. Lehman fix of GPFAR bug in binary.c, more is_log_func fixes # # Revision 3.38.2.91 2025/03/08 01:40:06 woo # R. Lang fix of MS Windows Menu error (show instead of set) # # Revision 3.38.2.90 2025/03/08 01:12:01 woo # R. Lang fix of contour bugs with farmalloc # # Revision 3.38.2.89 2025/03/06 01:37:13 woo # T. Broekaert fix of parametric log_func # # Revision 3.38.2.88 2025/03/04 01:47:16 woo # Added polar grids # # Revision 3.38.2.87 2025/03/02 19:31:38 woo # GRASS (Geographics Information Systems) mods # # Revision 3.38.2.86 2025/03/01 01:50:57 woo # R. de Oliveira Apollo mods for 3_3b9 # # Revision 3.38.2.85 2025/03/01 01:45:52 woo # New Klein.dat data file # # Revision 3.38.2.84 2025/03/01 01:36:45 woo # Lewart's cleanup of 3_3b9 # # Revision 3.38.2.83 2025/03/01 01:06:14 woo # More DEC_OSF mods # # Revision 3.38.2.82 2025/03/01 00:28:27 woo # Fixed zrange parse error for parametric splot # # Revision 3.38.2.81 2025/02/24 02:29:34 woo # C. Liu's Zortech mods to 3_3b9 # # Revision 3.38.2.80 2025/02/20 18:34:10 woo # Fixes to some demo files and LATEX font options by J. Holloway # # Revision 3.38.2.79 2025/02/20 13:44:21 woo # C. Liu preparatory Zortech extended DOS mods # # Revision 3.38.2.78 2025/02/20 02:59:43 woo # Changed complex() -> Gcomplex(), integer() -> Ginteger() and DEC OSF1 mods # # Revision 3.38.2.77 2025/02/19 02:18:03 woo # R. Shouman hidden+nosurface draw_clip_line fix # # Revision 3.38.2.76 2025/02/19 01:33:00 woo # K. Laprade switch quote_str to quotel_str in command.c # # Revision 3.38.2.75 2025/02/19 01:25:45 woo # V. Snyder check for view 90,0 # # Revision 3.38.2.74 2025/02/19 00:05:24 woo # R. Lang Windows NT preparatory mods # # Revision 3.38.2.73 2025/02/18 03:24:36 woo # V. Snyder animation mods # # Revision 3.38.2.72 2025/02/09 03:02:15 woo # Sigfrid Lundberg siglun@lotke.teorekkol.lu.se GPIC (troff) driver # # Revision 3.38.2.71 2025/02/08 02:41:39 woo # R. Lang fix to ANSI C __UNIX__ define instead of UNIX # # Revision 3.38.2.70 2025/02/08 02:13:53 woo # A. Lehman general cleanup and Atari mods # # Revision 3.38.2.69 2025/02/07 00:52:34 woo # C. Steger cleanup of isosamples # # Revision 3.38.2.68 2025/02/07 00:40:17 woo # R. Lang's MIF driver fixes # # Revision 3.38.2.67 2025/02/06 23:35:49 woo # T. Richardson's gnugraph driver # # Revision 3.38.2.66 2025/02/06 03:04:28 woo # D. Tabor's fix to align 3d grids with tic marks in parametric mode # # Revision 3.38.2.65 2025/02/06 02:26:55 woo # D. Lewart's cleanup of docs directory # # Revision 3.38.2.64 2025/02/05 03:41:53 woo # A. Woo fixes to mif.trm # # Revision 3.38.2.63 2025/02/05 03:38:49 woo # R. Shouman notitle extensions # # Revision 3.38.2.62 2025/02/05 03:32:09 woo # R. Lang 930128 MS Windows patch # # Revision 3.38.2.61 2025/01/27 02:35:31 woo # C. Steger's isosamples mod # # Revision 3.38.2.60 2025/01/27 01:46:55 woo # C. Steger addition of klein bottle to singulr.dem and new metafont driver # # Revision 3.38.2.59 2025/01/26 01:08:58 woo # R. Fearick 930125 OS/2 mods # # Revision 3.38.2.58 2025/01/26 00:26:54 woo # P. Johnson MSC 7.0 mods to beta 7 release # # Revision 3.38.2.57 2025/01/23 00:56:18 woo # R. Lang's EMX for MS-DOS mods # # Revision 3.38.2.56 2025/01/22 02:38:10 woo # C. Steger metafont driver mods and demo cleanup # # Revision 3.38.2.55 2025/01/22 01:50:01 woo # C. Steger's SAS/C 6.1 for AMIGA mods # # Revision 3.38.2.54 2025/01/21 01:31:48 woo # R. Lang's datafile fix # # Revision 3.38.2.53 2025/01/21 01:11:07 woo # D. Lewart cleanup to BETA 7 release # # Revision 3.38.2.52 2025/01/17 03:43:20 woo # Deskjet 500C Color Driver # # Revision 3.38.2.51 2025/01/16 14:54:28 woo # Remove faralloc for DJGPP # # Revision 3.38.2.50 2025/01/16 14:54:28 woo # D. Lewart's RS6000 and cleanup fix # # Revision 3.38.2.49 2025/01/15 01:02:52 woo # Modified color postscript driver to retain dotted and dashed lines # # Revision 3.38.2.48 2025/01/14 04:21:27 woo # R. Lang cleanup fix of 930112 # # Revision 3.38.2.47 2025/01/14 04:05:38 woo # E. Youngdale fix for scattered data # # Revision 3.38.2.46 2025/01/11 04:41:47 woo # D. Tabor segmented memory fix for X286 # # Revision 3.38.2.45 2025/01/11 04:36:01 woo # Various fixes to demo files, demo -> dem, suggested by Interrante # # Revision 3.38.2.44 2025/01/11 03:57:44 woo # J. Interrante fixes to Perl script # # Revision 3.38 2025/01/11 03:55:32 woo # MS-DOS makefile for RCS checkin # # Revision 3.38.2.43 2025/01/10 21:58:46 woo # Update Copyright and Date # # Revision 3.38.2.42 2025/01/07 17:07:24 woo # R. Lang + P. Johnson unsigned char compare fix # # Revision 3.38.2.41 2025/01/07 16:58:04 woo # R. Lang 12-23 windows + P. Johnson MS-C mods # # Revision 3.38.2.40 2025/01/07 16:49:42 woo # R. Davis save fixes # # Revision 3.38.2.39 2025/12/15 17:09:35 woo # VMS fixes + C. Steger documentation for MF driver # # Revision 3.38.2.38 2025/12/12 07:11:02 woo # R. Lang 12/10 MS Windows mods # # Revision 3.38.2.37 2025/12/12 06:52:38 woo # R. Cunningham fix for binary stdin # # Revision 3.38.2.36 2025/12/12 06:40:15 woo # Airfoil Demo & C. Steger's metafont driver fixes # # Revision 3.38.2.35 2025/12/12 06:16:45 woo # R. Cunningham internal reset error fix & sys/types in misc.c # # Revision 3.38.2.34 2025/12/12 05:56:21 woo # D. Lewart latex and punctuation mod -- large # # Revision 3.38.2.33 2025/12/04 19:49:20 woo # E. van der Maarel documentation fixes # # Revision 3.38.2.32 2025/12/04 18:32:51 woo # C. Steger's AMIGA SC 6.1 mod + singular.dem # # Revision 3.38.2.31 2025/12/04 17:59:01 woo # R. Lang's 1204 windows ICON patch. # # Revision 3.38.2.30 2025/12/03 18:20:15 woo # R. Lang's 1203 windows patch. # # Revision 3.38.2.29 2025/12/01 22:21:45 woo # A. Lehmann's prototype fixes # # Revision 3.38.2.28 2025/12/01 20:40:45 woo # J. Campbell's modifications to the README # # Revision 3.38.2.26 2025/12/01 03:47:53 woo # Changed index to strchr in rgip.trm and imagen.trm # # Revision 3.38.2.25 2025/12/01 03:42:02 woo # More P. Johnson MSC fixes # # Revision 3.38.2.24 2025/11/26 04:25:08 woo # G. Phillips pslatex driver # # Revision 3.38.2.23 2025/11/26 03:01:17 woo # E. Youngdale fix of imagen.trm # # Revision 3.38.2.22 2025/11/26 02:58:19 woo # R. Lang fix of gnuplot.def # # Revision 3.38.2.21 2025/11/24 16:22:20 woo # P. Johnson fixes for MS-C 7.0 # # Revision 3.38.2.20 2025/11/24 16:00:56 woo # R. Lang 1123d fix to Print! (ascii now) # # Revision 3.38.2.19 2025/11/24 16:00:56 woo # Changed arc.nasa.gov to dartmouth.edu in all files # # Revision 3.38.2.18 2025/11/23 21:09:28 woo # R. Lang 1123c 16 char directory bugfix. # # Revision 3.38.2.17 2025/11/23 21:02:52 woo # R. Lang 1123b drag-drop fix for windows. # # Revision 3.38.2.16 2025/11/23 20:20:12 woo # R. Lang 1123a fixes for README.win, data size in windows. # # Revision 3.38.2.15 2025/11/23 19:59:26 woo # E. Youngdale y-axis hidden line fix. # # Revision 3.38.2.14 2025/11/21 02:05:09 woo # R. Lang's 11/20 Windows patch. # # Revision 3.38.2.12 2025/11/20 18:14:40 woo # New prob.dem with steps. # # Revision 3.38.2.11 2025/11/20 01:35:24 woo # Gershon multiple mesh mods. # # Revision 3.38.2.10 2025/11/16 17:52:15 woo # R. Fearick fixes, gnuplot.ico to gnupmdrv.c # # Revision 3.38.2.9 2025/11/16 17:38:05 woo # R. Lang new win (MS-Windows) subdirectory # # Revision 3.38.2.8 2025/11/16 16:52:54 woo # A. Lehmann no BGI mods # # Revision 3.38.2.7 2025/11/14 03:49:17 woo # R. Lang multiple patches # # Revision 3.38.2.6 2025/11/14 02:22:20 woo # H. Eggestad rgip and imagen drivers fixes, hpgl fix # # Revision 3.38.2.5 2025/11/10 02:16:55 woo # Gershon Elber scatter to grid mods # # Revision 3.38.2.2 2025/11/06 06:29:44 woo # Roger Fearick OS/2 mods # # Revision 3.38.1.53 2025/11/06 05:20:26 woo # Jos fixes to specfunc documentation-- fixes to gpcard # # Revision 3.38.1.52 2025/11/05 00:39:01 woo # R. Shouman notitle Option # # Revision 3.38.1.51 2025/11/04 23:58:39 woo # Ed Kubaitis X11 fixes # # Revision 3.38.1.50 2025/11/04 21:37:10 woo # Misc. Bug Fixes, new get_data, many improvements from D. Lewart # # Revision 3.38.1.49 2025/10/31 07:03:11 woo # H Olav Eggestad RGIP Uniplex driver -- requires POSIX # # Revision 3.38.1.48 2025/10/31 06:05:57 woo # J Grosh steps mod # # Revision 3.38.1.47 2025/10/31 03:26:29 woo # R. Lang ylabel rotate fix # # Revision 3.38.1.46 2025/10/29 00:00:30 woo # Ed Kubaitis X11 mods, surface1 demo fix # # Revision 3.38.1.45 2025/10/28 22:07:26 woo # More bugfixes, some demo changes for CRAY # # Revision 3.38.1.44 2025/10/27 18:48:40 woo # More bugfixes, new get_data.c from RJL, iris trm fix # # Revision 3.38.1.43 2025/10/23 20:08:14 woo # Misc. bugfixes, Corel.trm, DEFAULTTERM, VMS # # Revision 3.38.1.42 2025/10/23 04:14:41 woo # A. Lehmann version of Koechling pureC Atari version # # Revision 3.38.1.41 2025/10/22 21:16:07 woo # R. Lang's documentation corrections # # Revision 3.38.1.40 2025/10/22 04:23:58 woo # E. Youngdale LITE mods which remove hidden line removal # # Revision 3.38.1.39 2025/10/22 03:25:57 woo # R. Cunningham's contours, zero, mixed data fixes # # Revision 3.38.1.38 2025/10/22 02:05:13 woo # R. Toy's PSTRICKS driver # # Revision 3.38.1.37 2025/10/19 05:24:40 woo # New R. Lang MS-Windows Mods # # Revision 3.38.1.36 2025/10/09 17:38:48 woo # MIF terminal description added to gnuplot.doc # # Revision 3.38.1.35 2025/10/08 21:47:33 woo # A. Lehmman PIPES for gcc on Atari and fixes # # Revision 3.38.1.34 2025/10/08 21:04:21 woo # J. Richardson Apollo mods # # Revision 3.38.1.33 2025/10/08 20:30:43 woo # Y. Arrouye fix to post.trm and empty title fix # # Revision 3.38.1.32 2025/10/08 20:03:51 woo # C. Sophocleous fix to readline.c # # Revision 3.38.1.31 2025/10/08 19:43:14 woo # Gershon fix of tpw@ama.caltech.edu bug # # Revision 3.38.1.30 2025/10/08 19:04:07 woo # Neal Holtz tgif driver # # Revision 3.38.1.29 2025/10/08 17:44:21 woo # Removed ANSI C prototypes from tpic.trm # # Revision 3.38.1.28 2025/10/08 17:27:08 woo # Eric Youngdale Imagen driver mods # # Revision 3.38.1.27 2025/10/08 17:17:22 woo # Rob Cunningham addition of datafiles to help plot # # Revision 3.38.1.26 2025/10/08 16:25:42 woo # More D. Tabor contour mods # # Revision 3.38.1.25 2025/09/28 05:59:16 woo # Changed Default Font to Helvetica in PostScript # # Revision 3.38.1.24 2025/09/28 04:56:48 woo # L. Crowl mods for logs to any base # # Revision 3.38.1.23 2025/09/28 02:06:30 woo # Honoo Suzuki TPIC driver # # Revision 3.38.1.22 2025/09/27 19:49:08 woo # Chris Parks CorelDraw! driver # # Revision 3.38.1.21 2025/09/27 19:29:35 woo # Tom Swiler's new HPGL2 driver # # Revision 3.38.1.20 2025/09/27 19:11:57 woo # More R. Eckardt's ISC-2.2 fixes # # Revision 3.38.1.19 2025/09/27 19:06:10 woo # More R. Lang's DJGPP mods # # Revision 3.38.1.18 2025/08/27 23:36:16 woo # R. Lang's DJGPP mods and djsvga terminal driver # # Revision 3.38.1.17 2025/08/26 04:59:50 woo # R. Eckardt's ISC-2.2 fixes # # Revision 3.38.1.16 2025/08/26 03:34:04 woo # Gershon auto splot fix # # Revision 3.38.1.15 2025/08/22 04:52:47 woo # R Lang's mods for Borland C++ 3.1 Phar Lap Dos 286Extender # # Revision 3.38.1.14 2025/08/22 04:43:38 woo # P. Klosowski's Talaris EXCL driver # # Revision 3.38.1.13 2025/08/22 03:44:11 woo # C. Steger's Amiga Mods # # Revision 3.38.1.12 2025/08/08 21:29:55 woo # A. Lehmann's Atari Mods # # Revision 3.38.1.11 2025/08/08 19:33:09 woo # Frame Maker MIF 3.0 format driver # # Revision 3.38.1.10 2025/08/08 06:15:06 woo # E Youngdale's memory & speed fix for hiddenline removal # # Revision 3.38.1.9 2025/08/08 05:23:07 woo # R Lang's fix to sorting for hiddenline removal + Cray fix # # Revision 3.38.1.8 2025/07/12 22:51:13 woo # Yehavi Bourvine mods, new BUILDVMS, command.c fix # # Revision 3.38.1.7 2025/07/12 05:45:39 woo # Luecken mods, hp26, post # # Revision 3.38.1.6 2025/07/11 04:56:15 woo # Additions to gnuplot.doc for binary files, day & month tics # # Revision 3.38.1.5 2025/07/10 04:55:01 woo # July 3rd MS Windows mod # # Revision 3.38.1.4 2025/07/09 14:52:27 woo # Fix sscanf in command.c, cdecl in graph3d.c & new using.dem # # Revision 3.38.1.3 2025/07/09 05:13:30 woo # New Latex Driver # # Revision 3.38.1.2 2025/07/08 05:23:20 woo # DOS Memory fix, GPHUGE pointers # # Revision 3.38.1.1 2025/07/08 05:06:53 woo # ShowSubTopics fix # # Revision 3.38 2025/06/17 03:55:15 woo # MS Windows patches, day_of_week mod, gnubin fix, texdraw, new hidden mods # # Revision 3.37 2025/05/28 03:31:19 woo # bug fix of runaway gnuplot_x11.c, SUN util.c, xlib driver & new hidden line removal routines # # Revision 3.36 2025/04/18 05:47:28 woo # bug fix of thru mod, new stat.inc and prob.dem # # Revision 3.35 2025/03/31 04:49:54 woo # BETA 1 of version 3.3 - bug fixes to binary routines # # Revision 3.34 2025/03/27 06:08:57 woo # mods for VMS X11 to gnuplot_x11.c and x11.trm # # Revision 3.33 2025/03/27 05:14:14 woo # add binary files, does not work under MSDOS BCC 2.0 # # Revision 3.32 2025/03/20 04:15:09 woo # add atari, metafont, hp2623 mods, more nec, pcl5 options # # Revision 3.31 2025/03/17 17:03:29 woo # add regis, ln03p, pc getenv, paintjet, iso8869, hpgl, pcl, doc2info.pl # # Revision 3.30 2025/03/17 03:43:08 woo # add sgtty readline mods and thru mods, detected CRAY bug # # Revision 3.29 2025/03/16 00:10:19 woo # add discrete contour levels # # Revision 3.28 2025/03/15 16:06:22 woo # add calln and probability density mods # # Revision 3.25 2025/03/14 21:41:36 woo # gnuplot3.2, beta 5 # # Revision 3.24 2025/02/29 16:23:41 woo # gnuplot3.2, beta 4 # # Revision 3.23 2025/02/21 20:18:16 woo # gnuplot3.2, beta 3 # # ############################################################ # RCSVER = 3.50.1.17 RCSCOM = "V. Khera's fig patch" # List of source files # Used for making shar files, lint, and some dependencies. DIRS = term demo docs docs/latextut CSOURCE1 = bf_test.c binary.c command.c setshow.c CSOURCE2 = help.c graphics.c graph3d.c internal.c CSOURCE3 = misc.c eval.c parse.c plot.c readline.c scanner.c standard.c stdfn.c CSOURCE4 = bitmap.c term.c util.c version.c CSOURCE5 = term/ai.trm term/amiga.trm term/aed.trm \ term/cgi.trm term/corel.trm \ term/djsvga.trm term/dumb.trm \ term/dxf.trm term/dxy.trm term/debug.trm \ term/emxvga.trm term/eepic.trm term/epson.trm term/excl.trm \ term/fig.trm term/grass.trm term/hp26.trm term/hp2648.trm term/hpgl.trm \ term/hp500c.trm term/hpljii.trm term/metafont.trm term/mgr.trm\ term/apollo.trm term/gpr.trm term/hppj.trm term/compact.c CSOURCE6 = term/impcodes.h term/imagen.trm term/next.trm term/object.h \ term/iris4d.trm term/kyo.trm term/latex.trm term/mif.trm \ term/pbm.trm term/pdf.trm term/pslatex.trm term/gpic.trm term/gnugraph.trm CSOURCE7 = term/post.trm term/pstricks.trm term/qms.trm term/regis.trm \ term/rgip.trm term/sun.trm term/svg.trm \ term/t410x.trm term/tek.trm term/texdraw.trm term/tgif.h \ term/tgif.trm term/tpic.trm \ term/unixpc.trm term/unixplot.trm \ term/v384.trm term/vws.trm term/x11.trm term/xlib.trm CSOURCE8 = contour.c specfun.c gplt_x11.c interpol.c NEXTSRC = epsviewe.m epsviewe.h # not C code, but still needed DEMOS = demo/1.dat demo/2.dat demo/3.dat demo/contours.dem \ demo/controls.dem demo/electron.dem demo/glass.dat demo/param.dem \ demo/polar.dem demo/simple.dem demo/surface1.dem \ demo/surface2.dem demo/using.dat demo/using.dem demo/world.cor \ demo/world.dat demo/world.dem \ demo/err.dat demo/poldat.dem demo/polar.dat demo/errorbar.dem \ demo/antenna.dat demo/all.dem demo/animate.dem demo/bivariat.dem \ demo/prob.dem demo/stat.inc demo/prob2.dem demo/random.dem \ demo/discrete.dem demo/hidden.dem demo/airfoil.dem demo/gnuplot.rot\ demo/binary.dem demo/spline.dem demo/steps.dem demo/steps.dat \ demo/multimsh.dem demo/whale.dat demo/hemisphr.dat \ demo/scatter.dem demo/scatter2.dat demo/singulr.dem demo/klein.dat CONFIGURE = configure configure.in Makefile.in docs/Makefile.in\ docs/latextut/Makefile.in 0CONFIG ETC = Copyright 0README README.gnu README.ami makefile.unx makefile.vms \ linkopt.amg makefile.amg makefile.ami linkopt.vms buildvms.com \ lasergnu makefile.r makefile.nt makefile.g 0FAQ 0BUGS\ term/README History gnuplot.el intergra.x11 0INSTALL README.3p1\ README.3p2 README.3p3 README.3p4 README.pro README.nex README.x11 \ README.3d README.mf README.win README.iso README.3p5 README.pic \ README.xli $(CONFIGURE) #BETA files (not standard distribution files) BETA = # PC-specific files PC = corgraph.asm corplot.c header.mac hrcgraph.asm lineproc.mac \ linkopt.msc makefile.msc makefile.tc makefile.st makefile.djg \ pcgraph.asm gnuplot.def makefile.286 makefile.emx \ makefile.ztc linkopt.ztc term/fg.trm term/pc.trm WINDOWS = makefile.win makefile.msw README.win win/wcommon.h \ win/wgnuplib.c win/wgnuplib.def win/wgnuplib.h win/wgnuplib.rc \ win/wgnuplot.def win/wgnuplot.hpj win/wgnuplot.mnu win/wgnuplot.rc \ win/wgraph.c win/winmain.c win/wmenu.c win/wpause.c \ win/wprinter.c win/wresourc.h win/wtext.c win/wtext.h \ win/geticon.c docs/doc2rtf.c term/win.trm OS2 = makefile.os2 os2/makefile os2/dialogs.c os2/dialogs.h os2/gclient.c \ os2/gnuicon.uue os2/gnupmdrv.c os2/gnupmdrv.def os2/gnupmdrv.h \ os2/gnupmdrv.itl os2/gnupmdrv.rc os2/print.c docs/doc2ipf.c \ README.os2 term/pm.trm # Documentation and help files DOCS1 = docs/makefile docs/README docs/checkdoc.c docs/doc2gih.c \ docs/doc2hlp.c docs/doc2hlp.com docs/doc2ms.c docs/doc2tex.c \ docs/gnuplot.1 docs/lasergnu.1 docs/toc_entr.sty docs/doc2info.pl \ docs/titlepag.ms docs/titlepag.tex docs/makefile.ami \ docs/doc2rtf.c DOCS2 = docs/gnuplot.doc docs/gpcard.tex DOCS3 = docs/latextut/makefile docs/latextut/eg1.plt \ docs/latextut/eg2.plt docs/latextut/eg3.dat docs/latextut/eg3.plt \ docs/latextut/eg4.plt docs/latextut/eg5.plt docs/latextut/eg6.plt \ docs/latextut/header.tex docs/latextut/tutorial.tex \ docs/latextut/linepoin.plt ######################################################################### ################################################################ # Miscellaneous targets SOURCES=plot.h help.h setshow.h bitmap.h term.h $(CSOURCE1) $(CSOURCE2) \ $(CSOURCE3) $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)\ $(CSOURCE8) $(NEXTSRC) $(WINDOWS) $(OS2) DOCS = $(DOCS1) $(DOCS2) $(DOCS3) lint: lint -hx $(SOURCES) clean: rm -f *.o *.orig *.rej *~ *.bak term/*~ term/*.orig term/*.bak ( cd docs; $(MAKE) $(MFLAGS) clean ) ( cd docs/latextut; $(MAKE) $(MFLAGS) clean ) spotless: rm -f *.o *~ *.orig *.rej *.bak term/*~ term/*.orig term/*.bak \ TAGS gnuplot gnuplot_x11 \ bf_test demo/binary[1-3] ( cd docs; $(MAKE) $(MFLAGS) clean ) ( cd docs/latextut; $(MAKE) $(MFLAGS) spotless ) ################################################################ # Making shar files for mailing gnuplot shar: gnuplot.sh00 gnuplot.sh01 gnuplot.sh02 gnuplot.sh03 gnuplot.sh04 \ gnuplot.sh05 gnuplot.sh06 gnuplot.sh07 gnuplot.sh08 \ gnuplot.sh09 gnuplot.sh10 gnuplot.sh11 gnuplot.sh12 \ gnuplot.sh13 gnuplot.sh14 gnuplot.sh15 gnuplot.sh16 gnuplot.sh00: echo '#!/bin/sh' > gnuplot.sh00 echo '# This is a shell file to make directories' >> gnuplot.sh00 echo mkdir $(DIRS) >> gnuplot.sh00 gnuplot.sh01: $(ETC) shar $(ETC) > gnuplot.sh01 gnuplot.sh02: $(DOCS1) shar $(DOCS1) > gnuplot.sh02 gnuplot.sh03: $(DOCS2) shar $(DOCS2) > gnuplot.sh03 gnuplot.sh04: $(DOCS3) shar $(DOCS3) > gnuplot.sh04 gnuplot.sh05: $(CSOURCE1) shar $(CSOURCE1) > gnuplot.sh05 gnuplot.sh06: $(CSOURCE2) shar $(CSOURCE2) > gnuplot.sh06 gnuplot.sh07: $(CSOURCE3) shar $(CSOURCE3) > gnuplot.sh07 gnuplot.sh08: $(CSOURCE4) shar $(CSOURCE4) > gnuplot.sh08 gnuplot.sh09: $(CSOURCE5) shar $(CSOURCE5) > gnuplot.sh09 gnuplot.sh10: $(CSOURCE6) shar $(CSOURCE6) > gnuplot.sh10 gnuplot.sh11: $(CSOURCE7) shar $(CSOURCE7) > gnuplot.sh11 gnuplot.sh12: $(PC) shar $(PC) > gnuplot.sh12 gnuplot.sh13: $(CSOURCE8) shar $(CSOURCE8) > gnuplot.sh13 gnuplot.sh14: $(DEMOS) shar $(DEMOS) > gnuplot.sh14 gnuplot.sh15: $(WINDOWS) shar $(WINDOWS) > gnuplot.sh15 gnuplot.sh16: $(BETA) shar $(BETA) > gnuplot.sh16 tar: $(ETC) $(SOURCES) $(PC) $(DEMOS) $(BETA) $(DOCS) $(TAR) cvf /tmp/gnuplot.tar $(ETC) $(SOURCES) $(PC)\ $(DEMOS) $(BETA) $(DOCS) # # the following uses Rick Saltz's makekit shar generation tools # kit: $(ETC) $(SOURCES) $(PC) $(DEMOS) $(BETA) $(DOCS) makekit -s145k -k40 $(ETC) $(SOURCES) $(PC)\ $(DEMOS) $(BETA) $(DOCS) MANIFEST branch: rcs rcsdoc rcsdemo rcs: rcs -b$(RCSVER) $(ETC) $(SOURCES) $(PC) rcsdoc: rcs -b$(RCSVER) $(DOCS) rcsdemo: rcs -b$(RCSVER) $(DEMOS) ciall: ci cidocs cidemo ci: ci -l$(RCSVER) -m$(RCSCOM) -t-$(RCSCOM) $(SOURCES) $(PC) $(ETC) cidocs: ci -l$(RCSVER) -m$(RCSCOM) -t-$(RCSCOM) $(DOCS) cidemo: ci -l$(RCSVER) -m$(RCSCOM) -t-$(RCSCOM) $(DEMOS) ciforce: ci -f$(RCSVER) -m$(RCSCOM) -t-$(RCSCOM) $(SOURCES) $(ETC) $(DOCS) $(DEMOS) $(PC) coall: co codocs codemo co: co -l -r$(RCSVER) $(ETC) $(SOURCES) $(PC) codocs: co -l -r$(RCSVER) $(DOCS) codemo: co -l -r$(RCSVER) $(DEMOS) gnuplot-3.7.3/docs/psdoc/ 40755 1200 17 0 7576105317 14343 5ustar lheckingusersgnuplot-3.7.3/docs/psdoc/Makefile100644 1200 17 421 6757011420 16044 0ustar lheckingusers# # Create ps_symbols.ps # top_srcdir=../.. all: ps_symbols.ps ps_symbols.ps: ps_symbols.gpi @if test -f $(top_srcdir)/gnuplot ; then \ $(top_srcdir)/gnuplot ps_symbols.gpi ; \ else \ gnuplot ps_symbols.gpi ; \ fi clean: -rm -f ps_symbols.ps distclean: clean gnuplot-3.7.3/docs/psdoc/README100644 1200 17 1707 6757011421 15315 0ustar lheckingusersThis set of files contains information about the gnuplot-PostScript interface. ps_file.doc is a discussion of a PostScript file as written by gnuplot. ps_guide.ps is a PostScript file that has two pages. The first is a summary of the enhanced syntax (available via "set terminal postscript enhanced". The second is a table of the character codes. The table has the standard encoding (shown in Times-Roman), the Symbol and Zapf-Dingbats fonts, and the ISO-Latin1 (also known as ISO-8859-1) encoding. The last entry may be changed to CP850 (for OS/2) or CP437 (for MS-DOS) by editing line #14 in the file. These non-standard encodings are selected via the "set encoding" command. ps_symbols.gpi is a gnuplot command file that generates ps_symbols. ps.ps_symbols.ps is a PostScript file that shows a simple display of the 76 symbol types available to the "postscript" terminal and selectable via the "pt" option on the "plot" command. gnuplot-3.7.3/docs/psdoc/ps_file.doc100644 1200 17 27147 6757011421 16573 0ustar lheckingusersA short guide to PostScript files created by gnuplot's "postscript" terminal by Dick Crawford, aka rccrawford@lanl.gov Before we begin, let me say a few words about PostScript. It is highly ver- satile, but with versatility comes complexity. Syntax is extremely important; a misplaced command can do unexpected things. Thus the adventurous soul who wishes to alter the PostScript but has not been initiated into the arcana of PostScript would be well-advised to change only those items (like numerical values, font names or heights, or the letters defining symbols) that are fairly obvious as to their meaning. PostScript is stack-oriented and works in Reverse Polish notation: 'a b add' takes 'a' and 'b' off of the stack and replaces them with 'a+b'. The 'stroke' command actually draws lines on the page. It uses whatever line width and style are currently defined. Thus if we specify a bunch of commands like 'LT1 1 2 moveto 3 4 lineto LT3 stroke' [LT1 and LT3 are line type defi- nitions, 'x y moveto' moves the (virtual) pen to (x,y) and 'x y lineto' draws a line from wherever the pen was to (x,y)], the line connecting points (1,2) and (3,4) will be in type LT3. PostScript is case-sensitive. The sample file below has been pruned of repeated commands, just to keep its length down. Comment lines begin with '%'. Lines beginning with '%%' are inserted for "encapsulated PostScript" -- these lines are read by applications that import PostScript. Lines beginning with '%#' have been added to the sample by me for explanatory purposes. I have merged files created by the postscript terminal with no options, with the "eps" option and with the "enhanced" option. The differences will be clearly pointed out when appropriate. Here we go. %!PS-Adobe-2.0 %%Title: psgenh %%Creator: gnuplot 3.5 (pre 3.6) patchlevel beta 338 %%CreationDate: Fri Jan 16 13:18:18 1998 %%DocumentFonts: (atend) %%BoundingBox: 50 50 554 770 %%Orientation: Landscape %# In 'eps' mode, the preceding two lines would look like: %# %%BoundingBox: 50 50 410 302 %# %%Orientation: Portrait %%Pages: (atend) %%EndComments %# %# The 'dictionary' contains stuff defined by the user. %# /gnudict 120 dict def gnudict begin %# %# The following switch toggles between color and monochromatic. %# /Color false def %# %# The following switch toggles between solid and dot-dash lines. %# /Solid false def %# %# The following parameter scales all linewidths in the plot. %# /gnulinewidth 5.000 def /userlinewidth gnulinewidth def %# %# The following parameter specifies the vertical displacement of the labels %# and titles (it is used in the 'show' commands defined below). It should %# be about 1/3 of the font height. %# /vshift -46 def %# %# The following parameter scales the lengths of all dot-dash patterns. %# /dl {10 mul} def %# %# The following two parameters scale the horizontal and vertical sizes of %# the symbols used by 'plot with points'. %# /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def %# %# The following four commands are aliases of the four 'pen movement' %# commands. Use of these aliases significantly shortens the file. Note %# that the first two are 'absolute' movements and the latter two are %# 'relative'. M and R move to the specified position; L and V draw a %# straight line (from the current position) to it. %# /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def %# %# These are a couple more parameters used in plotting symbols. Why %# they are here instead of up with 'hpt' and 'vpt' I know not. %# /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def %# %# The 'show' command writes out a character string. The following three %# varieties do so as left-, right-, and center-justified. [Remember, %# we're still in the dictionary--the font doesn't need to be specified %# until we actually use one of these.] %# /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def %# %# The following commands define the various line types (normal, bold, %# dashed, etc.) used by gnuplot. %# %# UP, DL, and UL are busywork commands used by others here %# /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def %# twice the linewidth /AL { stroke gnulinewidth 2 div setlinewidth } def %# half the linewidth /UL { gnulinewidth mul /userlinewidth exch def } def /PL { stroke userlinewidth setlinewidth } def %# normal linewidth /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 0 1 0 DL } def /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def %# %# ...and a bunch more. %# In the LT's, the first command ('PL' for LT1) sets the linewidth, %# the stuff in [...] defines the dot-dash pattern, and the three numbers %# define the rgb color. %# %# The following commands define the symbols used to plot data points. %# /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def %# %# ...and a bunch (dozens) more. %# %# The 'MF...' commands are used to handle the 'enhanced' syntax. If the %# 'enhanced' mode is not invoked, these commands won't appear in the file. %# /MFshow {{dup dup 0 get findfont exch 1 get scalefont setfont [ currentpoint ] exch dup 2 get 0 exch rmoveto dup dup 5 get exch 4 get {show} {stringwidth pop 0 rmoveto}ifelse dup 3 get {2 get neg 0 exch rmoveto pop} {pop aload pop moveto}ifelse} forall} bind def /MFwidth {0 exch {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 5 get stringwidth pop add} {pop} ifelse} forall} bind def /MLshow { currentpoint stroke M 0 exch R MFshow } bind def /MRshow { currentpoint stroke M exch dup MFwidth neg 3 -1 roll R MFshow } def /MCshow { currentpoint stroke M exch dup MFwidth -2 div 3 -1 roll R MFshow } def end %# %# The dictionary is now complete. We activate it, save what went before %# (the 'gsave' command saves everything on a different stack) and begin. %# %%EndProlog %%Page: 1 1 gnudict begin gsave %# %# First we position the plot on the page and scale it. %# %# The 'translate' command moves the origin to the specified position. %# [The PostScript default origin is near the lower left-hand corner.] %# The 'scale' command changes the units used in the plot. %# [The PostScript default unit is the point: 72 points equal one inch.] %# The 'rotation' command rotates the coordinates clockwise through the %# specified angle (degrees). %# [The PostScript default orientation is profile.] %# %# This sample changes the orientation to landscape (the gnuplot default) %# and the unit to tenths of a point. Note that if the first two commands %# were interchanged, the translation would be only five points in each %# direction, instead of fifty. %# %# If this had been generated in 'eps' mode, the "90 rotate" and "0 -5040 %# translate" commands would not appear and the units would be 0.050 instead %# of 0.100. %# %# If you want to change the size or the position of the plot, this is where %# to do it. %# 50 50 translate 0.100 0.100 scale 90 rotate 0 -5040 translate 0 setgray newpath %# %# Define the default font. The number is the height. As usual, fonts %# used primarily for text have characters only about 70% the specified %# height, because spacing between lines is built-in. The Symbol font and %# others that are normally not used for text produce characters that are %# more nearly the specified height. Thus if you want to intersperse, for %# example, Greek and Roman letters (as you might when writing an equation), %# you'll need to play with the heights of the two fonts in order for them %# to look reasonably proportioned. %# %# The font defined here is used for the tick labels first, then the axis %# labels and plot titles, and finally the key. If you want to change the %# font, simply insert the modified line after you are done with the old one %# (i.e. the last 'show' command to use it) but before the new one is needed. %# Note that if you change the font height, you'll also want to change the %# value of 'vshift' (it's near the top of the dictionary). I'll give an %# example of this later on... %# (Helvetica) findfont 140 scalefont setfont LTb %# %# Label and draw the ticks along the y-axis. I've given you three %# y-tics in different formats... %# %# The tick length is 63 units. %# %# This first y-tic is in 'normal' mode: %# 728 560 M 63 0 V 6325 0 R -63 0 V 644 560 M (-10) Rshow %# %# This y-tic is in 'enhanced' mode: %# 728 1645 M 63 0 V 6325 0 R -63 0 V stroke 644 1645 M [ [(Helvetica) 140.0 0.0 true true (-5)] ] -46.7 MRshow %# %# This one is in 'normal' mode, but is rotated: %# 434 2730 M 63 0 V 6619 0 R -63 0 V -6759 0 R currentpoint gsave translate 90 rotate 0 0 M (0) Cshow grestore %# %# Now the x-tics. Here's one: %# 728 560 M 0 63 V 0 4277 R 0 -63 V stroke 728 420 M [ [(Helvetica) 140.0 0.0 true true (-10)] ] -46.7 MCshow LTb %# %# Now draw the left and lower axes. Were this drawn by 'splot' %# instead of 'plot', there might be some other axes drawn. %# 728 560 M 6388 0 V 0 4340 V -6388 0 V 728 560 L stroke %# Now come labels (both for the axes and those on "set label" commands) %# and other titles. I just give you axis labels here, in 'enhanced' mode: %# 140 2730 M currentpoint gsave translate 90 rotate 0 0 moveto [ [(Helvetica) 140.0 0.0 true true (ylabel)] ] -46.7 MCshow grestore 3922 210 M [ [(Helvetica) 140.0 0.0 true true (xlabel)] ] -46.7 MCshow %# %# We're finally ready to plot functions and/or data. %# %# The key is drawn just before the applicable data. %# %# Choose a line type and write the key. %# In this sample, it is drawn with lines. %# 1.000 UL LT0 6465 4767 M (x) Rshow %# the function label in the key 6549 4767 M %# the sample line in the key 399 0 V %# %# Now the data (this is drawn with some combination of absolute and %# relative lineto's and moveto's): %# 728 560 M 2043 560 V 4926 911 L 2043 560 V 7116 4900 L %# %# ...and more. %# %# We don't need to eplicitly 'stroke' to draw the lines for each function %# because the 'stroke' command is included in the line-type definition %# commands. Thus switching line types automatically 'strokes' previous %# lines. Clever program, that gnuplot... %# %# We can now repeat commands for the key and data for as many items %# as were specified on the "plot" or "splot" command. %# %# Here's a second function, plotted with dots: %# LT1 6486 4486 M (function 2) Rshow 6654 4486 Pnt %# %# The data: %# 840 911 Pnt 2883 2030 Pnt 4926 2590 Pnt 6969 3710 Pnt %# %# ...and more. %# %# Since we're now done, we 'stroke' the last lines, close the dictionary %# and restore the previous settings (those saved by the 'gsave' at the top). %# [The 'gsave'/'grestore' pair is included so that if this file is embedded %# in another PostScript file, this patch won't mess up the other parts of %# the picture. It's considered good PostScript style to do this.] %# stroke grestore end %# %# And, finally, we send the page to the printer. [If we do embed this %# file into another PostScript file, we'd remove this 'showpage'. Unless, %# of course, this was appended to the other file, in which case we'd %# remove the 'showpage' from the end of that file.] %# %# showpage %%Trailer %%DocumentFonts: Helvetica %%Pages: 1 gnuplot-3.7.3/docs/psdoc/ps_guide.ps100644 1200 17 44377 6757011422 16633 0ustar lheckingusers%!PS-Adobe-2.0 %%Creator: gnuplot, modified by Richard Crawford %%Pages: 2 %%EndComments /gnudict 120 dict def gnudict begin % definitions for the character codes page: % the variable "LastColumn" determines which encoding vector is used for % the last (right-most) column in the display % 1 = ISO-Latin1 (also known as ISO-8859-1) for Unix % 2 = CP 437 for MS-DOS % 3 = CP 850 for OS/2 /LastColumn 1 def /reEncode { findfont dup length dict begin { 1 index /FID ne { def }{ pop pop } ifelse } forall currentdict /CharStrings known { CharStrings EncodingCheck known { /Encoding EncodingVector def } if} if currentdict end definefont pop } def /ISOLatin1 { /EncodingCheck /ydieresis def /EncodingVector ISOLatin1Encoding def } def /CP437 { /EncodingCheck /ydieresis def /EncodingVector [ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright /parenleft/parenright/asterisk/plus/comma/minus/period/slash /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon /less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N /O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright /asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m /n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde/.notdef /Ccedilla/udieresis/eacute/acircumflex/adieresis/agrave/aring/ccedilla /ecircumflex/edieresis/egrave/idieresis/icircumflex/igrave/Adieresis/Aring /Eacute/ae/AE/ocircumflex/odieresis/ograve/ucircumflex/ugrave /ydieresis/Odieresis/Udieresis/cent/sterling/yen/.notdef/florin /aacute/iacute/oacute/uacute/ntilde/Ntilde/ordfeminine/ordmasculine /questiondown/.notdef/logicalnot/onehalf/onequarter/exclamdown/guillemotleft/guillemotright /space/space/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/germandbls/.notdef/.notdef/.notdef/.notdef/mu/.notdef /.notdef/.notdef/.notdef/.notdef/infinity/.notdef/.notdef/.notdef /.notdef/plusminus/greaterequal/lessequal/.notdef/.notdef/divide/.notdef /degree/bullet/periodcentered/.notdef/nsuperior/twosuperior/.notdef ] def } def /CP850 { /EncodingCheck /ydieresis def /EncodingVector [ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright /parenleft/parenright/asterisk/plus/comma/minus/period/slash /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon /less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N /O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright /asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m /n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde/.notdef /Ccedilla/udieresis/eacute/acircumflex/adieresis/agrave/aring/ccedilla /ecircumflex/edieresis/egrave/idieresis/icircumflex/igrave/Adieresis/Aring /Eacute/ae/AE/ocircumflex/odieresis/ograve/ucircumflex/ugrave /ydieresis/Odieresis/Udieresis/oslash/sterling/Oslash/multiply/florin /aacute/iacute/oacute/uacute/ntilde/Ntilde/ordfeminine/ordmasculine /questiondown/registered/logicalnot/onehalf/onequarter/exclamdown/guillemotleft/guillemotright /space/space/.notdef/.notdef/.notdef/Aacute/Acircumflex/Agrave /.notdef/.notdef/.notdef/.notdef/.notdef/cent/yen/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/atilde/Atilde /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/currency /eth/Eth/Ecircumflex/Edieresis/Egrave/dotlessi/Iacute/Icircumflex /Idieresis/.notdef/.notdef/.notdef/.notdef/brokenbar/Igrave/.notdef /Oacute/germandbls/Ocircumflex/Ograve/otilde/Otilde/mu/thorn /Thorn/Uacute/Ucircumflex/Ugrave/yacute/Yacute/macron/acute /hyphen/plusminus/equal/threequarters/paragraph/section/divide/.notdef /degree/.notdef/periodcentered/onesuperior/threesuperior/twosuperior/.notdef ] def } def /Numbs [ (040) (041) (042) (043) (044) (045) (046) (047) (050) (051) (052) (053) (054) (055) (056) (057) (060) (061) (062) (063) (064) (065) (066) (067) (070) (071) (072) (073) (074) (075) (076) (077) (100) (101) (102) (103) (104) (105) (106) (107) (110) (111) (112) (113) (114) (115) (116) (117) (120) (121) (122) (123) (124) (125) (126) (127) (130) (131) (132) (133) (134) (135) (136) (137) (140) (141) (142) (143) (144) (145) (146) (147) (150) (151) (152) (153) (154) (155) (156) (157) (160) (161) (162) (163) (164) (165) (166) (167) (170) (171) (172) (173) (174) (175) (176) (220) (221) (222) (223) (224) (225) (226) (227) (230) (232) (233) (235) (236) (237) (240) (241) (242) (243) (244) (245) (246) (247) (250) (251) (252) (253) (254) (255) (256) (257) (260) (261) (262) (263) (264) (265) (266) (267) (270) (271) (272) (273) (274) (275) (276) (277) (300) (301) (302) (303) (304) (305) (306) (307) (310) (311) (312) (313) (314) (315) (316) (317) (320) (321) (322) (323) (324) (325) (326) (327) (330) (331) (332) (333) (334) (335) (336) (337) (340) (341) (342) (343) (344) (345) (346) (347) (350) (351) (352) (353) (354) (355) (356) (357) (360) (361) (362) (363) (364) (365) (366) (367) (370) (371) (372) (373) (374) (375) (376) (377) ] def /Codes [ (\040) (\041) (\042) (\043) (\044) (\045) (\046) (\047) (\050) (\051) (\052) (\053) (\054) (\055) (\056) (\057) (\060) (\061) (\062) (\063) (\064) (\065) (\066) (\067) (\070) (\071) (\072) (\073) (\074) (\075) (\076) (\077) (\100) (\101) (\102) (\103) (\104) (\105) (\106) (\107) (\110) (\111) (\112) (\113) (\114) (\115) (\116) (\117) (\120) (\121) (\122) (\123) (\124) (\125) (\126) (\127) (\130) (\131) (\132) (\133) (\134) (\135) (\136) (\137) (\140) (\141) (\142) (\143) (\144) (\145) (\146) (\147) (\150) (\151) (\152) (\153) (\154) (\155) (\156) (\157) (\160) (\161) (\162) (\163) (\164) (\165) (\166) (\167) (\170) (\171) (\172) (\173) (\174) (\175) (\176) (\220) (\221) (\222) (\223) (\224) (\225) (\226) (\227) (\230) (\232) (\233) (\235) (\236) (\237) (\240) (\241) (\242) (\243) (\244) (\245) (\246) (\247) (\250) (\251) (\252) (\253) (\254) (\255) (\256) (\257) (\260) (\261) (\262) (\263) (\264) (\265) (\266) (\267) (\270) (\271) (\272) (\273) (\274) (\275) (\276) (\277) (\300) (\301) (\302) (\303) (\304) (\305) (\306) (\307) (\310) (\311) (\312) (\313) (\314) (\315) (\316) (\317) (\320) (\321) (\322) (\323) (\324) (\325) (\326) (\327) (\330) (\331) (\332) (\333) (\334) (\335) (\336) (\337) (\340) (\341) (\342) (\343) (\344) (\345) (\346) (\347) (\350) (\351) (\352) (\353) (\354) (\355) (\356) (\357) (\360) (\361) (\362) (\363) (\364) (\365) (\366) (\367) (\370) (\371) (\372) (\373) (\374) (\375) (\376) (\377) ] def /Doit { 0 1 204 { /Ind exch def % stores the index /Col Ind 41 idiv def % column number /Row Ind Col 41 mul sub def % row number Col 1.60 mul dX add Row -.225 mul moveto Sym Ind get show } for } def % definitions for the enhanced syntax page: /Color false def /Solid false def /gnulinewidth 5.000 def /vshift -40 def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /MFshow {{dup dup 0 get findfont exch 1 get scalefont setfont [ currentpoint ] exch dup 2 get 0 exch rmoveto dup dup 5 get exch 4 get {show} {stringwidth pop 0 rmoveto}ifelse dup 3 get {2 get neg 0 exch rmoveto pop} {pop aload pop moveto}ifelse} forall} bind def /MFwidth {0 exch {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 5 get stringwidth pop add} {pop} ifelse} forall} bind def /MLshow { currentpoint stroke M 0 exch R MFshow } bind def /MRshow { currentpoint stroke M exch dup MFwidth neg 3 -1 roll R MFshow } def /MCshow { currentpoint stroke M exch dup MFwidth -2 div 3 -1 roll R MFshow } def end %%EndProlog %%Page: 1 gnudict begin gsave 50 50 translate 0.100 0.100 scale 0 setgray newpath (Times-Roman) findfont 120 scalefont setfont gnulinewidth 2 mul setlinewidth [] 0 0 0 DL 2525 7080 M [ [(Times-Roman) 160.0 0.0 true true (Syntax for )] [(Times-Bold) 160.0 0.0 true true (postscript enhanced)] [(Times-Roman) 160.0 0.0 true true ( option)] ] -53.3 MCshow 2525 6804 M [ [(Times-Bold) 120.0 0.0 true true (enhpost)] [(Times-Roman) 120.0 0.0 true true ( is the product of David Denholm and Matt Heffron.)] ] -40.0 MCshow 2525 6597 M [ [(Times-Roman) 120.0 0.0 true true (This guide is the product of Dick Crawford.)] ] -40.0 MCshow 3679 6321 M [ [(Times-Roman) 120.0 0.0 true true (text)] ] -40.0 MCshow 4602 6321 M [ [(Times-Roman) 120.0 0.0 true true (result)] ] -40.0 MCshow 2755 6045 M [ [(Times-Roman) 120.0 0.0 true true (Superscripts are denoted by ^:)] ] -40.0 MRshow 3679 6045 M [ [(Times-Roman) 120.0 0.0 true true ('10^{-2}')] ] -40.0 MCshow 4602 6045 M [ [(Times-Roman) 120.0 0.0 true true (10)] [(Times-Roman) 96.0 60.0 true true (-2)] ] -52.0 MCshow 2755 5838 M [ [(Times-Roman) 120.0 0.0 true true (Subscripts are denoted by _:)] ] -40.0 MRshow 3679 5838 M [ [(Times-Roman) 120.0 0.0 true true ('A_{j,k}')] ] -40.0 MCshow 4602 5838 M [ [(Times-Roman) 120.0 0.0 true true (A)] [(Times-Roman) 96.0 -36.0 true true (j,k)] ] -28.0 MCshow 2755 5631 M [ [(Times-Roman) 120.0 0.0 true true (Braces are not needed for single characters:)] ] -40.0 MRshow 3679 5631 M [ [(Times-Roman) 120.0 0.0 true true ('e^x')] ] -40.0 MCshow 4602 5631 M [ [(Times-Roman) 120.0 0.0 true true (e)] [(Times-Roman) 96.0 60.0 true true (x)] ] -52.0 MCshow 2755 5286 M [ [(Times-Roman) 120.0 0.0 true true (Use @ to align sub- and superscripts:)] ] -40.0 MRshow 3679 5286 M [ [(Times-Roman) 120.0 0.0 true true ('x@^2_k')] ] -40.0 MCshow 4602 5286 M [ [(Times-Roman) 120.0 0.0 true true (x)] [(Times-Roman) 96.0 60.0 false true (2)] [(Times-Roman) 96.0 -36.0 true true (k)] ] -40.0 MCshow 2755 5079 M [ [(Times-Roman) 120.0 0.0 true true (Put the shorter of the two first:)] ] -40.0 MRshow 3679 5079 M [ [(Times-Roman) 120.0 0.0 true true ('x@_0^{-3/2}y')] ] -40.0 MCshow 4602 5079 M [ [(Times-Roman) 120.0 0.0 true true (x)] [(Times-Roman) 96.0 -36.0 false true (0)] [(Times-Roman) 96.0 60.0 true true (-3/2)] [(Times-Roman) 120.0 0.0 true true (y)] ] -40.0 MCshow 2755 4872 M [ [(Times-Roman) 120.0 0.0 true true (...rather than:)] ] -40.0 MRshow 3679 4872 M [ [(Times-Roman) 120.0 0.0 true true ('x@^{-3/2}_0y')] ] -40.0 MCshow 4602 4872 M [ [(Times-Roman) 120.0 0.0 true true (x)] [(Times-Roman) 96.0 60.0 false true (-3/2)] [(Times-Roman) 96.0 -36.0 true true (0)] [(Times-Roman) 120.0 0.0 true true (y)] ] -40.0 MCshow 2755 4527 M [ [(Times-Roman) 120.0 0.0 true true (Font changes are enclosed in braces:)] ] -40.0 MRshow 3679 4527 M [ [(Times-Roman) 120.0 0.0 true true ('{/Helvetica m}')] ] -40.0 MCshow 4602 4527 M [ [(Helvetica) 120.0 0.0 true true (m)] ] -40.0 MCshow 2755 4320 M [ [(Times-Roman) 120.0 0.0 true true (...size, too:)] ] -40.0 MRshow 3679 4320 M [ [(Times-Roman) 120.0 0.0 true true ('{/=8 m}')] ] -40.0 MCshow 4602 4320 M [ [(Times-Roman) 80.0 0.0 true true (m)] ] -40.0 MCshow 2755 4113 M [ [(Times-Roman) 120.0 0.0 true true (...or both:)] ] -40.0 MRshow 3679 4113 M [ [(Times-Roman) 120.0 0.0 true true ('{/Helvetica=18 m}')] ] -40.0 MCshow 4602 4113 M [ [(Helvetica) 180.0 0.0 true true (m)] ] -60.0 MCshow 2755 3768 M [ [(Times-Roman) 120.0 0.0 true true (Characters can be specified by code:)] ] -40.0 MRshow 3679 3768 M [ [(Times-Roman) 120.0 0.0 true true ('{\\120}')] ] -40.0 MCshow 4602 3768 M [ [(Times-Roman) 120.0 0.0 true true (\120)] ] -40.0 MCshow 2755 3562 M [ [(Times-Roman) 120.0 0.0 true true (...which is how to get nonkeyboard characters:)] ] -40.0 MRshow 3679 3562 M [ [(Times-Roman) 120.0 0.0 true true ('{\\267}')] ] -40.0 MCshow 4602 3562 M [ [(Times-Roman) 120.0 0.0 true true (\267)] ] -40.0 MCshow 2755 3355 M [ [(Times-Roman) 120.0 0.0 true true (Use keyboard characters or codes for other fonts:)] ] -40.0 MRshow 3679 3355 M [ [(Times-Roman) 120.0 0.0 true true ('{/Symbol p\\271 22/7}')] ] -40.0 MCshow 4602 3355 M [ [(Symbol) 120.0 0.0 true true (p\271 22/7)] ] -40.0 MCshow 2755 3010 M [ [(Times-Roman) 120.0 0.0 true true (Everything outside braces is in the default font:)] ] -40.0 MRshow 3679 3010 M [ [(Times-Roman) 120.0 0.0 true true ('P = {/Symbol r}kT')] ] -40.0 MCshow 4602 3010 M [ [(Times-Roman) 120.0 0.0 true true (P = )] [(Symbol) 120.0 0.0 true true (r)] [(Times-Roman) 120.0 0.0 true true (kT)] ] -40.0 MCshow 2755 2665 M [ [(Times-Roman) 120.0 0.0 true true (Space of a given size can be inserted with &:)] ] -40.0 MRshow 3679 2665 M [ [(Times-Roman) 120.0 0.0 true true ('')] ] -40.0 MCshow 4602 2665 M [ [(Times-Roman) 120.0 0.0 true true ()] ] -40.0 MCshow 3679 2458 M [ [(Times-Roman) 120.0 0.0 true true ('<&{junk}>')] ] -40.0 MCshow 4602 2458 M [ [(Times-Roman) 120.0 0.0 true true (<)] [(Times-Roman) 120.0 0.0 true false (junk)] [(Times-Roman) 120.0 0.0 true true (>)] ] -40.0 MCshow 2755 2113 M [ [(Times-Roman) 120.0 0.0 true true (Special characters \(^,_,{,},@,&,\\\) can be escaped by \\:)] ] -40.0 MRshow 3679 2113 M [ [(Times-Roman) 120.0 0.0 true true ('f\\{x,y\\}')] ] -40.0 MCshow 4602 2113 M [ [(Times-Roman) 120.0 0.0 true true (f{x,y})] ] -40.0 MCshow 2755 1906 M [ [(Times-Roman) 120.0 0.0 true true (...or \\\\ if within a double-quoted string:)] ] -40.0 MRshow 3679 1906 M [ [(Times-Roman) 120.0 0.0 true true ("f\\\\{x,y\\\\}")] ] -40.0 MCshow 4602 1906 M [ [(Times-Roman) 120.0 0.0 true true (f{x,y})] ] -40.0 MCshow 216 1630 M [ [(Times-Roman) 120.0 0.0 true true (Everything can be done recursively:)] ] -40.0 MLshow 216 1423 M [ [(Times-Roman) 120.0 0.0 true true (the text)] ] -40.0 MLshow 2755 1423 M [ [(Times-Roman) 120.0 0.0 true true ('{/Symbol=18 \\362@_{/=9.6 0}^{/=12 \\245}})] ] -40.0 MCshow 2755 1216 M [ [(Times-Roman) 120.0 0.0 true true ({/Helvetica e^{-{/Symbol m}^2/2} d}{/Symbol m = \(p/2\)^{1/2}}')] ] -40.0 MCshow 216 1009 M [ [(Times-Roman) 120.0 0.0 true true (produces the result:)] ] -40.0 MLshow 2755 1009 M [ [(Symbol) 180.0 0.0 true true (\362)] [(Symbol) 96.0 -54.0 false true (0)] [(Symbol) 120.0 90.0 true true (\245)] [(Helvetica) 120.0 0.0 true true (e)] [(Helvetica) 96.0 60.0 true true (-)] [(Symbol) 96.0 60.0 true true (m)] [(Helvetica) 76.8 108.0 true true (2)] [(Helvetica) 96.0 60.0 true true (/2)] [(Helvetica) 120.0 0.0 true true ( d)] [(Symbol) 120.0 0.0 true true (m = \(p/2\))] [(Symbol) 96.0 60.0 true true (1/2)] ] -60.0 MCshow 216 802 M [ [(Times-Roman) 120.0 0.0 true true (Note how font sizes and definitions are preserved across pairs of braces.)] ] -40.0 MLshow 216 388 M [ [(Times-Roman) 120.0 0.0 true true (The default font for this page is /Times-Roman=12. These and other options may be changed)] ] -40.0 MLshow 216 250 M [ [(Times-Roman) 120.0 0.0 true true (on the command )] [(Times-Bold) 120.0 0.0 true true (set terminal postscript)] [(Times-Roman) 120.0 0.0 true true (. See the manual or )] [(Times-Bold) 120.0 0.0 true true (help postscript)] [(Times-Roman) 120.0 0.0 true true ( for details.)] ] -40.0 MLshow gnulinewidth setlinewidth [] 0 1 0 DL stroke showpage grestore %%Page: 2 % Character code page gsave 72 72 scale 1.0 10.5 translate 0 0 moveto /Times-Roman findfont .225 scalefont setfont /Title (PostScript Character Codes) def Title stringwidth pop -2 div 3.2 add 0 rmoveto Title show /Times-Roman findfont .20 scalefont setfont 0 -.25 translate 0 0 moveto /Extra LastColumn 1 eq {(ISO Latin-1)} if LastColumn 2 eq {(CP437)} if LastColumn 3 eq {(CP850)} if def /H (T = text (here Times-Roman) S = Symbol Z = ZapfDingbats E = ) def H stringwidth pop Extra stringwidth pop add ( encoding) stringwidth pop add -2 div 3.2 add 0 rmoveto H show Extra show ( encoding) show /H ((the "E" character set is accessed via an option on "set encoding" )) def H stringwidth pop -2 div 3.2 add -.20 moveto H show -.6 -.5 translate 0 1 4 { 1.60 mul /X0 exch def X0 .375 add 0 moveto (T) show X0 .625 add 0 moveto (S) show X0 .875 add 0 moveto (Z) show X0 1.125 add 0 moveto (E) show } for 0 -.25 translate % first subcolumn: ACSII code /Times-Roman findfont .175 scalefont setfont /dX 0 def % subcolumn offset /Sym Numbs def % item to be printed Doit % second subcolumn: Times-Roman /Times-Roman findfont .175 scalefont setfont /dX .375 def % subcolumn offset /Sym Codes def % item to be printed Doit % third subcolumn: Symbol /Symbol findfont .175 scalefont setfont /dX .625 def % subcolumn offset /Sym Codes def % item to be printed Doit % fourth subcolumn: ZapfDingbats /ZapfDingbats findfont .175 scalefont setfont /dX .875 def % subcolumn offset /Sym Codes def % item to be printed Doit % fifth subcolumn: selected by "LastColumn" LastColumn 1 eq { % Times-Roman with ISO Latin-1 encoding /TRISOL1 ISOLatin1 /Times-Roman reEncode /TRISOL1 findfont .175 scalefont setfont } if LastColumn 2 eq { % subcolumn: Times-Roman with CP 437 encoding /TRCP437 CP437 /Times-Roman reEncode /TRCP437 findfont .175 scalefont setfont } if LastColumn 3 eq { % Times-Roman with CP 850 encoding /TRCP850 CP850 /Times-Roman reEncode /TRCP850 findfont .175 scalefont setfont } if /dX 1.125 def % subcolumn offset /Sym Codes def % item to be printed Doit showpage grestore end gnuplot-3.7.3/docs/psdoc/ps_symbols.gpi100644 1200 17 4700 6757011422 17325 0ustar lheckingusersset terminal postscript; set output 'ps_symbols.ps' set noborder; set nozeroaxis; set noxtics; set noytics set xlabel ''; set ylabel ''; set nokey; set size square; set xrange [-1.2:1.2]; set yrange [-1.2:1.2]; set parametric; set samples 2 f(x)=cos(pi*x/38.0); g(x)=sin(pi*x/38.0) set label '(#70--75 are opaque)' at 0,0 center set label '0' at 1.07*f(0), 1.07*g(0) center set label '10' at 1.07*f(10), 1.07*g(10) center set label '20' at 1.07*f(20), 1.07*g(20) center set label '30' at 1.07*f(30), 1.07*g(30) center set label '40' at 1.07*f(40), 1.07*g(40) center set label '50' at 1.07*f(50), 1.07*g(50) center set label '60' at 1.07*f(60), 1.07*g(60) center set label '70' at 1.07*f(70), 1.07*g(70) center plot f( 0),g( 0) w p 0 0,\ f( 1),g( 1) w p 0 1, f( 2),g( 2) w p 0 2, f( 3),g( 3) w p 0 3,\ f( 4),g( 4) w p 0 4, f( 5),g( 5) w p 0 5, f( 6),g( 6) w p 0 6,\ f( 7),g( 7) w p 0 7, f( 8),g( 8) w p 0 8, f( 9),g( 9) w p 0 9,\ f(10),g(10) w p 0 10, f(11),g(11) w p 0 11, f(12),g(12) w p 0 12,\ f(13),g(13) w p 0 13, f(14),g(14) w p 0 14, f(15),g(15) w p 0 15,\ f(16),g(16) w p 0 16, f(17),g(17) w p 0 17, f(18),g(18) w p 0 18,\ f(19),g(19) w p 0 19, f(20),g(20) w p 0 20, f(21),g(21) w p 0 21,\ f(22),g(22) w p 0 22, f(23),g(23) w p 0 23, f(24),g(24) w p 0 24,\ f(25),g(25) w p 0 25, f(26),g(26) w p 0 26, f(27),g(27) w p 0 27,\ f(28),g(28) w p 0 28, f(29),g(29) w p 0 29, f(30),g(30) w p 0 30,\ f(31),g(31) w p 0 31, f(32),g(32) w p 0 32, f(33),g(33) w p 0 33,\ f(34),g(34) w p 0 34, f(35),g(35) w p 0 35, f(36),g(36) w p 0 36,\ f(37),g(37) w p 0 37, f(38),g(38) w p 0 38, f(39),g(39) w p 0 39,\ f(40),g(40) w p 0 40, f(41),g(41) w p 0 41, f(42),g(42) w p 0 42,\ f(43),g(43) w p 0 43, f(44),g(44) w p 0 44, f(45),g(45) w p 0 45,\ f(46),g(46) w p 0 46, f(47),g(47) w p 0 47, f(48),g(48) w p 0 48,\ f(49),g(49) w p 0 49, f(50),g(50) w p 0 50, f(51),g(51) w p 0 51,\ f(52),g(52) w p 0 52, f(53),g(53) w p 0 53, f(54),g(54) w p 0 54,\ f(55),g(55) w p 0 55, f(56),g(56) w p 0 56, f(57),g(57) w p 0 57,\ f(58),g(58) w p 0 58, f(59),g(59) w p 0 59, f(60),g(60) w p 0 60,\ f(61),g(61) w p 0 61, f(62),g(62) w p 0 62, f(63),g(63) w p 0 63,\ f(64),g(64) w p 0 64, f(65),g(65) w p 0 65, f(66),g(66) w p 0 66,\ f(67),g(67) w p 0 67, f(68),g(68) w p 0 68, f(69),g(69) w p 0 69,\ f(70),g(70) w p 0 70, f(71),g(71) w p 0 71, f(72),g(72) w p 0 72,\ f(73),g(73) w p 0 73, f(74),g(74) w p 0 74, f(75),g(75) w p 0 75 gnuplot-3.7.3/docs/Makefile.in100644 1200 17 33002 7433212562 15404 0ustar lheckingusers# Makefile.in for GNUPLOT documentation # # Note that the top-level file for documentation is gnuplot.doc. # See README. # # To print manual: # # For LaTeX # make gnuplot.dvi # (print or view gnuplot.dvi) # or (requires pdflatex) # make pdf # (print or view gnuplot.pdf) # or # make ps # (print or view gnuplot.ps) # # For groff (GNU troff} # make grotxt # (print or view gnuplot.txt) # or # make grodvi # (print or view gnuplot.dvi) # or # make grops # (print or view gnuplot.ps) # # For nroff # make gnuplot.nroff # (print or view gnuplot.nroff) # # For troff # make "TROFF=itroff" troff (use your troff here) # # default is what is needed for interactive gnuplot all: gnuplot.gih gnuplot.info # this tells GNU make not to export variables into the environment # But other makes dont understand its significance, so it must # not be the first target in the file. So it is here, before # any variables are created, but after the default target .NOEXPORT: SHELL = /bin/sh prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ datadir = @datadir@ infodir = @infodir@ mandir = @mandir@ srcdir = @srcdir@ top_builddir = .. top_srcdir = @top_srcdir@ VPATH = @srcdir@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ CC = @CC@ CPP = @CPP@ DEFS = @DEFS@ CPPFLAGS = @CPPFLAGS@ CFLAGS = @CFLAGS@ INCLUDES = -I.. -I$(top_srcdir) -I$(top_srcdir)/term -I. LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@ .c.o: $(COMPILE) -c $< # The makeinfo command from GNU texinfo MAKEINFO = makeinfo # If you want to try doc2texi.el # EMACS = emacs # substitute your troff command (and any flags) for this one TROFF = troff # LaTeX command, either latex or latex2e or no LATEX = latex # PDFLaTeX command PDFLATEX = pdflatex # substitute your DVI to PostScript conversion program here DVIPS = dvips T = ${srcdir}/../term CORETERM = $(T)/aed.trm $(T)/ai.trm $(T)/amiga.trm $(T)/apollo.trm \ $(T)/atariaes.trm $(T)/atarivdi.trm $(T)/be.trm $(T)/cgi.trm $(T)/cgm.trm \ $(T)/corel.trm $(T)/debug.trm $(T)/djsvga.trm $(T)/dumb.trm $(T)/dxf.trm \ $(T)/dxy.trm $(T)/eepic.trm $(T)/emf.trm $(T)/emxvga.trm $(T)/epslatex.trm \ $(T)/epson.trm $(T)/excl.trm $(T)/fg.trm $(T)/fig.trm $(T)/ggi.trm \ $(T)/gif.trm $(T)/gnugraph.trm $(T)/gpic.trm $(T)/gpr.trm $(T)/grass.trm \ $(T)/hp26.trm $(T)/hp2648.trm $(T)/hp500c.trm $(T)/hpgl.trm $(T)/hpljii.trm \ $(T)/hppj.trm $(T)/imagen.trm $(T)/iris4d.trm $(T)/kyo.trm $(T)/latex.trm \ $(T)/linux.trm $(T)/mac.trm $(T)/metafont.trm $(T)/metapost.trm $(T)/mgr.trm \ $(T)/mif.trm $(T)/multitos.trm $(T)/next.trm $(T)/openstep.trm $(T)/pbm.trm \ $(T)/pc.trm $(T)/pdf.trm $(T)/pm.trm $(T)/png.trm $(T)/post.trm \ $(T)/pslatex.trm $(T)/pstricks.trm $(T)/qms.trm $(T)/regis.trm $(T)/rgip.trm \ $(T)/svg.trm $(T)/sun.trm \ $(T)/t410x.trm $(T)/table.trm $(T)/tek.trm $(T)/texdraw.trm $(T)/tgif.trm \ $(T)/tkcanvas.trm $(T)/tpic.trm $(T)/unixpc.trm $(T)/unixplot.trm \ $(T)/v384.trm $(T)/vws.trm $(T)/win.trm $(T)/x11.trm $(T)/xlib.trm DIST_COMMON = README Makefile.in SOURCES = checkdoc.c doc2gih.c doc2hlp.c doc2html.c doc2info.c \ doc2ipf.c doc2ms.c doc2rnh.c doc2rtf.c doc2tex.c termdoc.c xref.c HEADERS = doc2x.h xref.h EXTRA_DIST = doc2hlp.com doc2texi.el doc2texi.pl gnuplot.1 gnuplot.doc \ gnuplot.texi gpcard.tex lasergnu.1 makefile.ami makefile.dst titlepag.ms \ titlepag.tex toc_entr.sty latextut old psdoc DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(EXTRA_DIST) allterm.h : $(CORETERM) @echo Building allterm.h @cat $(top_srcdir)/term/*.trm > allterm.c $(CPP) -I$(top_srcdir)/term -DTERM_DRIVER_H -DTERM_HELP allterm.c | \ sed '/^ *$$/d;/^#/d' > allterm.h @rm -f allterm.c # for debugging alldoc: check dvi gih hlp html info ipf ms nroff pdf ps rnh rtf ### [tn]roff documentation troff: gnuplot.ms titlepag.ms @if [ "$(srcdir)" = "$(top_builddir)" ] ; then \ tbl gnuplot.ms | eqn | $(TROFF) -ms ; \ else \ < gnuplot.ms sed "s,titlepag\.ms,$(srcdir)/titlepag\.ms," |\ tbl | eqn | $(TROFF) -ms ; \ fi nroff: gnuplot.nroff gnuplot.nroff: gnuplot.ms titlepag.ms @if [ "$(srcdir)" = "$(top_builddir)" ] ; then \ tbl gnuplot.ms | neqn | nroff -ms | col > gnuplot.nroff ; \ else \ < gnuplot.ms sed "s,titlepag\.ms,$(srcdir)/titlepag\.ms," |\ tbl | neqn | nroff -ms | col > gnuplot.nroff ; \ fi ### groff documentation groff: grotxt grodvi grops grotxt: gnuplot.ms titlepag.ms @if [ "$(srcdir)" = "$(top_builddir)" ] ; then \ groff -s -p -t -e -ms -Tlatin1 gnuplot.ms > gnuplot.txt ; \ else \ sed "s,titlepag\.ms,$(srcdir)/titlepag\.ms," gnuplot.ms |\ groff -s -p -t -e -ms -Tlatin1 gnuplot.ms > gnuplot.txt ; \ fi grodvi: gnuplot.ms titlepag.ms @if [ "$(srcdir)" = "$(top_builddir)" ] ; then \ groff -s -p -t -e -ms -Tdvi gnuplot.ms > gnuplot.dvi ; \ else \ sed "s,titlepag\.ms,$(srcdir)/titlepag\.ms," gnuplot.ms |\ groff -s -p -t -e -ms -Tdvi gnuplot.ms > gnuplot.dvi ; \ fi grops: gnuplot.ms titlepag.ms @if [ "$(srcdir)" = "$(top_builddir)" ] ; then \ groff -s -p -t -e -ms -Tps gnuplot.ms > gnuplot.ps ; \ else \ sed "s,titlepag\.ms,$(srcdir)/titlepag\.ms," gnuplot.ms |\ groff -s -p -t -e -ms -Tps gnuplot.ms > gnuplot.ps ; \ fi ### doc2xxx dependencies ms: gnuplot.ms gnuplot.ms: doc2ms $(srcdir)/gnuplot.doc ./doc2ms $(srcdir)/gnuplot.doc gnuplot.ms doc2ms: doc2ms.o termdoc.o $(LINK) doc2ms.o termdoc.o $(LIBS) doc2ms.o: doc2ms.c allterm.h $(COMPILE) -DALL_TERM_DOC -c $(srcdir)/doc2ms.c ### html html : gnuplot.html gnuplot.html : doc2html $(srcdir)/gnuplot.doc ./doc2html $(srcdir)/gnuplot.doc gnuplot.html doc2html : doc2html.o termdoc.o xref.o $(LINK) doc2html.o termdoc.o xref.o $(LDFLAGS) $(LIBS) doc2html.o: doc2html.c allterm.h $(COMPILE) -DALL_TERM_DOC -c $(srcdir)/doc2html.c ### PDF documentation pdf: gnuplot.pdf gnuplot.pdf: gnuplot.tex @if test $(PDFLATEX) != no ; then \ TEXINPUTS=.:$(srcdir):${TEXINPUTS}: $(PDFLATEX) gnuplot ; \ TEXINPUTS=.:$(srcdir):${TEXINPUTS}: $(PDFLATEX) gnuplot ; \ else \ echo pdflatex not found - cannot build pdf file ; \ fi ### LaTeX documentation tex: gnuplot.tex gnuplot.tex: doc2tex $(srcdir)/gnuplot.doc ./doc2tex $(srcdir)/gnuplot.doc gnuplot.tex doc2tex: doc2tex.o termdoc.o $(LINK) doc2tex.o termdoc.o $(LIBS) doc2tex.o: doc2tex.c allterm.h $(COMPILE) -DALL_TERM_DOC -c $(srcdir)/doc2tex.c # this is how to make DVI files dvi: gnuplot.dvi gpcard.dvi gnuplot.dvi: gnuplot.tex titlepag.tex toc_entr.sty @if test $(LATEX) != no ; then \ TEXINPUTS=.:$(srcdir):${TEXINPUTS}: $(LATEX) gnuplot ; \ TEXINPUTS=.:$(srcdir):${TEXINPUTS}: $(LATEX) gnuplot ; \ else \ echo latex not found - cannot build dvi file ; \ fi gpcard.dvi: gpcard.tex TEXINPUTS=.:$(srcdir): tex gpcard ### Postscript format # if pslatex has been installed, add "times" to titlepage.tex ps: gnuplot.ps gpcard.ps gnuplot.ps: gnuplot.dvi $(DVIPS) gnuplot.dvi -o gnuplot.ps gpcard.ps: gpcard.dvi $(DVIPS) gpcard.dvi -o gpcard.ps # this is how to make gnuplot.hlp hlp: gnuplot.hlp gnuplot.hlp: doc2hlp $(srcdir)/gnuplot.doc ./doc2hlp $(srcdir)/gnuplot.doc gnuplot.hlp doc2hlp: doc2hlp.o termdoc.o $(LINK) doc2hlp.o termdoc.o $(LIBS) ### gnuplot interactive help format gih: gnuplot.gih gnuplot.gih: doc2gih $(srcdir)/gnuplot.doc @rm -f alldoc2gih ./doc2gih $(srcdir)/gnuplot.doc gnuplot.gih doc2gih: doc2gih.o termdoc.o $(LINK) doc2gih.o termdoc.o $(LIBS) # To include all terminals in the .gih file allgih: alldoc2gih $(srcdir)/gnuplot.doc @rm -f doc2gih ./alldoc2gih $(srcdir)/gnuplot.doc gnuplot.gih alldoc2gih: alldoc2gih.o termdoc.o $(LINK) alldoc2gih.o termdoc.o $(LIBS) alldoc2gih.o: doc2gih.c allterm.h $(COMPILE) -DALL_TERM_DOC -c $(srcdir)/doc2gih.c @mv doc2gih.o alldoc2gih.o ### GNU info format info: gnuplot.info gnuplot.info: doc2info $(srcdir)/gnuplot.doc ./doc2info $(srcdir)/gnuplot.doc gnuplot.info doc2info: doc2info.o termdoc.o xref.o $(LINK) doc2info.o termdoc.o xref.o $(LIBS) ## An alternative to doc2info.c, Thanks to Bruce Ravel #gnuplot.info: $(srcdir)/gnuplot.texi $(srcdir)/gnuplot.doc # $(MAKEINFO) -I$(srcdir) $(srcdir)/gnuplot.texi --no-split --output=$@ #gnuplot.texi: $(srcdir)/doc2info.el $(srcdir)/gnuplot.doc # @if test "$(EMACS)" != no; then \ # $(EMACS) -batch -l $(srcdir)/doc2texi.el -f d2t-doc-to-texi; \ # else \ # @echo No emacs found - cannot create texinfo file; \ # fi # this is how to make OS/2 ipfc documentation ipf: gnuplot.ipf gnuplot.ipf: doc2ipf $(srcdir)/gnuplot.doc ./doc2ipf $(srcdir)/gnuplot.doc gnuplot.ipf doc2ipf: doc2ipf.o termdoc.o xref.o $(LINK) doc2ipf.o termdoc.o xref.o $(LIBS) ### Rich Text Format rtf: gnuplot.rtf gnuplot.rtf: doc2rtf $(srcdir)/gnuplot.doc ./doc2rtf $(srcdir)/gnuplot.doc gnuplot.rtf doc2rtf: doc2rtf.o termdoc.o xref.o $(LINK) doc2rtf.o termdoc.o xref.o $(LIBS) # this is how to make rnh documentation (VMS help format) rnh: gnuplot.rnh gnuplot.rnh: doc2rnh $(srcdir)/gnuplot.doc ./doc2rnh $(srcdir)/gnuplot.doc gnuplot.rnh doc2rnh: doc2rnh.o termdoc.o $(LINK) doc2rnh.o termdoc.o $(LIBS) # end doc2xxx section tutorial: latextut/tutorial.tex ( cd latextut; $(MAKE) ) # this is how to check the gnuplot.doc file check: all checkdoc @./checkdoc < $(srcdir)/gnuplot.doc; \ if test $$? -eq 0; then \ echo "PASS: gnuplot.doc"; \ else \ :; \ fi checkdoc: checkdoc.o termdoc.o $(srcdir)/gnuplot.doc $(LINK) checkdoc.o termdoc.o $(LIBS) checkdoc.o: checkdoc.c allterm.h $(COMPILE) -DALL_TERM_DOC -c $(srcdir)/checkdoc.c # For Unix and MSDOS only install: install-gih install-info install-man install-gih: gnuplot.gih $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir) $(INSTALL_DATA) gnuplot.gih $(DESTDIR)$(datadir)/gnuplot.gih install-info: gnuplot.info $(top_srcdir)/mkinstalldirs $(DESTDIR)$(infodir) $(INSTALL_DATA) gnuplot.info $(DESTDIR)$(infodir)/gnuplot.info @if (install-info --version && \ install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \ echo "install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/gnuplot.info";\ install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/gnuplot.info || :;\ else : ; fi install-man: gnuplot.1 $(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man1 $(INSTALL_DATA) gnuplot.1 $(DESTDIR)$(mandir)/man1/gnuplot.1 uninstall: uninstall-gih uninstall-info uninstall-man uninstall-gih: rm -f $(DESTDIR)$(datadir)/gnuplot.gih uninstall-info: @if (install-info --version && \ install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \ install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/gnuplot.info; \ else : ; fi rm -f $(DESTDIR)$(infodir)/gnuplot.info uninstall-man: rm -f $(DESTDIR)$(mandir)/man1/gnuplot.1 # for VMS only install-vms: gnuplot.hlp $(INSTALL_DATA) gnuplot.hlp $(datadir)/gnuplot.hlp distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) subdir = docs distdir: $(DISTFILES) distdir=`cd $(distdir) && pwd` @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \ cp -pr $$d/$$file $(distdir)/$$file; \ else \ test -f $(distdir)/$$file \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || cp -p $$d/$$file $(distdir)/$$file || :; \ fi; \ done clean: -rm -f doc2tex gnuplot.tex gnuplot.dvi \ gnuplot.aux gnuplot.log gnuplot.toc \ gnuplot.ps gpcard.dvi gpcard.log gpcard.ps \ alldoc2gih doc2gih gnuplot.gih gnuplot.pdf \ doc2hlp gnuplot.hlp \ doc2html gnuplot.html \ doc2info gnuplot.info* gpltinfo.tex \ doc2ipf gnuplot.ipf \ doc2ms gnuplot.ms \ doc2rnh gnuplot.rnh \ doc2rtf gnuplot.rtf \ gnuplot.nroff checkdoc *.o core a.out allterm.h ( cd latextut; $(MAKE) clean ) rm -f *.exe mostlyclean: clean distclean: clean -rm -f Makefile realclean: distclean -rm -f TAGS Makefile: Makefile.in ../config.status cd .. \ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status ### Dependencies - do not edit! # all doc2somethings depend on termdoc and either ../term.h or # allterm.h, maybe this would be better as separate object file # (but then we have to change all the other makefiles). Plus then # we cannot make some doc2* filters use allterm.h and others use term.h TERM_H = $(top_srcdir)/term.h checkdoc.o: checkdoc.c ../config.h $(top_srcdir)/ansichek.h \ $(top_srcdir)/stdfn.h doc2x.h allterm.h alldoc2gih.o: doc2gih.c ../config.h $(top_srcdir)/ansichek.h \ $(top_srcdir)/stdfn.h doc2x.h allterm.h doc2gih.o: doc2gih.c ../config.h $(top_srcdir)/ansichek.h \ $(top_srcdir)/stdfn.h doc2x.h $(TERM_H) doc2hlp.o: doc2hlp.c ../config.h $(top_srcdir)/ansichek.h \ $(top_srcdir)/stdfn.h doc2x.h $(TERM_H) doc2html.o: doc2html.c ../config.h $(top_srcdir)/ansichek.h \ $(top_srcdir)/stdfn.h doc2x.h allterm.h doc2info.o: doc2info.c ../config.h $(top_srcdir)/ansichek.h \ $(top_srcdir)/stdfn.h doc2x.h $(TERM_H) doc2ipf.o: doc2ipf.c ../config.h $(top_srcdir)/ansichek.h \ $(top_srcdir)/stdfn.h doc2x.h $(TERM_H) doc2ms.o: doc2ms.c ../config.h $(top_srcdir)/ansichek.h \ $(top_srcdir)/stdfn.h doc2x.h allterm.h doc2rnh.o: doc2rnh.c ../config.h $(top_srcdir)/ansichek.h \ $(top_srcdir)/stdfn.h doc2x.h $(TERM_H) doc2rtf.o: doc2rtf.c ../config.h $(top_srcdir)/ansichek.h \ $(top_srcdir)/stdfn.h doc2x.h $(TERM_H) doc2tex.o: doc2tex.c ../config.h $(top_srcdir)/ansichek.h \ $(top_srcdir)/stdfn.h doc2x.h allterm.h termdoc.o: termdoc.c ../config.h $(top_srcdir)/ansichek.h \ $(top_srcdir)/stdfn.h doc2x.h xref.o: xref.c ../config.h $(top_srcdir)/ansichek.h \ $(top_srcdir)/stdfn.h doc2x.h xref.h #the end gnuplot-3.7.3/docs/README100644 1200 17 27051 6637545120 14232 0ustar lheckingusersNotes on the gnuplot help files and documentation. -------------------------------------------------- Gnuplot documentation is available in three ways: 1 - interactively, within gnuplot 2 - as a printed document. 3 - as a manual page, through the Unix man(1) facility The third form tells how to run gnuplot. The first two forms describe the inner workings, and contain equivalent information. They derive their information from the file "gnuplot.doc", which is the master copy of gnuplot help information. All other forms, except for the man page "gnuplot.1", are derived from it. gnuplot.doc -> gnuplot.gih -> gnuplot.hlp -> gnuplot.html -> gnuplot.info -> gnuplot.ipf -> gnuplot.ms -> gnuplot.rnh -> gnuplot.rtf -> gnuplot.tex On Unix, AmigaOS, and MSDOS the interactive help is built into the program, and uses the file "gnuplot.gih" ('make gih'). On VMS, the interactive help is supplied by the system help facility, using the file "gnuplot.hlp". This is built by default, either by doc2hlp, or doc2rnh and RUNOFF which format gnuplot.doc for the VMS HELP indenting conventions. The help file is placed in a help library, "gnuplot.hlb" but it may be also be placed in one of the system-wide help libraries, using lib/help ('help lib'). If VMS users prefer the gnuplot interactive help facility to the system facility, this can be easily changed by not defining NO_GIH. On the World Wide Web, the gnuplot manual can include demonstration plots; the links for these are included in the file "gnuplot.html" ('make html'). Under EMACS, interactive help uses the file "gnuplot.info" ('make info'). On OS/2, the Information Presentation Facility Compiler converts the file "gnuplot.ipf" to a "gnuplot.inf" file. The printed document is available in troff/nroff (ms) format, using the file "gnuplot.ms". For nroff, use 'make nroff'. For troff, type 'make ms' and then 'troff -ms gnuplot.ms' in whatever way you use troff. For groff (on linux), use 'groff -t -e -mgs gnuplot.ms' On MS-Windows, the Microsoft help compiler converts the file "gnuplot.rtf" to an 'hlp' file which is used by the standard Windows help program. The printed document is also available in LaTeX format, using the file "gnuplot.tex" ('make tex'). If you use LaTeX on your computer, you can type 'make dvi' to create "gnuplot.dvi", and then run your dvi-to- PostScript converter to generate "gnuplot.ps". Manual entries for the terminals are not included in "gnuplot.doc"; instead, each "driver.trm" file (in the directory /term) contains its own documentation section. See "term/README" for details. When you build gnuplot, only some of the terminal drivers are loaded; these are selected in "term.h" by compiler directives specified in the makefile. The interactive help generators use the same set of compiler directives in "term.h", and thus interactive help contains information for just those terminals actually loaded. The printed manual generators and the html generator contain information about all terminals. This is accomplished by concatenating all of the ".trm" files into a single one, "allterm.h". The file "termdoc.c" is used by each of the eight processing programs ("doc2gih.c", etc.); it #includes either "term.h" or "allterm.h", as is appropriate. If you wish to override the default decision about which terminals are to appear in the documentation, edit the appropriate target in the Makefile and add/remove -DALL_TERM_DOC to/from the compiler flags. Description of the gnuplot.doc format: -------------------------------------- Here is an example of the DOC master help format: ? 1 gnuplot GNUPLOT is a command-driven interactive function plotting program. It ... ?exit 2 exit 'exit', 'quit' and ... ?expressions 2 expressions In general, any mathematical expression accepted by C, ... Topics: functions operators ?expressions functions ?functions 3 functions The functions in GNUPLOT are ... Topics: abs acos arg ... ?expressions functions abs ?functions abs ?abs 4 abs This function returns the absolute value of its argument. The returned value is of the same type as the argument. ?expressions functions acos ?functions acos ?acos 4 acos This function returns the arc cosine (inverse cosine) of its argument. 'acos' returns its argument in radians. Some notes about the format: ---------------------------- Remember that all text must be able to be processed by gnuplot, VMS, nroff, troff, info, itl, and latex, and always do something reasonable. The first column is reserved for control characters. Text does not start in the first column. Lines that start in column 2 may be typeset by LaTeX. Lines that have a space in column 2 are to be printed in a verbatim environment by LaTeX. Tables must have a space in column 2. Do NOT use tabs in the help file. Conversion from this format to vax .hlp file involves removal of lines starting with [?@#$%] (see doc2hlp). VMS uses the numbers to represent a tree. Conversion from this format to gnuplot .gih file involves removal of lines starting with [0-9@#$%] (see doc2gih). Gnuplot matches your help query against the ? lines to find the help information. Multiple ? lines for one text block constitute synonyms. The most specific should be first, eg 'expressions functions' before 'functions'. Spaces are allowed here, but should be single. Backquote pairs are converted by the doc2tex program into boldface; that is, `some text` is converted to {\bf some text}. Be sure to pair the backquotes, or the whole document will be boldface! doc2ms converts `` pairs to \fB...\fR, except inside tables : for the moment, this has to be done manually on the lines starting %, but we ought to find some way to allow tables to be entered just the once ! Control characters in first column: ? used by .gih format, for builtin interactive help - keyword 0-9 used by VMS help and by doc2{tex,ms} formatters to define level,keyword @ used by doc2{tex,ms,rnh} to define table start/end # used by doc2tex: table entry % used by doc2ms: table entry ^ used by doc2html : hypertext link < the help from the terminal driver files is inserted at this point. C comment (mainly for RCS ID line) C# reserved form of comment (used internally by termdoc.c) Tables: ------- Here is a sample table: @start table - first is interactive cleartext form Symbol Example Explanation ?: a?b:c ternary operation #\begin{tabular}{|ccl|} \hline #\multicolumn{3}{|c|}{Ternary Operator} \\ #Symbol & Example & Explanation \\ \hline #\verb~?:~ & \verb~a?b:c~ & ternary operation\\ %c c l . %Symbol@Example@Explanation %_ %?:@a?b:c@* ternary operation @end table "doc2tex" and "doc2ms" are the formats that do something with tables other than copy them verbatim. It is best to bracket a table in a "@start table"/"@end table" pair. Inside the "@start"/"@end" block are three independent sets of commands: those that begin with "#" will be processed by "doc2tex" only, those that begin with "%" will be processed by "doc2ms" only, and all others will be copied verbatim by all other "doc2"s. So the commands may be shuffled together, as long as the order of each of the three sets is unchanged. That is, the example could be written this way without any effect on the result: @start table - first is interactive cleartext form #\begin{tabular}{|ccl|} \hline %c c l . #\multicolumn{3}{|c|}{Ternary Operator} \\ %Symbol@Example@Explanation Symbol Example Explanation #Symbol & Example & Explanation \\ \hline %_ ?: a?b:c ternary operation #\verb~?:~ & \verb~a?b:c~ & ternary operation\\ %?:@a?b:c@* ternary operation @end table In LaTeX, the command "\begin{tabular}{|ccl|} \hline" creates a three-column table having the first two columns centered, the third column left-justified, a vertical line at each side, and a horizontal line drawn first. Thus the table will be enclosed in a box ("doc2tex" provides the closing "\hline"). A double-backslash is a line skip. In the table entries themselves, the ampersand is the column separator. If any LaTeX special characters are in the table, they must be written within "\verb" constructs, as is the case with the question mark in the example. In nroff, the command "c c l ." creates a three-column table justified the same way as the LaTeX table discussed above. The ampersand is the column separator. Rules for stylistic consistency (courtesy Jens Emmerich): --------------------------------------------------------- 0. General * Use your brain -- the reader has one, too (at least in theory). * Format according to the logical structure, not according to visual charm. * Keep things short. Don't split lines without a good reason. Many people still use 24 line terminals/screens. Backslashify lines only in code examples. 1. Verbatim lines: start column and line length * Verbatim text starts in column 8 (7 spaces before the text). The reason is that "Syntax:" is 7 and "Examples:" is 9 characters wide. Adding the space in column 1 we have 1 resp. 3 characters "overlap" in the online text versions, which is still easy to read as all commands are at least 3 characters long. This does not apply to the "interactive clear text form"-tables. * The rightmost used column is column 73 (counting from 1). This allows LaTeX formatted documents with only slightly wider text than default, which adds to readability. 2. Line spacing * An empty line goes before "Syntax:" and "Example:", but not after them. Without these keywords, add an empty line before verbatim lines if they are not embedded in a sentence. * Leave blank lines within verbatim environments only if it is really needed for clarity. * Verbatim environments are separated from the following text by a blank line, but not if they are embedded in a sentence. * Short explanations within examples can be embedded within comments if they are really short, otherwise use "normal" text (beginning at column 2) and leave no blank lines between the text and the example. 3. Spaces around braces * In general don't put a space after an opening "{" or before a closing brace "}". This makes everything wider and harder to spot. * Do insert a space in the following situations: - where it adds clarity to nesting levels >=3 of braces; usually only one brace for the outermost brace on a particular line (see 'set grid') - on multiple line optional constructs (see 'set xtics') * Separate multiple optional constructs by a space. * Don't separate them if they belong together. (see 'set title') * Do separate them if they belong together but require a space in between (see 'set ticscale'). * Part of these rules are really a consequence of gnuplot's inconsistent syntax. 4. Placing and spaces around "|" * Place a space before and after the "|". Otherwise the alternatives tend to optically 'melt' and they are harder to read. * Keep or-expressions on one line, if possible. * On multi-line expressions place the "|" at the beginning of the next line rather than the end of the first. This makes it easier to see that the expression continues. Align the first components; this requires indenting the first line a bit further (see 'set cntrparam'). 5. Comma-separated optional argument lists * Place the space before the opening brace rather within the braces after the comma (as one normally does) (see 'set isosamples'). gnuplot-3.7.3/docs/checkdoc.c100644 1200 17 10537 6612635733 15265 0ustar lheckingusers/* * $Id: checkdoc.c,v 1.7 2025/10/19 13:17:15 lhecking Exp $ * */ /* GNUPLOT - checkdoc.c */ /*[ * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley * * Permission to use, copy, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. * * Permission to modify the software is granted, but not the right to * distribute the complete modified source code. Modifications are to * be distributed as patches to the released version. Permission to * distribute binaries produced by compiling modified sources is granted, * provided you * 1. distribute the corresponding source modifications from the * released version in the form of a patch file along with the binaries, * 2. add special version identification to distinguish your version * in addition to the base release version number, * 3. provide your name and address as the primary contact for the * support of your modified version, and * 4. retain our contact information in regard to use of the base * software. * Permission to distribute the released version of the source code along * with corresponding source modifications in the form of a patch file is * granted with same provisions 2 through 4 for binary distributions. * * This software is provided "as is" without express or implied warranty * to the extent permitted by applicable law. ]*/ /* * checkdoc -- check a doc file for correctness of first column. * * Prints out lines that have an illegal first character. * First character must be space, digit, or ?, @, #, %, * or line must be empty. * * usage: checkdoc [docfile] * Modified by Russell Lang from hlp2ms.c by Thomas Williams * * Original version by David Kotz used the following one line script! * sed -e '/^$/d' -e '/^[ 0-9?@#%]/d' gnuplot.doc * */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "ansichek.h" #include "stdfn.h" #include "doc2x.h" void convert __PROTO((FILE *, FILE *)); void process_line __PROTO((char *, FILE *)); int main(argc, argv) int argc; char **argv; { FILE *infile; infile = stdin; if (argc > 2) { fprintf(stderr, "Usage: %s [infile]\n", argv[0]); exit(EXIT_FAILURE); } if (argc == 2) if ((infile = fopen(argv[1], "r")) == (FILE *) NULL) { fprintf(stderr, "%s: Can't open %s for reading\n", argv[0], argv[1]); exit(EXIT_FAILURE); } convert(infile, stdout); exit(EXIT_SUCCESS); } void convert(a, b) FILE *a, *b; { static char line[MAX_LINE_LEN+1]; while (get_line(line, sizeof(line), a)) { process_line(line, b); } } void process_line(line, b) char *line; FILE *b; { /* check matching backticks within a paragraph */ static int count = 0; if (line[0] == ' ') { char *p = line; /* skip/count leading spaces */ while (*++p == ' '); if (*p == '\n') { /* it is not clear if this is an error, but it is an * inconsistency, so flag it */ fprintf(b, "spaces-only line %s:%d\n", termdoc_filename, termdoc_lineno); } else { /* accumulate count of backticks. Do not check odd-ness * until end of paragraph (non-space in column 1) */ for (; *p; ++p) if (*p == '`') ++count; } } else { if (count & 1) { fprintf(b, "mismatching backticks before %s:%d\n", termdoc_filename, termdoc_lineno); } count = 0; } if (strchr(line, '\t')) fprintf(b, "tab character in line %s:%d\n", termdoc_filename, termdoc_lineno); switch (line[0]) { /* control character */ case '?':{ /* interactive help entry */ break; /* ignore */ } case '<':{ /* term docs */ break; /* ignore */ } case '@':{ /* start/end table */ break; /* ignore */ } case '#':{ /* latex table entry */ break; /* ignore */ } case '%':{ /* troff table entry */ break; /* ignore */ } case '^':{ /* html entry */ break; /* ignore */ } case '\n': /* empty text line */ case ' ':{ /* normal text line */ break; } default:{ if (isdigit((int)line[0])) { /* start of section */ /* ignore */ } else /* output bad line */ fprintf(b, "%s:%d:%s", termdoc_filename, termdoc_lineno, line); break; } } } gnuplot-3.7.3/docs/doc2gih.c100644 1200 17 7473 6612635750 15025 0ustar lheckingusers/* * $Id: doc2gih.c,v 1.7 2025/10/19 13:17:28 lhecking Exp $ * */ /* GNUPLOT - doc2gih.c */ /*[ * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley * * Permission to use, copy, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. * * Permission to modify the software is granted, but not the right to * distribute the complete modified source code. Modifications are to * be distributed as patches to the released version. Permission to * distribute binaries produced by compiling modified sources is granted, * provided you * 1. distribute the corresponding source modifications from the * released version in the form of a patch file along with the binaries, * 2. add special version identification to distinguish your version * in addition to the base release version number, * 3. provide your name and address as the primary contact for the * support of your modified version, and * 4. retain our contact information in regard to use of the base * software. * Permission to distribute the released version of the source code along * with corresponding source modifications in the form of a patch file is * granted with same provisions 2 through 4 for binary distributions. * * This software is provided "as is" without express or implied warranty * to the extent permitted by applicable law. ]*/ /* * doc2gih.c -- program to convert Gnuplot .DOC format to gnuplot * interactive help (.GIH) format. * * This involves stripping all lines with a leading digit or * a leading @, #, or %. * Modified by Russell Lang from hlp2ms.c by Thomas Williams * * usage: doc2gih [file.doc [file.gih]] * * Original version by David Kotz used the following one line script! * sed '/^[0-9@#%]/d' file.doc > file.gih */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include "ansichek.h" #include "stdfn.h" #include "doc2x.h" void convert __PROTO((FILE *, FILE *)); void process_line __PROTO((char *, FILE *)); int main(argc, argv) int argc; char **argv; { FILE *infile; FILE *outfile; infile = stdin; outfile = stdout; if (argc > 3) { fprintf(stderr, "Usage: %s [infile [outfile]]\n", argv[0]); exit(EXIT_FAILURE); } if (argc >= 2) { if ((infile = fopen(argv[1], "r")) == (FILE *) NULL) { fprintf(stderr, "%s: Can't open %s for reading\n", argv[0], argv[1]); exit(EXIT_FAILURE); } } if (argc == 3) { if ((outfile = fopen(argv[2], "w")) == (FILE *) NULL) { fprintf(stderr, "%s: Can't open %s for writing\n", argv[0], argv[2]); exit(EXIT_FAILURE); } } convert(infile, outfile); exit(EXIT_SUCCESS); } void convert (inf, outf) FILE *inf, *outf; { static char line[MAX_LINE_LEN+1]; while (get_line(line, sizeof(line), inf)) process_line(line, outf); } void process_line(line, b) char *line; FILE *b; { static int line_count = 0; line_count++; switch (line[0]) { /* control character */ case '?':{ /* interactive help entry */ (void) fputs(line, b); break; } case '@':{ /* start/end table */ break; /* ignore */ } case '#':{ /* latex table entry */ break; /* ignore */ } case '%':{ /* troff table entry */ break; /* ignore */ } case '^':{ /* html entry */ break; /* ignore */ } case '\n': /* empty text line */ case ' ':{ /* normal text line */ (void) fputs(line, b); break; } default:{ if (isdigit((int)line[0])) { /* start of section */ /* ignore */ } else fprintf(stderr, "unknown control code '%c' in column 1, line %d\n", line[0], line_count); break; } } } gnuplot-3.7.3/docs/doc2hlp.c100644 1200 17 7564 6612635754 15046 0ustar lheckingusers#ifndef lint static char *RCSid = "$Id: doc2hlp.c,v 1.7 2025/10/19 13:17:32 lhecking Exp $"; #endif /* GNUPLOT - doc2hlp.c */ /*[ * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley * * Permission to use, copy, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. * * Permission to modify the software is granted, but not the right to * distribute the complete modified source code. Modifications are to * be distributed as patches to the released version. Permission to * distribute binaries produced by compiling modified sources is granted, * provided you * 1. distribute the corresponding source modifications from the * released version in the form of a patch file along with the binaries, * 2. add special version identification to distinguish your version * in addition to the base release version number, * 3. provide your name and address as the primary contact for the * support of your modified version, and * 4. retain our contact information in regard to use of the base * software. * Permission to distribute the released version of the source code along * with corresponding source modifications in the form of a patch file is * granted with same provisions 2 through 4 for binary distributions. * * This software is provided "as is" without express or implied warranty * to the extent permitted by applicable law. ]*/ /* * doc2hlp.c -- program to convert Gnuplot .DOC format to * VMS help (.HLP) format. * * This involves stripping all lines with a leading ?, * @, #, or %. * Modified by Russell Lang from hlp2ms.c by Thomas Williams * * usage: doc2hlp [file.doc [file.hlp]] * * Original version by David Kotz used the following one line script! * sed '/^[?@#%]/d' file.doc > file.hlp */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "ansichek.h" #include "stdfn.h" #include "doc2x.h" extern boolean single_top_level; void convert __PROTO((FILE *, FILE *)); void process_line __PROTO((char *, FILE *)); int main(argc, argv) int argc; char **argv; { FILE *infile; FILE *outfile; infile = stdin; outfile = stdout; single_top_level = TRUE; if (argc > 3) { fprintf(stderr, "Usage: %s [infile [outfile]]\n", argv[0]); exit(EXIT_FAILURE); } if (argc >= 2) { if ((infile = fopen(argv[1], "r")) == (FILE *) NULL) { fprintf(stderr, "%s: Can't open %s for reading\n", argv[0], argv[1]); exit(EXIT_FAILURE); } } if (argc == 3) { if ((outfile = fopen(argv[2], "w")) == (FILE *) NULL) { fprintf(stderr, "%s: Can't open %s for writing\n", argv[0], argv[2]); exit(EXIT_FAILURE); } } convert(infile, outfile); exit(EXIT_SUCCESS); } void convert (inf, outf) FILE *inf, *outf; { static char line[MAX_LINE_LEN+1]; while (get_line(line, sizeof(line), inf)) process_line(line, outf); } void process_line(line, b) char *line; FILE *b; { static int line_count = 0; line_count++; switch (line[0]) { /* control character */ case '?':{ /* interactive help entry */ break; /* ignore */ } case '@':{ /* start/end table */ break; /* ignore */ } case '#':{ /* latex table entry */ break; /* ignore */ } case '%':{ /* troff table entry */ break; /* ignore */ } case '^':{ /* html entry */ break; /* ignore */ } case '\n': /* empty text line */ case ' ':{ /* normal text line */ (void) fputs(line, b); break; } default:{ if (isdigit((int)line[0])) { /* start of section */ (void) fputs(line, b); } else fprintf(stderr, "unknown control code '%c' in column 1, line %d\n", line[0], line_count); break; } } } gnuplot-3.7.3/docs/doc2hlp.com100644 1200 17 132 6515203634 15330 0ustar lheckingusers$ def/user sys$input [.docs]gnuplot.doc $ def/user sys$output []gnuplot.hlp $ run doc2hlp gnuplot-3.7.3/docs/doc2html.c100644 1200 17 17365 6615703311 15233 0ustar lheckingusers/* * $Id: doc2html.c,v 1.7 2025/10/28 21:04:09 lhecking Exp $ * */ /* GNUPLOT - doc2html.c */ /*[ * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley * * Permission to use, copy, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. * * Permission to modify the software is granted, but not the right to * distribute the complete modified source code. Modifications are to * be distributed as patches to the released version. Permission to * distribute binaries produced by compiling modified sources is granted, * provided you * 1. distribute the corresponding source modifications from the * released version in the form of a patch file along with the binaries, * 2. add special version identification to distinguish your version * in addition to the base release version number, * 3. provide your name and address as the primary contact for the * support of your modified version, and * 4. retain our contact information in regard to use of the base * software. * Permission to distribute the released version of the source code along * with corresponding source modifications in the form of a patch file is * granted with same provisions 2 through 4 for binary distributions. * * This software is provided "as is" without express or implied warranty * to the extent permitted by applicable law. ]*/ /* * doc2html.c -- program to convert Gnuplot .DOC format to * World Wide Web (WWW) HyperText Markup Language (HTML) format * * Created by Russell Lang from doc2ipf by Roger Fearick from * doc2rtf by M Castro from doc2gih by Thomas Williams. * 2025-11-03 * * usage: doc2html gnuplot.doc gnuplot.htm * */ /* note that tables must begin in at least the second column to */ /* be formatted correctly and tabs are forbidden */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include "ansichek.h" #include "stdfn.h" #define MAX_LINE_LEN 1023 #include "doc2x.h" #include "xref.h" static boolean debug = FALSE; char title[256]; void convert __PROTO((FILE *, FILE *)); void process_line __PROTO((char *, FILE *)); /* From xref.c */ extern struct LIST *lookup __PROTO((char *)); int main(argc, argv) int argc; char **argv; { FILE *infile; FILE *outfile; if (argv[argc - 1][0] == '-' && argv[argc - 1][1] == 'd') { debug = TRUE; argc--; } if ((argc > 3) || (argc == 1)) { fprintf(stderr, "Usage: %s infile outfile\n", argv[0]); exit(EXIT_FAILURE); } if ((infile = fopen(argv[1], "r")) == (FILE *) NULL) { fprintf(stderr, "%s: Can't open %s for reading\n", argv[0], argv[1]); exit(EXIT_FAILURE); } if (argc == 3) { if ((outfile = fopen(argv[2], "w")) == (FILE *) NULL) { fprintf(stderr, "%s: Can't open %s for writing\n", argv[0], argv[2]); exit(EXIT_FAILURE); } safe_strncpy(title, argv[2], sizeof(title)); } else { outfile = stdout; safe_strncpy(title, argv[1], sizeof(title)); } strtok(title, "."); /* remove type */ parse(infile); convert(infile, outfile); exit(EXIT_SUCCESS); } void convert(a, b) FILE *a, *b; { static char line[MAX_LINE_LEN+1]; /* generate html header */ fprintf(b, "\n\ \n\ %s \n\ \n\ \n\

%s

\n", title, title); /* process each line of the file */ while (get_line(line, sizeof(line), a)) { process_line(line, b); } /* close final page and generate trailer */ fprintf(b, "\n


Created automatically by doc2html\n\ \n\ \n"); list_free(); } void process_line(line, b) char *line; FILE *b; { static int line_count = 0; static char line2[MAX_LINE_LEN+1]; static int last_line; char hyplink1[64]; int i, j; static int startpage = 1; char topic[MAX_LINE_LEN+1]; int k, l; struct LIST *klist; static int tabl = 0; static int para = 0; static int inquote = FALSE; static int inref = FALSE; line_count++; i = j = 0; while (line[i] != NUL) { switch (line[i]) { case '<': strcpy(&line2[j], "<"); j += strlen("<.") - 1; break; case '>': strcpy(&line2[j], ">"); j += strlen(">.") - 1; break; case '&': strcpy(&line2[j], "&"); j += strlen("&") - 1; break; case '\r': case '\n': break; case '`': /* backquotes mean boldface or link */ if ((!inref) && (!inquote)) { k = i + 1; /* index into current string */ l = 0; /* index into topic string */ while ((line[k] != '`') && (line[k] != NUL)) topic[l++] = line[k++]; topic[l] = NUL; klist = lookup(topic); if (klist && ((k = klist->line) != last_line)) { sprintf(hyplink1, "", k); strcpy(line2 + j, hyplink1); j += strlen(hyplink1) - 1; inref = k; } else { if (debug && k != last_line) fprintf(stderr, "Can't make link for \042%s\042 on line %d\n", topic, line_count); line2[j++] = '<'; line2[j++] = 'B'; line2[j] = '>'; inquote = TRUE; } } else { if (inquote && inref) fprintf(stderr, "Warning: Reference Quote conflict line %d\n", line_count); if (inquote) { line2[j++] = '<'; line2[j++] = '/'; line2[j++] = 'B'; line2[j] = '>'; inquote = FALSE; } if (inref) { /* must be inref */ line2[j++] = '<'; line2[j++] = '/'; line2[j++] = 'A'; line2[j] = '>'; inref = 0; } } break; default: line2[j] = line[i]; } i++; j++; line2[j] = NUL; } i = 1; switch (line[0]) { /* control character */ case '?':{ /* interactive help entry */ #ifdef FIXLATER if (intable) intablebut = TRUE; fprintf(b, "\n:i1. %s", &(line[1])); /* index entry */ #endif break; } case '@':{ /* start/end table */ break; /* ignore */ } case '#':{ /* latex table entry */ break; /* ignore */ } case '^':{ /* external link escape */ (void) fputs(line + 1, b); /* copy directly */ break; /* ignore */ } case '%':{ /* troff table entry */ break; /* ignore */ } case '\n': /* empty text line */ if (tabl) fprintf(b, "\n"); /* rjl */ para = 0; tabl = 0; fprintf(b, "

"); break; case ' ':{ /* normal text line */ if ((line2[1] == NUL) || (line2[1] == '\n')) { fprintf(b, "

"); para = 0; tabl = 0; } if (line2[1] == ' ') { if (!tabl) { fprintf(b, "

\n");
		}
		fprintf(b, "%s\n", &line2[1]);
		tabl = 1;
		para = 0;
	    } else {
		if (tabl) {
		    fprintf(b, "
\n

"); /* rjl */ } tabl = 0; if (!para) para = 1; /* not in para so start one */ fprintf(b, "%s \n", &line2[1]); } break; } default:{ if (isdigit((int)line[0])) { /* start of section */ if (tabl) fprintf(b, "\n"); /* rjl */ if (startpage) { /* use the new level 0 */ refs(0, b, "

\n", "

\n", "%s
\n"); } else { refs(last_line, b, "

\n", "

\n", "%s
\n"); } para = 0; /* not in a paragraph */ tabl = 0; last_line = line_count; startpage = 0; if (debug) fprintf(stderr, "%d: %s\n", line_count, &line2[1]); klist = lookup(&line2[1]); if (klist) k = klist->line; else k = -1; /* output unique ID and section title */ fprintf(b, "


\n", line_count, line[0] == '1' ? line[0] : line[0] - 1); fprintf(b, &(line2[1])); /* title */ fprintf(b, "\n

", line[0] == '1' ? line[0] : line[0] - 1); } else fprintf(stderr, "unknown control code '%c' in column 1, line %d\n", line[0], line_count); break; } } } gnuplot-3.7.3/docs/doc2info.c100644 1200 17 35505 7436511134 15220 0ustar lheckingusers/* * $Id: doc2info.c,v 1.9.2.2 2025/02/25 19:37:00 lhecking Exp $ * */ /* GNUPLOT - doc2info.c */ /*[ * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley * * Permission to use, copy, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. * * Permission to modify the software is granted, but not the right to * distribute the complete modified source code. Modifications are to * be distributed as patches to the released version. Permission to * distribute binaries produced by compiling modified sources is granted, * provided you * 1. distribute the corresponding source modifications from the * released version in the form of a patch file along with the binaries, * 2. add special version identification to distinguish your version * in addition to the base release version number, * 3. provide your name and address as the primary contact for the * support of your modified version, and * 4. retain our contact information in regard to use of the base * software. * Permission to distribute the released version of the source code along * with corresponding source modifications in the form of a patch file is * granted with same provisions 2 through 4 for binary distributions. * * This software is provided "as is" without express or implied warranty * to the extent permitted by applicable law. ]*/ /* * doc2info.c -- program to convert Gnuplot .DOC format to * (Emacs -) Info-file format * * Created by Stefan Bodewig from doc2gih by Thomas Williams * and doc2html by Russel Lang * 1/29/1996 * * usage: doc2info gnuplot.doc gnuplot.info * */ /* note that tables must begin in at least the second column to */ /* be formatted correctly and tabs are forbidden */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include "ansichek.h" #include "stdfn.h" #define MAX_LINE_LEN 1023 #include "doc2x.h" #include "xref.h" struct BUFFER { /* buffer to reformat paragraphs with xrefs */ char *content; struct BUFFER *next; struct BUFFER *prev; }; struct XREFLIST { /* a list of xrefs allready mentioned in this node */ struct LIST *ref; struct XREFLIST *next; struct XREFLIST *prev; }; /* xref.c */ extern struct LIST *list; extern struct LIST *head; extern struct LIST *keylist; extern struct LIST *keyhead; extern int maxlevel; extern int listitems; char title[MAX_LINE_LEN+1]; char ifile[MAX_LINE_LEN+1]; char ofile[MAX_LINE_LEN+1]; struct XREFLIST *refhead = NULL; void convert __PROTO((FILE *, FILE *)); void process_line __PROTO((char *, FILE *)); void node_head __PROTO((char *, char *, char *, char *, FILE *)); void name_free __PROTO((char **)); char **name_alloc __PROTO(()); void clear_buffer __PROTO((struct BUFFER *, FILE *)); int inxreflist __PROTO((struct LIST *)); void xref_free __PROTO((void)); int main(argc, argv) int argc; char **argv; { FILE *infile; FILE *outfile; infile = stdin; outfile = stdout; if (argc > 3) { fprintf(stderr, "Usage: %s [infile [outfile]]\n", argv[0]); exit(EXIT_FAILURE); } if (argc >= 2) { strcpy(ifile, argv[1]); if ((infile = fopen(argv[1], "r")) == (FILE *) NULL) { fprintf(stderr, "%s: Can't open %s for reading\n", argv[0], argv[1]); exit(EXIT_FAILURE); } } else safe_strncpy(ifile, "gnuplot.doc", sizeof(ifile)); /* default value */ if (argc == 3) { safe_strncpy(ofile, argv[2], sizeof(ofile)); if ((outfile = fopen(argv[2], "w")) == (FILE *) NULL) { fprintf(stderr, "%s: Can't open %s for writing\n", argv[0], argv[2]); exit(EXIT_FAILURE); } } else safe_strncpy(ofile, "gnuplot.info", sizeof(ofile)); /* default value */ safe_strncpy(title, ofile, sizeof(title)); strtok(title, "."); /* without type */ convert(infile, outfile); exit(EXIT_SUCCESS); } void convert(a, b) FILE *a, *b; { static char line[MAX_LINE_LEN+1]; parse(a); refhead = (struct XREFLIST *) xmalloc(sizeof(struct XREFLIST)); refhead->next = refhead->prev = NULL; /* Info header */ fprintf(b, "\ This file is %s created by doc2info from %s.\n\ \n\ INFO-DIR-SECTION Math\n\ START-INFO-DIR-ENTRY\n\ * Gnuplot: (gnuplot). Gnuplot plotting program\n\ END-INFO-DIR-ENTRY\n\n", ofile, ifile); /* and Top node */ node_head(NULL, NULL, head->next->string, NULL, b); while (get_line(line, sizeof(line), a)) { process_line(line, b); } list_free(); free(refhead); } /* * scans the lines for xrefs, creates new nodes and prints or ignores * the rest. * * Info xrefs are visible. Therefore we have to reformat the paragraphs * containing them. All lines of the paragraph are written into a buffer * and printed at the end of the paragraph. */ void process_line(line, b) char *line; FILE *b; { static int line_count = 0; struct LIST *node; /* current node */ static struct LIST *prev = NULL; /* previous node */ int level; /* current level */ static char **up = NULL; /* Array with node names */ static char **pre = NULL; char topic[MAX_LINE_LEN+1]; /* for xrefs */ int i, j, k, l; static int inref = FALSE; /* flags */ static int inbold = FALSE; static struct BUFFER *buffer; /* buffer to hold the lines of a paragraph */ static struct BUFFER *buf_head = NULL; int inbuf = 0; /* offset into buffer */ char line2[3*MAX_LINE_LEN+1]; /* line of text with added xrefs */ struct LIST *reflist; static struct XREFLIST *lastref = NULL; /* xrefs that are already mentioned in this node */ line2[0] = NUL; if (!prev) /* last node visited */ prev = head; if (!lastref) lastref = refhead; if (!up) { /* Names of `Prev:' and `Up:' nodes */ up = name_alloc(); pre = name_alloc(); strcpy(up[0], "(dir)"); strcpy(up[1], "Top"); strcpy(pre[1], "(dir)"); strcpy(pre[2], "Top"); } line_count++; if (line[0] == ' ') /* scan line for xrefs */ for (i = 0; line[i] != NUL; ++i) if (line[i] == '`') { /* Reference or boldface (ignore the latter) */ if (!inref && !inbold) { k = i + 1; /* next character */ j = 0; /* index into topic */ while (line[k] != '`' && line[k] != NUL) topic[j++] = line[k++]; topic[j] = NUL; /* try to find the xref */ reflist = lookup(topic); if (reflist) { /* now we have the (key-)list-entry */ /* convert it to a list-entry that represents a node */ reflist = lkup_by_number(reflist->line); } /* not interested in xrefs pointing to `Top' or same node */ /* we want only one reference per topic in node */ if (reflist && reflist->level != 0 && reflist != prev && !inxreflist(reflist)) { /* new entry to xreflist */ lastref->next = (struct XREFLIST *) xmalloc(sizeof(struct XREFLIST)); lastref->next->prev = lastref; lastref = lastref->next; lastref->ref = reflist; lastref->next = NULL; if (!buf_head) { /* No buffer yet */ buf_head = (struct BUFFER *) xmalloc(sizeof(struct BUFFER)); buffer = buf_head; buffer->prev = NULL; buffer->next = NULL; } /* eliminate leading spaces of topic */ for (j = 0; isspace((int) reflist->string[j]); ++j); /* encountered end of line */ if (line[k] == NUL) { if (line[k - 1] == '\n') /* throw away new-lines */ line[--k] = NUL; /* insert xref into line */ sprintf(line2, "%s%s (*note %s:: )", line2, line + inbuf, reflist->string + j); inref = TRUE; /* line is done */ break; } /* eliminate spaces before the second ` */ if (isspace((int) line[k - 1])) for (l = k - 1; line[l] != NUL; ++l) line[l] = line[l + 1]; /* let `plot`s look nicer */ if (isalpha((int) line[k + 1])) ++k; sprintf(line2, "%s%.*s (*note %s:: )", line2, k - inbuf + 1, line + inbuf, reflist->string + j); /* line2 contains first inbuf characters of line */ i = inbuf = k; } else { /* found no reference */ inbold = TRUE; } } else { if (inref) /* inref || inbold */ inref = FALSE; else inbold = FALSE; } } /* just copy normal characters of line with xref */ else if (inbuf) { strncat(line2, line + i, 1); inbuf++; } switch (line[0]) { /* control character */ case '?':{ /* interactive help entry */ break; /* ignore */ } case '@':{ /* start/end table */ break; /* ignore */ } case '#':{ /* latex table entry */ break; /* ignore */ } case '%':{ /* troff table entry */ break; /* ignore */ } case '^':{ /* html entry */ break; /* ignore */ } case '\n': /* empty text line */ if (buf_head) { /* do we have a buffer? */ /* paragraph finished, print it */ clear_buffer(buf_head, b); buffer = buf_head = NULL; } else /* just copy the blank line */ fputs(line, b); break; case ' ':{ /* normal text line */ if (buf_head) { /* must be inserted in buffer ? */ buffer->next = (struct BUFFER *) xmalloc(sizeof(struct BUFFER)); buffer->next->prev = buffer; buffer = buffer->next; buffer->next = NULL; if (line2[0] == NUL) { /* line doesn't contain xref */ buffer->content = (char *) xmalloc(strlen(line) + 1); strcpy(buffer->content, line); } else { /* line contains xref */ buffer->content = (char *) xmalloc(strlen(line2) + 1); strcpy(buffer->content, line2); } } else /* no buffer, just copy */ fputs(line, b); break; } default: if (isdigit((int) line[0])) { /* start of section */ /* clear xref-list */ xref_free(); lastref = 0; if (buf_head) { /* do we have a buffer */ /* paragraphs are not allways separated by a blank line */ clear_buffer(buf_head, b); buffer = buf_head = NULL; } level = line[0] - '0'; if (level > prev->level) /* going down */ /* so write menu of previous node */ refs(prev->line, b, "\n* Menu:\n\n", NULL, "* %s::\n"); node = prev->next; if (!node->next) { /* last node ? */ node_head(node->string, pre[level + 1], NULL, up[level], b); name_free(up); name_free(pre); /* next node will go up, no 'Next:' node */ } else if (node->next->level < level) node_head(node->string, pre[level + 1], NULL, up[level], b); else { node_head(node->string, pre[level + 1], node->next->string, up[level], b); strcpy(pre[level + 1], node->string); /* next node will go down */ if (level < node->next->level) { strcpy(up[level + 1], node->string); strcpy(pre[node->next->level + 1], node->string); } } prev = node; } else fprintf(stderr, "unknown control code '%c' in column 1, line %d\n", line[0], line_count); break; } } /* * write the header of an Info node, treat Top node specially */ void node_head(node, prev, next, up, b) char *node, *prev, *next, *up; FILE *b; { /* eliminate leading spaces */ while (node && isspace((int) *node)) node++; while (next && isspace((int) *next)) next++; while (prev && isspace((int) *prev)) prev++; while (up && isspace((int) *up)) up++; if (!prev) { /* Top node */ int i; fprintf(b, "\nFile: %s, Node: Top, Prev: (dir), Next: %s, Up: (dir)\n\n", ofile, next); fprintf(b, "%s\n", title); for (i = 0; i < strlen(title); ++i) fprintf(b, "*"); fprintf(b, "\n\n"); return; } fprintf(b, "\n \nFile: %s, ", ofile); fprintf(b, "Node: %s, Prev: %s, Up: %s", node, prev, up); if (next) fprintf(b, ", Next: %s\n\n", next); else fputs("\n\n", b); } /* * allocate memory for the node titles (up and prev) * need at most maxlevel+Top+(dir) entries */ char **name_alloc __PROTO((void)) { char **a; int i; a = (char **) xmalloc((maxlevel + 2) * sizeof(char *)); for (i = 0; i <= maxlevel + 1; i++) a[i] = (char *) xmalloc(MAX_LINE_LEN+1); return a; } /* * free node names */ void name_free(names) char **names; { int i; for (i = 0; i <= maxlevel + 1; i++) free(names[i]); free(names); } /* * reformat the buffered lines */ void clear_buffer(buf_head, b) struct BUFFER *buf_head; FILE *b; { struct BUFFER *run; int in_line = 0; /* offset into current line */ int in_buf = 0; /* offset into buffer */ int i, todo; char c; /* for all buffer entries */ for (run = buf_head; run->next; run = run->next) { /* unprinted characters */ todo = strlen(run->next->content); /* eliminate new-lines */ if (run->next->content[todo - 1] == '\n') run->next->content[--todo] = NUL; while (todo) if (79 - in_line > todo) { /* buffer fits into line */ fprintf(b, "%s", run->next->content + in_buf); in_line += todo; todo = in_buf = 0; } else { /* buffer must be split over lines */ /* search for whitespace to split at */ for (i = 79 - in_line; i > 2; --i) if (isspace((int) (run->next->content[in_buf + i]))) { char *beginnote, *linestart; c = run->next->content[in_buf + i - 1]; if (c == '.') /* don't split at end of sentence */ continue; if (c == ' ') /* ditto */ continue; /* dont break xref */ /* search for xref in current line */ linestart = run->next->content + in_buf; beginnote = strstr(linestart, "(*note"); while (beginnote && beginnote < linestart + i) { /* don't split if it didn't fit into the line as a whole */ if (strchr(beginnote, ')') > linestart + i) break; /* xref is complete, maybe there's another one? */ beginnote = strstr(beginnote + 1, "(*note"); } /* unbalanced xref ? */ if (beginnote && beginnote < linestart + i) continue; break; } if (i > 2) { /* found a point to split buffer */ fprintf(b, "%.*s\n", i, run->next->content + in_buf); todo -= i; in_buf += i; in_line = 0; } else { /* try with a new line */ fputs("\n", b); in_line = 0; } } } if (in_line) /* paragraph ended incomplete line */ fputs("\n", b); fputs("\n", b); /* free the buffer */ for (run = run->prev; run->prev; run = run->prev) { free(run->next->content); free(run->next); run->next = NULL; } if (buf_head->next) { free(buf_head->next->content); free(buf_head->next); buf_head->next = NULL; } free(buf_head); } /* * test whether topic is allready referenced in node */ int inxreflist(reflist) struct LIST *reflist; { struct XREFLIST *run; for (run = refhead; run->next; run = run->next) if (run->next->ref == reflist) return TRUE; return FALSE; } /* * free the list of xrefs */ void xref_free __PROTO((void)) { struct XREFLIST *lastref; for (lastref = refhead; lastref->next; lastref = lastref->next); if (lastref != refhead) for (lastref = lastref->prev; lastref->prev; lastref = lastref->prev) free(lastref->next); if (refhead->next) free(refhead->next); refhead->next = NULL; } gnuplot-3.7.3/docs/doc2ipf.c100644 1200 17 26446 6612635771 15060 0ustar lheckingusers#ifndef lint static char *RCSid = "$Id: doc2ipf.c,v 1.7 2025/10/19 13:17:45 lhecking Exp $"; #endif /* GNUPLOT - doc2ipf.c */ /*[ * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley * * Permission to use, copy, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. * * Permission to modify the software is granted, but not the right to * distribute the complete modified source code. Modifications are to * be distributed as patches to the released version. Permission to * distribute binaries produced by compiling modified sources is granted, * provided you * 1. distribute the corresponding source modifications from the * released version in the form of a patch file along with the binaries, * 2. add special version identification to distinguish your version * in addition to the base release version number, * 3. provide your name and address as the primary contact for the * support of your modified version, and * 4. retain our contact information in regard to use of the base * software. * Permission to distribute the released version of the source code along * with corresponding source modifications in the form of a patch file is * granted with same provisions 2 through 4 for binary distributions. * * This software is provided "as is" without express or implied warranty * to the extent permitted by applicable law. ]*/ /* * doc2ipf.c -- program to convert Gnuplot .DOC format to OS/2 * ipfc (.inf/.hlp) format. * * Modified by Roger Fearick from doc2rtf by M Castro * * usage: doc2ipf gnuplot.doc gnuplot.itl * */ /* note that tables must begin in at least the second column to */ /* be formatted correctly and tabs are forbidden */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include "ansichek.h" #include "stdfn.h" #define MAX_LINE_LEN 1023 #include "doc2x.h" #include "xref.h" #define MAX_COL 6 /* From xref.c */ extern void *xmalloc __PROTO((size_t)); void convert __PROTO((FILE *, FILE *)); void process_line __PROTO((char *, FILE *)); /* malloc's are not being checked ! */ struct TABENTRY { /* may have MAX_COL column tables */ struct TABENTRY *next; char col[MAX_COL][256]; }; struct TABENTRY table = { NULL }; struct TABENTRY *tableins = &table; int tablecols = 0; int tablewidth[MAX_COL] = {0, 0, 0, 0, 0, 0}; /* there must be the correct */ int tablelines = 0; /* number of zeroes here */ static boolean debug = FALSE; int main(argc, argv) int argc; char **argv; { FILE *infile; FILE *outfile; if (argc == 4 && argv[3][0] == '-' && argv[3][1] == 'd') debug = TRUE; if (argc != 3 && !debug) { fprintf(stderr, "Usage: %s infile outfile\n", argv[0]); exit(EXIT_FAILURE); } if ((infile = fopen(argv[1], "r")) == (FILE *) NULL) { fprintf(stderr, "%s: Can't open %s for reading\n", argv[0], argv[1]); exit(EXIT_FAILURE); } if ((outfile = fopen(argv[2], "w")) == (FILE *) NULL) { fprintf(stderr, "%s: Can't open %s for writing\n", argv[0], argv[2]); fclose(infile); exit(EXIT_FAILURE); } parse(infile); convert(infile, outfile); exit(EXIT_SUCCESS); } void convert(a, b) FILE *a, *b; { static char line[MAX_LINE_LEN+1]; /* generate ipf header */ fprintf(b, ":userdoc.\n:prolog.\n"); fprintf(b, ":title.GNUPLOT\n"); fprintf(b, ":docprof toc=12345.\n:eprolog.\n"); /* process each line of the file */ while (get_line(line, sizeof(line), a)) { process_line(line, b); } /* close final page and generate trailer */ fprintf(b, "\n:euserdoc.\n"); list_free(); } void process_line(line, b) char *line; FILE *b; { static int line_count = 0; static char line2[MAX_LINE_LEN+1]; static int last_line; char hyplink1[64]; char *pt, *tablerow; int i; int j; static int startpage = 1; char str[MAX_LINE_LEN+1]; char topic[MAX_LINE_LEN+1]; int k, l; static int tabl = 0; static int para = 0; static int inquote = FALSE; static int inref = FALSE; static int intable = FALSE; static int intablebut = FALSE; static int introffheader = FALSE; static char tablechar = '@'; static FILE *bo = NULL, *bt = NULL; static char tabledelim[4] = "%@\n"; static int nblanks = 0; struct LIST *klist; line_count++; if (introffheader) fprintf(stderr, "%s\n", line); if (bo == NULL) bo = b; i = 0; j = 0; nblanks = 0; while (line[nblanks] == ' ') ++nblanks; while (line[i] != NUL) { if (introffheader) { if (line[i] != '\n') line2[j] = line[i]; else line2[j] = NUL; } else switch (line[i]) { case '$': if (intable && (tablechar != '$') && (line[0] == '%')) { ++i; if (line[i + 1] == '$' || line[i] == 'x' || line[i] == '|') { while (line[i] != '$') line2[j++] = line[i++]; --j; } else { while (line[i] != '$') i++; if (line[i + 1] == ',') i++; if (line[i + 1] == ' ') i++; line2[j] = line[++i]; } } else line2[j] = line[i]; break; case ':': strcpy(&line2[j], "&colon."); j += strlen("&colon.") - 1; break; case '&': /* real hack to solve \&_ in postscript doc tables */ /* (which are a special case hack anyway. */ if (j > 0 && line2[j - 1] == '\\') { j -= 2; break; } strcpy(&line2[j], "&."); j += strlen("&.") - 1; break; case '\r': case '\n': break; case '`': /* backquotes mean boldface or link */ if (nblanks > 7) { line2[j] = line[i]; break; } if ((!inref) && (!inquote)) { k = i + 1; /* index into current string */ l = 0; /* index into topic string */ while ((line[k] != '`') && (line[k] != 0)) { topic[l] = line[k]; k++; l++; } topic[l] = 0; klist = lookup(topic); if (klist != NULL && (k = klist->line) > 0) { sprintf(hyplink1, ":link reftype=hd res=%d.", k); strcpy(line2 + j, hyplink1); j += strlen(hyplink1) - 1; inref = k; } else { if (debug) fprintf(stderr, "Can't make link for \042%s\042 on line %d\n", topic, line_count); strcpy(line2 + j, ":hp2."); j += 4; inquote = TRUE; } } else { if (inquote && inref) fprintf(stderr, "Warning: Reference Quote conflict line %d\n", line_count); if (inquote) { strcpy(line2 + j, ":ehp2."); j += 5; inquote = FALSE; } if (inref) { /* must be inref */ strcpy(line2 + j, ":elink."); j += 6; inref = FALSE; } } break; default: line2[j] = line[i]; } i++; j++; if ((j >= sizeof(line2))) { fprintf(stderr, "MAX_LINE_LEN exceeded\n"); if (inref || inquote) fprintf(stderr, "Possible missing link character (`) near above line number\n"); abort(); } line2[j] = NUL; } i = 1; switch (line[0]) { /* control character */ case '?':{ /* interactive help entry */ if (intable) intablebut = TRUE; break; } case '@':{ /* start/end table */ intable = !intable; if (intable) { tablechar = '@'; introffheader = FALSE; tablelines = 0; tablecols = 0; tableins = &table; for (j = 0; j < MAX_COL; j++) tablewidth[j] = 0; } else { /* dump table */ int header = 0; intablebut = FALSE; tableins = &table; fprintf(b, ":table cols=\'"); for (j = 0; j < MAX_COL; j++) if (tablewidth[j] > 0) fprintf(b, " %d", tablewidth[j]); fprintf(b, "\'.\n"); tableins = tableins->next; if (tableins->next != NULL) header = (tableins->next->col[0][0] == '_'); if (header) tableins->next = tableins->next->next; while (tableins != NULL) { fprintf(b, ":row.\n"); for (j = 0; j < tablecols; j++) if (header) fprintf(b, ":c.:hp9.%s:ehp9.\n", tableins->col[j]); else fprintf(b, ":c.%s\n", tableins->col[j]); tableins = tableins->next; header = 0; } fprintf(b, ":etable.\n"); if (bt != NULL) { rewind(bt); while (get_line(str, sizeof(str), bt)) fputs(str, b); fclose(bt); remove("doc2ipf.tmp"); bt = NULL; bo = b; } } break; } case '#':{ /* latex table entry */ break; /* ignore */ } case '%':{ /* troff table entry */ if (intable) { if (introffheader) { fprintf(stderr, ">%s\n", line2); fprintf(stderr, "tablechar: %c\n", tablechar); if (line2[1] == '.') break; pt = strchr(line2, '('); if (pt != NULL) tablechar = *(pt + 1); fprintf(stderr, "tablechar: %c\n", tablechar); pt = strchr(line2 + 2, '.'); if (pt != NULL) introffheader = FALSE; break; } if (line[1] == '.') { /* ignore troff commands */ introffheader = TRUE; break; } tablerow = line2; tableins->next = xmalloc(sizeof(struct TABENTRY)); tableins = tableins->next; tableins->next = NULL; j = 0; tabledelim[1] = tablechar; line2[0] = tablechar; while ((pt = strtok(tablerow, tabledelim + 1)) != NULL) { if (*pt != NUL) { /* ignore null columns */ /* this fails on format line */ assert(j < MAX_COL); strcpy(tableins->col[j], pt); k = strlen(pt); if (k > tablewidth[j]) tablewidth[j] = k; ++j; tablerow = NULL; if (j > tablecols) tablecols = j; } } while (j < MAX_COL) tableins->col[j++][0] = NUL; } break; /* ignore */ } case '\n': /* empty text line */ para = 0; tabl = 0; fprintf(bo, ":p."); break; case ' ':{ /* normal text line */ if (intable && !intablebut) break; if (intablebut) { /* indexed items in table, copy to file after table by saving in a temp file meantime */ if (bt == NULL) { fflush(bo); bt = fopen("doc2ipf.tmp", "w+"); if (bt == NULL) fprintf(stderr, "cant open temp\n"); else bo = bt; } } if (intablebut && (bt == NULL)) break; if ((line2[1] == 0) || (line2[1] == '\n')) { fprintf(bo, ":p."); para = 0; } if (line2[1] == ' ') { if (!tabl) fprintf(bo, ":p."); fprintf(bo, "%s", &line2[1]); fprintf(bo, "\n.br\n"); tabl = 1; para = 0; } else { if (!para) { para = 1; /* not in para so start one */ tabl = 0; } fprintf(bo, "%s \n", &line2[1]); } fflush(bo); break; } case '^': break; /* ignore */ default:{ if (isdigit((int)line[0])) { /* start of section */ if (intable) { intablebut = TRUE; if (bt == NULL) { fflush(bo); bt = fopen("doc2ipf.tmp", "w+"); if (bt == NULL) fprintf(stderr, "cant open temp\n"); else bo = bt; } } if (startpage) /* use new level 0 item */ refs(0, bo, NULL, NULL, NULL); else refs(last_line, bo, NULL, NULL, NULL); para = 0; /* not in a paragraph */ tabl = 0; last_line = line_count; startpage = 0; fprintf(stderr, "%d: %s\n", line_count, &line2[1]); klist = lookup(&line2[2]); if (klist != NULL) k = klist->line; /*if( k<0 ) fprintf(bo,":h%c.", line[0]=='1'?line[0]:line[0]-1); else */ fprintf(bo, ":h%c res=%d.", line[0], line_count); fprintf(bo, &(line2[1])); /* title */ fprintf(bo, "\n:p."); } else fprintf(stderr, "unknown control code '%c' in column 1, line %d\n", line[0], line_count); } break; } } gnuplot-3.7.3/docs/doc2ms.c100644 1200 17 17200 6612635775 14711 0ustar lheckingusers#ifndef lint static char *RCSid = "$Id: doc2ms.c,v 1.9 2025/10/19 13:17:49 lhecking Exp $"; #endif /* GNUPLOT - doc2ms.c */ /*[ * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley * * Permission to use, copy, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. * * Permission to modify the software is granted, but not the right to * distribute the complete modified source code. Modifications are to * be distributed as patches to the released version. Permission to * distribute binaries produced by compiling modified sources is granted, * provided you * 1. distribute the corresponding source modifications from the * released version in the form of a patch file along with the binaries, * 2. add special version identification to distinguish your version * in addition to the base release version number, * 3. provide your name and address as the primary contact for the * support of your modified version, and * 4. retain our contact information in regard to use of the base * software. * Permission to distribute the released version of the source code along * with corresponding source modifications in the form of a patch file is * granted with same provisions 2 through 4 for binary distributions. * * This software is provided "as is" without express or implied warranty * to the extent permitted by applicable law. ]*/ /* * doc2ms.c -- program to convert Gnuplot .DOC format to *roff -ms document * From hlp2ms by Thomas Williams * * Modified by Russell Lang, 2nd October 1989 * to make vms help level 1 and 2 create the same ms section level. * * Modified to become doc2ms by David Kotz (David.Kotz@Dartmouth.edu) 12/89 * Added table and backquote support. * * usage: doc2ms [file.doc [file.ms]] * * where file.doc is a VMS .DOC file, and file.ms will be a [nt]roff * document suitable for printing with nroff -ms or troff -ms * * typical usage for GNUPLOT: * * doc2ms gnuplot.doc | tbl | eqn | troff -ms * * or * * doc2ms gnuplot.doc | groff -ms -et >gnuplot.ps */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include "ansichek.h" #include "stdfn.h" #include "doc2x.h" #define LINE_SKIP 3 void init __PROTO((FILE *)); void convert __PROTO((FILE *, FILE *)); void process_line __PROTO((char *, FILE *)); void section __PROTO((char *, FILE *)); void putms __PROTO((char *, FILE *)); void putms_verb __PROTO((char *, FILE *)); void finish __PROTO((FILE *)); static boolean intable = FALSE; int main(argc, argv) int argc; char **argv; { FILE *infile; FILE *outfile; infile = stdin; outfile = stdout; if (argc > 3) { fprintf(stderr, "Usage: %s [infile [outfile]]\n", argv[0]); exit(EXIT_FAILURE); } if (argc >= 2) { if ((infile = fopen(argv[1], "r")) == (FILE *) NULL) { fprintf(stderr, "%s: Can't open %s for reading\n", argv[0], argv[1]); exit(EXIT_FAILURE); } } if (argc == 3) { if ((outfile = fopen(argv[2], "w")) == (FILE *) NULL) { fprintf(stderr, "%s: Can't open %s for writing\n", argv[0], argv[2]); exit(EXIT_FAILURE); } } init(outfile); convert(infile, outfile); finish(outfile); exit(EXIT_SUCCESS); } void init(b) FILE *b; { /* in nroff, increase line length by 8 and don't adjust lines */ (void) fputs(".if n \\{.nr LL +8m\n.na \\}\n\ .nr PO +0.3i\n\ .so titlepag.ms\n\ .pn 1\n\ .bp\n\ .ta 1.5i 3.0i 4.5i 6.0i 7.5i\n\ \\&\n.sp 3\n.PP\n", b); /* following line commented out by rjl (void) fputs(".so intro\n",b); */ } void convert(a, b) FILE *a, *b; { static char line[MAX_LINE_LEN+1]; while (get_line(line, sizeof(line), a)) { process_line(line, b); } } void process_line(line, b) char *line; FILE *b; { switch (line[0]) { /* control character */ case '?':{ /* interactive help entry */ break; /* ignore */ } case '@':{ /* start/end table */ if (intable) { (void) fputs(".TE\n.KE\n", b); (void) fputs(".EQ\ndelim off\n.EN\n\n", b); intable = FALSE; } else { (void) fputs("\n.EQ\ndelim $$\n.EN\n", b); (void) fputs(".KS\n.TS\ncenter box tab (@) ;\n", b); /* moved to gnuplot.doc by RCC (void) fputs("c c l .\n", b); */ intable = TRUE; } /* ignore rest of line */ break; } case '^':{ /* html table entry */ break; /* ignore */ } case '#':{ /* latex table entry */ break; /* ignore */ } case '%':{ /* troff table entry */ if (intable) (void) fputs(line + 1, b); /* copy directly */ else fprintf(stderr, "error: %% line found outside of table\n"); break; } case '\n': /* empty text line */ case ' ':{ /* normal text line */ if (intable) break; /* ignore while in table */ switch (line[1]) { case ' ':{ /* verbatim mode */ fputs(".br\n", b); putms_verb(line + 1, b); fputs(".br\n", b); break; } case '\'':{ fputs("\\&", b); putms(line + 1, b); break; } case '.':{ /* hide leading . from ms */ fputs("\\&", b); putms(line + 1, b); break; } default:{ if (line[0] == '\n') putms(line, b); /* handle totally blank line */ else putms(line + 1, b); break; } break; } break; } default:{ if (isdigit((int)line[0])) { /* start of section */ if (!intable) /* ignore while in table */ section(line, b); } else fprintf(stderr, "unknown control code '%c' in column 1\n", line[0]); break; } } } /* process a line with a digit control char */ /* starts a new [sub]section */ void section(line, b) char *line; FILE *b; { static char string[MAX_LINE_LEN+1]; int sh_i; static int old = 1; (void) sscanf(line, "%d %[^\n]s", &sh_i, string); (void) fprintf(b, ".sp %d\n", (sh_i == 1) ? LINE_SKIP : LINE_SKIP - 1); if (sh_i > old) { do if (old != 1) /* this line added by rjl */ (void) fputs(".RS\n.IP\n", b); while (++old < sh_i); } else if (sh_i < old) { do if (sh_i != 1) /* this line added by rjl */ (void) fputs(".RE\n.br\n", b); while (--old > sh_i); } /* added by dfk to capitalize section headers */ if (islower((int)string[0])) string[0] = toupper(string[0]); /* next 3 lines added by rjl */ if (sh_i != 1) (void) fprintf(b, ".NH %d\n%s\n.sp 1\n.LP\n", sh_i - 1, string); else (void) fprintf(b, ".NH %d\n%s\n.sp 1\n.LP\n", sh_i, string); old = sh_i; (void) fputs(".XS\n", b); (void) fputs(string, b); (void) fputs("\n.XE\n", b); } void putms(s, file) char *s; FILE *file; { static boolean inquote = FALSE; while (*s != NUL) { switch (*s) { case '`':{ /* backquote -> boldface */ if (inquote) { fputs("\\fR", file); inquote = FALSE; } else { fputs("\\fB", file); inquote = TRUE; } break; } case '\\':{ /* backslash */ fputs("\\\\", file); break; } case '\'':{ /* single quote */ fputs("\\&'", file); break; } default:{ fputc(*s, file); break; } } s++; } } /* * convert a verbatim line to troff input style, i.e. convert "\" to "\\" * (added by Alexander Lehmann 01/30/93) */ void putms_verb(s, file) char *s; FILE *file; { while (*s != '\0') { if (*s == '\\') { fputc('\\', file); } fputc(*s, file); s++; } } void finish(b) /* spit out table of contents */ FILE *b; { (void) fputs(".pn 1\n", b); (void) fputs(".ds RH %\n", b); (void) fputs(".af % i\n", b); (void) fputs(".bp\n.PX\n", b); } gnuplot-3.7.3/docs/doc2rnh.c100644 1200 17 21543 6625256617 15064 0ustar lheckingusers#ifndef lint static char *RCSid = "$Id: doc2rnh.c,v 1.7 2025/11/20 12:16:15 lhecking Exp $"; #endif /* GNUPLOT - doc2rnh.c */ /*[ * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley * * Permission to use, copy, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. * * Permission to modify the software is granted, but not the right to * distribute the complete modified source code. Modifications are to * be distributed as patches to the released version. Permission to * distribute binaries produced by compiling modified sources is granted, * provided you * 1. distribute the corresponding source modifications from the * released version in the form of a patch file along with the binaries, * 2. add special version identification to distinguish your version * in addition to the base release version number, * 3. provide your name and address as the primary contact for the * support of your modified version, and * 4. retain our contact information in regard to use of the base * software. * Permission to distribute the released version of the source code along * with corresponding source modifications in the form of a patch file is * granted with same provisions 2 through 4 for binary distributions. * * This software is provided "as is" without express or implied warranty * to the extent permitted by applicable law. ]*/ /* * doc2rnh.c -- program to convert Gnuplot .DOC format to * Digital Standard Runoff for VMS HELP files * (gnuplot.doc, including the terminal documentation * is no longer formated for VMS HELP by default) * * From hlp2ms by Thomas Williams * * Modified by Russell Lang, 2nd October 1989 * to make vms help level 1 and 2 create the same ms section level. * * Modified to become doc2ms by David Kotz (David.Kotz@Dartmouth.edu) 12/89 * Added table and backquote support. * * Adapted from doc2ms.c (the unix 'runoff' text-processor) * by Lucas Hart 3/97 * * right margin is adjusted two spaces for each level to compensate * for the indentation by VMS HELP * * the page width can be adjusted by changing the value of DSR_RM * usage: $ MCR []doc2rnh gnuplot.doc gnuplot.rnh * $ RUNOFF gnuplot.rnh * * */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include "ansichek.h" #include "stdfn.h" #include "doc2x.h" extern boolean single_top_level; #define LINE_SKIP 3 #define DSR_RM 70 void init __PROTO((FILE *)); void convert __PROTO((FILE *, FILE *)); void process_line __PROTO((char *, FILE *)); void section __PROTO((char *, FILE *)); void putrnh __PROTO((char *, FILE *)); void putrnh_ __PROTO((char *, FILE *)); void finish __PROTO((FILE *)); static boolean intable = FALSE; static boolean rnh_table = FALSE; static boolean initial_entry = FALSE; int main(argc, argv) int argc; char **argv; { FILE *infile; FILE *outfile; infile = stdin; outfile = stdout; single_top_level = TRUE; if (argc > 3) { fprintf(stderr, "Usage: %s [infile [outfile]]\n", argv[0]); exit(EXIT_FAILURE); } if (argc >= 2) { if ((infile = fopen(argv[1], "r")) == (FILE *) NULL) { fprintf(stderr, "%s: Can't open %s for reading\n", argv[0], argv[1]); exit(EXIT_SUCCESS); } } if (argc == 3) { if ((outfile = fopen(argv[2], "w")) == (FILE *) NULL) { fprintf(stderr, "%s: Can't open %s for writing\n", argv[0], argv[2]); exit(EXIT_FAILURE); } } init(outfile); convert(infile, outfile); finish(outfile); exit(EXIT_SUCCESS); } void init(b) FILE *b; { /* */ (void) fputs(".no paging\n\ .no flags all\n\ .left margin 1\n\ .right margin 70\n\ .no justify\n", b); } void convert(a, b) FILE *a, *b; { static char line[MAX_LINE_LEN+1]; while (get_line(line, sizeof(line), a)) { process_line(line, b); } } void process_line(line, b) char *line; FILE *b; { switch (line[0]) { /* control character */ case '?':{ /* interactive help entry */ break; /* ignore */ } case '@':{ /* start/end table */ if (rnh_table) { (void) fputs(".end literal\n", b); rnh_table = FALSE; intable = FALSE; } else { /* (void) fputs(".literal\n",b); */ intable = TRUE; rnh_table = FALSE; initial_entry = TRUE; } /* ignore rest of line */ break; } case '^':{ /* html table entry */ break; /* ignore */ } case '#':{ /* latex table entry */ break; /* ignore */ } case '%':{ /* troff table entry */ break; /* ignore */ } #if 0 /* 'C' is taken care of by termdoc.c */ case 'C':{ /* new Comment designator */ break; /* ignore */ } #endif case '\n': /* empty text line */ case ' ':{ /* normal text line */ /* most tables are simple; no flags means no protected characters * other than period (command indicator) in first column * * However, for ease of maintainence, two tables have sublevels * and descriptions, corresponding to the printed table entries, * encapsulated by the table markers. Therefore we need to * do some more work. * * Doc2hlp just ignores the table headings and treats * lower levels irrespectively, but we need to break * the level designators out of the table format. * * The first entry in a table will have either * - a level number in the first column => remainder of text in * table is help text * - spaces in the first two columns => rest of text is literal * to be placed in table format * */ /* use the "cleartext" table or other text in tables */ /* if (intable) { /* its already literal */ if (rnh_table) { /* its a literal */ putrnh(line + 1, b); break; } switch (line[1]) { case ' ':{ if ((intable) && (initial_entry)) { rnh_table = TRUE; initial_entry = FALSE; fputs(".literal\n", b); putrnh(line + 1, b); break; } /* verbatim mode */ fputs(".literal\n", b); putrnh(line + 1, b); fputs(".end literal\n", b); break; } /* * "." in first column is the DSR command character; * therefore, include the preceeding " " */ case '.':{ putrnh(line, b); break; } default:{ if (line[0] == '\n') fputs(".skip\n", b); /* totally blank line */ else putrnh(line + 1, b); break; } break; } break; } default:{ if (isdigit((int) line[0])) { /* start of section */ /* some HELP text is surrounded by table flags */ /* doc2rnh will ignore the flags */ if (intable) { if (initial_entry) { initial_entry = FALSE; rnh_table = FALSE; } } section(line, b); } else fprintf(stderr, "unknown control code '%c' in column 1\n", line[0]); break; } } } /* process a line with a digit control char */ /* starts a new [sub]section */ /* We want to retain section number, so its simpler than w/ TeX or roff */ void section(line, b) char *line; FILE *b; { int sh_i; static int old = 1; /* (void) sscanf(line,"%d",&sh_i); * * check to make sure this works with terminals also */ sh_i = atoi(line); if (sh_i > old) { do if (old != 1) /* this line added by rjl */ (void) fputs(".rm-2\n", b); while (++old < sh_i); } else if (sh_i < old) { do if (sh_i != 1) /* this line added by rjl */ (void) fputs(".rm+2\n", b); while (--old > sh_i); } /* added by dfk to capitalize section headers */ /* Header name starts at [2] */ /* omit for online documentation * if (islower(line[2])) * line[2] = toupper(line[2]); */ old = sh_i; (void) fputs(".indent -1;\n", b); (void) putrnh_(line, b); (void) fputs(".br;\n", b); } /* * dummy function in case we need to convert some characters in * output string ala doc2tex and doc2ms */ void putrnh(s, file) char *s; FILE *file; { (void) fputs(s, file); } /* * LBR$OUTPUT_HELP treats spaces and "/"s as list separators for topics, * but they are used in gnuplot.doc for the printed docs; convert to * "_" and "|" Modeled after section heading conversions in doc2tex * and doc2ms. * */ void putrnh_(s, file) char *s; FILE *file; { int i, s_len, last_chr; s_len = strlen(s); for (i = s_len - 1; i > 2; i--) { /* any trailing spaces to drop? */ if (s[i] != ' ') { last_chr = i; break; } } for (i = 0; i <= last_chr; i++) { if (i > 2) { switch (s[i]) { case ' ': (void) fputc('_', file); break; case '/': (void) fputc('|', file); break; default: (void) fputc(s[i], file); } } else { (void) fputc(s[i], file); } } } void finish(b) /* not used */ FILE *b; { return; } gnuplot-3.7.3/docs/doc2rtf.c100644 1200 17 17710 6612636004 15055 0ustar lheckingusers/* * $Id: doc2rtf.c,v 1.6 2025/10/19 13:17:56 lhecking Exp $ * */ /* GNUPLOT - doc2rtf.c */ /*[ * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley * * Permission to use, copy, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. * * Permission to modify the software is granted, but not the right to * distribute the complete modified source code. Modifications are to * be distributed as patches to the released version. Permission to * distribute binaries produced by compiling modified sources is granted, * provided you * 1. distribute the corresponding source modifications from the * released version in the form of a patch file along with the binaries, * 2. add special version identification to distinguish your version * in addition to the base release version number, * 3. provide your name and address as the primary contact for the * support of your modified version, and * 4. retain our contact information in regard to use of the base * software. * Permission to distribute the released version of the source code along * with corresponding source modifications in the form of a patch file is * granted with same provisions 2 through 4 for binary distributions. * * This software is provided "as is" without express or implied warranty * to the extent permitted by applicable law. ]*/ /* * doc2rtf.c -- program to convert Gnuplot .DOC format to MS windows * help (.rtf) format. * * This involves stripping all lines with a leading digit or * a leading @, #, or %. * Modified by Maurice Castro from doc2gih.c by Thomas Williams * * usage: doc2rtf file.doc file.rtf [-d] * */ /* note that tables must begin in at least the second column to */ /* be formatted correctly and tabs are forbidden */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "ansichek.h" #include "stdfn.h" #define MAX_LINE_LEN 1023 #include "doc2x.h" #include "xref.h" static boolean debug = FALSE; void footnote __PROTO((int, char *, FILE *)); void convert __PROTO((FILE *, FILE *)); void process_line __PROTO((char *, FILE *)); int main(argc, argv) int argc; char **argv; { FILE *infile; FILE *outfile; if (argc == 4 && argv[3][0] == '-' && argv[3][1] == 'd') debug = TRUE; if (argc != 3 && !debug) { fprintf(stderr, "Usage: %s infile outfile\n", argv[0]); exit(EXIT_FAILURE); } if ((infile = fopen(argv[1], "r")) == (FILE *) NULL) { fprintf(stderr, "%s: Can't open %s for reading\n", argv[0], argv[1]); exit(EXIT_FAILURE); } if ((outfile = fopen(argv[2], "w")) == (FILE *) NULL) { fprintf(stderr, "%s: Can't open %s for writing\n", argv[0], argv[2]); exit(EXIT_FAILURE); } parse(infile); convert(infile, outfile); exit(EXIT_SUCCESS); } /* generate an RTF footnote with reference char c and text s */ void footnote(c, s, b) int c; char *s; FILE *b; { fprintf(b, "%c{\\footnote %c %s}\n", c, c, s); } void convert(a, b) FILE *a, *b; { static char line[MAX_LINE_LEN+1]; /* generate rtf header */ fprintf(b, "{\\rtf1\\ansi "); /* vers 1 rtf, ansi char set */ fprintf(b, "\\deff0"); /* default font font 0 */ /* font table: font 0 proportional, font 1 fixed */ fprintf(b, "{\\fonttbl{\\f0\\fswiss Arial;}{\\f1\\fmodern Courier New;}}\n"); /* process each line of the file */ while (get_line(line, sizeof(line), a)) { process_line(line, b); } /* close final page and generate trailer */ fprintf(b, "}{\\plain \\page}\n"); /* fprintf(b,"}\n"); *//* HBB: HACK ALERT: only without this, hc31 works */ list_free(); } void process_line(line, b) char *line; FILE *b; { static int line_count = 0; static char line2[MAX_LINE_LEN+1]; static int last_line; int i; int j; static int startpage = 1; char str[MAX_LINE_LEN+1]; char topic[MAX_LINE_LEN+1]; int k, l; static int tabl = 0; static int para = 0; static int llpara = 0; static int inquote = FALSE; static int inref = FALSE; struct LIST *klist; line_count++; i = 0; j = 0; while (line[i] != NUL) { switch (line[i]) { case '\\': case '{': case '}': line2[j] = '\\'; j++; line2[j] = line[i]; break; case '\r': case '\n': break; case '`': /* backquotes mean boldface or link */ if (line[1] == ' ') /* tabular line */ line2[j] = line[i]; else if ((!inref) && (!inquote)) { k = i + 1; /* index into current string */ l = 0; /* index into topic string */ while ((line[k] != '`') && (line[k] != NUL)) topic[l++] = line[k++]; topic[l] = NUL; klist = lookup(topic); if (klist && (k = klist->line) > 0 && (k != last_line)) { line2[j++] = '{'; line2[j++] = '\\'; line2[j++] = 'u'; line2[j++] = 'l'; line2[j++] = 'd'; line2[j++] = 'b'; line2[j] = ' '; inref = k; } else { if (debug) fprintf(stderr, "Can't make link for \042%s\042 on line %d\n", topic, line_count); line2[j++] = '{'; line2[j++] = '\\'; line2[j++] = 'b'; line2[j] = ' '; inquote = TRUE; } } else { if (inquote && inref) fprintf(stderr, "Warning: Reference Quote conflict line %d\n", line_count); if (inquote) { line2[j] = '}'; inquote = FALSE; } if (inref) { /* must be inref */ sprintf(topic, "%d", inref); line2[j++] = '}'; line2[j++] = '{'; line2[j++] = '\\'; line2[j++] = 'v'; line2[j++] = ' '; line2[j++] = 'l'; line2[j++] = 'o'; line2[j++] = 'c'; k = 0; while (topic[k] != NUL) line2[j++] = topic[k++]; line2[j] = '}'; inref = 0; } } break; default: line2[j] = line[i]; } i++; j++; line2[j] = NUL; } i = 1; switch (line[0]) { /* control character */ case '?':{ /* interactive help entry */ if ((line2[1] != NUL) && (line2[1] != ' ')) footnote('K', &(line2[1]), b); break; } case '@':{ /* start/end table */ break; /* ignore */ } case '^':{ /* html link escape */ break; /* ignore */ } case '#':{ /* latex table entry */ break; /* ignore */ } case '%':{ /* troff table entry */ break; /* ignore */ } case '\n': /* empty text line */ fprintf(b, "\\par\n"); llpara = para; para = 0; tabl = 0; break; case ' ':{ /* normal text line */ if ((line2[1] == NUL) || (line2[1] == '\n')) { fprintf(b, "\\par\n"); llpara = para; para = 0; tabl = 0; } if (line2[1] == ' ') { if (!tabl) { fprintf(b, "\\par\n"); } fprintf(b, "{\\pard \\plain \\f1\\fs20 "); fprintf(b, "%s", &line2[1]); fprintf(b, "}\\par\n"); llpara = 0; para = 0; tabl = 1; } else { if (!para) { if (llpara) fprintf(b, "\\par\n"); /* blank line between paragraphs */ llpara = 0; para = 1; /* not in para so start one */ tabl = 0; fprintf(b, "\\pard \\plain \\qj \\fs20 \\f0 "); } fprintf(b, "%s \n", &line2[1]); } break; } default:{ if (isdigit((int)line[0])) { /* start of section */ if (startpage) { /* use new level 0 item */ refs(0, b, "\\par", NULL, "\\par{\\uldb %s}{\\v loc%d}\n"); fprintf(b, "}{\\plain \\page}\n"); } else { refs(last_line, b, "\\par", NULL, "\\par{\\uldb %s}{\\v loc%d}\n"); fprintf(b, "}{\\plain \\page}\n"); } para = 0; /* not in a paragraph */ tabl = 0; last_line = line_count; startpage = 0; fprintf(b, "{\n"); sprintf(str, "browse:%05d", line_count); footnote('+', str, b); footnote('$', &(line2[1]), b); /* title */ fprintf(b, "{\\b \\fs24 %s}\\plain\\par\\par\n", &(line2[1])); /* output unique ID */ sprintf(str, "loc%d", line_count); footnote('#', str, b); } else fprintf(stderr, "unknown control code '%c' in column 1, line %d\n", line[0], line_count); break; } } } gnuplot-3.7.3/docs/doc2tex.c100644 1200 17 17745 6612636015 15074 0ustar lheckingusers/* * $Id: doc2tex.c,v 1.8 2025/10/19 13:18:05 lhecking Exp $ * */ /* GNUPLOT - doc2tex.c */ /*[ * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley * * Permission to use, copy, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. * * Permission to modify the software is granted, but not the right to * distribute the complete modified source code. Modifications are to * be distributed as patches to the released version. Permission to * distribute binaries produced by compiling modified sources is granted, * provided you * 1. distribute the corresponding source modifications from the * released version in the form of a patch file along with the binaries, * 2. add special version identification to distinguish your version * in addition to the base release version number, * 3. provide your name and address as the primary contact for the * support of your modified version, and * 4. retain our contact information in regard to use of the base * software. * Permission to distribute the released version of the source code along * with corresponding source modifications in the form of a patch file is * granted with same provisions 2 through 4 for binary distributions. * * This software is provided "as is" without express or implied warranty * to the extent permitted by applicable law. ]*/ /* * doc2tex.c -- program to convert Gnuplot .DOC format to LaTeX document * Also will work for VMS .HLP files. * Modified by Russell Lang from hlp2ms.c by Thomas Williams * Extended by David Kotz to support quotes ("), backquotes, tables. * Extended by Jens Emmerich to handle '_', '---', paired single * quotes. Changed "-handling. Added pre/post-verbatim hooks. * * * usage: doc2tex [file.doc [file.tex]] * * where file.doc is a Gnuplot .DOC file, and file.tex will be an * article document suitable for printing with LaTeX. * * typical usage for GNUPLOT: * * doc2tex gnuplot.doc gnuplot.tex * latex gnuplot.tex ; latex gnuplot.tex */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include "ansichek.h" #include "stdfn.h" #include "doc2x.h" void init __PROTO((FILE *)); void convert __PROTO((FILE *, FILE *)); void process_line __PROTO((char *, FILE *)); void section __PROTO((char *, FILE *)); void puttex __PROTO((char *, FILE *)); void finish __PROTO((FILE *)); static boolean intable = FALSE; static boolean verb = FALSE; int main(argc, argv) int argc; char **argv; { FILE *infile; FILE *outfile; infile = stdin; outfile = stdout; if (argc > 3) { fprintf(stderr, "Usage: %s [infile [outfile]]\n", argv[0]); exit(EXIT_FAILURE); } if (argc >= 2) { if ((infile = fopen(argv[1], "r")) == (FILE *) NULL) { fprintf(stderr, "%s: Can't open %s for reading\n", argv[0], argv[1]); exit(EXIT_FAILURE); } } if (argc == 3) { if ((outfile = fopen(argv[2], "w")) == (FILE *) NULL) { fprintf(stderr, "%s: Can't open %s for writing\n", argv[0], argv[2]); exit(EXIT_FAILURE); } } init(outfile); convert(infile, outfile); finish(outfile); exit(EXIT_SUCCESS); } void init(b) FILE *b; { (void) fputs("\\input{titlepag.tex}\n", b); } void convert(a, b) FILE *a, *b; { static char line[MAX_LINE_LEN+1]; while (get_line(line, sizeof(line), a)) process_line(line, b); } void process_line(line, b) char *line; FILE *b; { switch (line[0]) { /* control character */ case '?':{ /* interactive help entry */ break; /* ignore */ } case '@':{ /* start/end table */ if (intable) { (void) fputs("\\hline\n\\end{tabular}\n", b); (void) fputs("\\end{center}\n", b); intable = FALSE; } else { if (verb) { (void) fputs("\\end{verbatim}\n", b); (void) fputs("\\postverbatim\n", b); verb = FALSE; } (void) fputs("\n\\begin{center}\n", b); /* moved to gnuplot.doc by RCC (void) fputs("\\begin{tabular}{|ccl|} \\hline\n", b); */ intable = TRUE; } /* ignore rest of line */ break; } case '#':{ /* latex table entry */ if (intable) (void) fputs(line + 1, b); /* copy directly */ else { fprintf(stderr, "warning: # line found outside of table\n"); fprintf(stderr, "%s\n", line + 1); } break; } case '^':{ /* external link escape */ break; /* ignore */ } case '%':{ /* troff table entry */ break; /* ignore */ } case '\n': /* empty text line */ case ' ':{ /* normal text line */ if (intable) break; /* ignore while in table */ if (line[1] == ' ') { /* verbatim mode */ if (!verb) { (void) fputs("\\preverbatim\n", b); (void) fputs("\\begin{verbatim}\n", b); verb = TRUE; } (void) fputs(line + 2, b); } else { if (verb) { (void) fputs("\\end{verbatim}\n", b); (void) fputs("\\postverbatim\n", b); verb = FALSE; } if (line[0] == '\n') puttex(line, b); /* handle totally blank line */ else puttex(line + 1, b); } break; } default:{ if (isdigit((int) line[0])) { /* start of section */ if (!intable) /* ignore while in table */ section(line, b); } else fprintf(stderr, "unknown control code '%c' in column 1\n", line[0]); break; } } } /* process a line with a digit control char */ /* starts a new [sub]section */ void section(line, b) char *line; FILE *b; { static char string[MAX_LINE_LEN+1]; int sh_i; if (verb) { (void) fputs("\\end{verbatim}\n", b); (void) fputs("\\postverbatim\n", b); verb = FALSE; } (void) sscanf(line, "%d %[^\n]s", &sh_i, string); switch (sh_i) { case 1: (void) fprintf(b, "\\part{"); break; case 2: (void) fprintf(b, "\\section{"); break; case 3: (void) fprintf(b, "\\subsection{"); break; case 4: (void) fprintf(b, "\\subsubsection{"); break; case 5: (void) fprintf(b, "\\subsubsubsection{"); break; default: case 6: (void) fprintf(b, "\\paragraph{"); break; } if (islower((int) string[0])) string[0] = toupper(string[0]); puttex(string, b); (void) fprintf(b, "}\n"); } /* put text in string str to file while buffering special TeX characters */ void puttex(str, file) FILE *file; register char *str; { register char ch; static boolean inquote = FALSE; int i; while ((ch = *str++) != NUL) { switch (ch) { case '#': case '$': case '%': case '&': case '{': case '}': (void) fputc('\\', file); (void) fputc(ch, file); break; case '\\': (void) fputs("$\\backslash$", file); break; case '~': (void) fputs("\\~{\\ }", file); break; case '^': (void) fputs("\\verb+^+", file); break; case '>': case '<': case '|': (void) fputc('$', file); (void) fputc(ch, file); (void) fputc('$', file); break; case '"': (void) fputs("{\\tt\"}", file); break; case '\'': if (*str == '\'') { (void) fputs("{'\\,'}", file); str++; } else { (void) fputc(ch, file); } break; case '-': if ((*str == '-') && (*(str + 1) == '-')) { (void) fputs(" --- ", file); str += 2; } else { (void) fputc(ch, file); } break; case '`': /* backquotes mean boldface */ if (inquote) { (void) fputs("}", file); inquote = FALSE; } else { (void) fputs("{\\bf ", file); inquote = TRUE; } break; case '_': /* emphasised text ? */ for (i = 0; isalpha((int) (*(str + i))); i++); if ((i > 0) && (*(str + i) == '_') && isspace((int) (*(str + i + 1)))) { (void) fputs("{\\em ", file); for (; *str != '_'; str++) { (void) fputc(*str, file); } str++; (void) fputs("\\/}", file); } else { (void) fputs("{\\tt\\_}", file); } break; default: (void) fputc(ch, file); break; } } } void finish(b) FILE *b; { (void) fputs("\\end{document}\n", b); } gnuplot-3.7.3/docs/doc2texi.el100644 1200 17 63567 7006031175 15420 0ustar lheckingusers;;;; doc2texi.el -- generate a texinfo file from the gnuplot doc file ;; Copyright (C) 1999 Bruce Ravel ;; Author: Bruce Ravel ;; Maintainer: Bruce Ravel ;; Created: March 23 1999 ;; Updated: May 28 1999 ;; Version: 0.2 ;; Keywords: gnuplot, document, info ;; This file is not part of GNU Emacs. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; This lisp script 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. ;; ;; Permission is granted to distribute copies of this lisp script ;; provided the copyright notice and this permission are preserved in ;; all copies. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; send bug reports to the author (ravel@phys.washington.edu) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Commentary: ;; ;; I suppose the most immediate question to ask is "Why do this in ;; emacs lisp???" While it is true that the gnuplot.doc file lends ;; itself to processing by a 1 pass filter, there are some aspects of ;; texinfo files that are a bit tricky and would require 2 or perhaps ;; three passes. Specifically, getting all of the cross references ;; made correctly is a lot of work. Fortunately, texinfo-mode has ;; functions for building menus and updating nodes. This saves a lot ;; of sweat and is the principle reason why I decided to write this is ;; emacs lisp. ;; ;; Everything else in gnuplot is written in C for the sake of ;; portability. Emacs lisp, of course, requires that you have emacs. ;; For many gnuplot users, that is not a good assumption. However, ;; the likelihood of needing info files in the absence of emacs is ;; very, very slim. I think it is safe to say that someone who needs ;; info files has emacs installed and thus will be able to use this ;; program. ;; ;; Since this is emacs, I am not treating the gnuplot.doc file as a ;; text stream. It seems much more efficient in this context to treat ;; it as a buffer. All of the work is done by the function ;; `d2t-doc-to-texi'. Each of the conversion chores is handled by an ;; individual function. Each of thse functions is very similar in ;; structure. They start at the top of the buffer, search forward for ;; a line matching the text element being converted, perform the ;; replacement in place, and move on until the end of the buffer. ;; These text manipulations are actually quite speedy. The slow part ;; of the process is using the texinfo-mode function to update the ;; nodes and menus. However, using these slow functions has one ;; advantage -- the texinfo-mode functions for doing menus and nodes ;; are certain to do the job correctly. Although rather slow, this ;; approach doesn't totally suck compared to the time cost of ;; compiling and running a C program. And the output from this is ;; much more useful than the output from the doc2info program. ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Use: ;; ;; Customize the variables at the start of the executable code. Then ;; I intend that this be used from the command line or from a Makefile ;; like so: ;; ;; emacs -batch -l doc2texi.el -f d2t-doc-to-texi ;; ;; or ;; ;; emacs -batch -l doc2texi.el -f d2t-doc-to-texi-verbosely ;; ;; This will start emacs in batch mode, load this file, run the ;; converter, then quit. This takes about 30 seconds my 133 MHz ;; Pentium. It also sends a large number of mesages to stderr, so you ;; may want to redirect stderr to /dev/null or to a file. ;; ;; Then you can do ;; ;; makeinfo gnuplot.info ;; ;; You may want to use the --no-split option. ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; History: ;; ;; 0.1 Mar 23 1999
Initial version ;; 0.2 May 28 1999
;; 0.3 Jun 2 1999
Added terminal information, fixed uref problem. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Acknowledgements: ;; ;; Lars Hecking asked me to look into the doc -> info problem. Silly ;; me, I said "ok." This is what I came up with. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; To do: ;; ;; -- internal cross-references: these are not perfect due to ;; inconsistencies in the use of `` and case inconsistencies in ;; the text. The latter can be fixed. Also I need a way to not ;; make the @ref if point is currently in that region. ;; -- catch errors gracefully, particularly when looking for files. ;; -- are guesses about OS specific terminal information correct? ;; -- turn the lists in the "What's New" and "xlabel" sections into ;; proper lists. "^\\([0-9]\\)+\." finds the list items. If ;; (match-string 1) is "1" then insert "@enumerate\n@item\n", else ;; insert "@item\n". also use (replace-match ""). need to find ;; the end somehow. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Code: ;;; You may need to customize these variables: (defvar d2t-doc-file-name "gnuplot.doc" "Name of the gnuplot.doc file.") (defvar d2t-terminal-directory (expand-file-name "../term/") "Location of .trm files in gnuplot source tree.") ;;; You should not need to touch anything below here ;;;;;;;;;;;;;;;;;;;;; (require 'cl) (eval-and-compile ; need split-string to do xrefs (if (fboundp 'split-string) () (defun split-string (string &optional pattern) "Return a list of substrings of STRING which are separated by PATTERN. If PATTERN is omitted, it defaults to \"[ \\f\\t\\n\\r\\v]+\"." (or pattern (setq pattern "[ \f\t\n\r\v]+")) (let (parts (start 0)) (while (string-match pattern string start) (setq parts (cons (substring string start (match-beginning 0)) parts) start (match-end 0))) (nreverse (cons (substring string start) parts)))) )) (defconst d2t-work-buffer-name "*doc2texi*" "Name of scratch buffer where the doc file will be converted into a texi file.") (defconst d2t-scratch-buffer-name "*doc2texi-output*") (defconst d2t-terminal-buffer-name "*doc2texi-terminal*") (defvar d2t-verbose nil) (defconst d2t-texi-filename "gnuplot.texi") (defconst d2t-texi-header "\\input texinfo @c -*-texinfo-*- @c %**start of header @setfilename gnuplot.info @settitle Gnuplot: An Interactive Plotting Program @setchapternewpage odd @c %**end of header @c define the command and options indeces @defindex cm @defindex op @defindex tm @direntry * GNUPLOT: (gnuplot). An Interactive Plotting Program @end direntry @ifnottex @node Top, gnuplot, (dir), (dir) @top Master Menu @end ifnottex @example GNUPLOT An Interactive Plotting Program Thomas Williams & Colin Kelley Version 3.7 organized by: David Denholm Copyright (C) 1986 - 1993, 1998 Thomas Williams, Colin Kelley Mailing list for comments: info-gnuplot@@dartmouth.edu Mailing list for bug reports: bug-gnuplot@@dartmouth.edu This manual was prepared by Dick Crawford 3 December 2025 Major contributors (alphabetic order): @end example " "Texinfo header.") (defconst d2t-main-menu "@menu @end menu" "Main menu.") (defconst d2t-texi-footer "@node Concept_Index, Command_Index, Bugs, Top @unnumbered Concept Index @printindex cp @node Command_Index, Option_Index, Concept_Index, Top @unnumbered Command Index @printindex cm @node Options_Index, Function_Index, Command_Index, Top @unnumbered Options Index @printindex op @node Function_Index, Terminal_Index, Options_Index, Top @unnumbered Function Index @printindex fn @node Terminal_Index, , Options_Index, Top @unnumbered Terminal Index @printindex tm @c @shortcontents @contents @bye " "Texinfo file terminator.") (defvar d2t-level-1-alist nil "Alist of level 1 tags and markers.") (defvar d2t-level-2-alist nil "Alist of level 2 tags and markers.") (defvar d2t-level-3-alist nil "Alist of level 3 tags and markers.") (defvar d2t-level-4-alist nil "Alist of level 4 tags and markers.") (defvar d2t-level-5-alist nil "Alist of level 5 tags and markers.") (defvar d2t-commands-alist nil "Alist of commands and markers.") (defvar d2t-set-show-alist nil "Alist of options and markers.") (defvar d2t-functions-alist nil "Alist of functions and markers.") (defvar d2t-terminals-alist nil "Alist of terminal types and markers.") (defvar d2t-node-list nil "List of nodes.") (defvar d2t-terminal-list ()) (setq d2t-terminal-list '("ai" "cgm" "corel" "dumb" "dxf" "eepic" "epson" "fig" "gif" "hp26" "hp2648" "hp500c" "hpgl" "hpljii" "hppj" "imagen" "latex" "metafont" "mif" "pbm" "png" "post" "pslatex" "pstricks" "qms" "table" "tek" "texdraw" "tkcanvas" "tpic")) (defun d2t-doc-to-texi-verbosely () "Run `d2t-doc-to-texi' noisily" (interactive) (setq d2t-verbose t) (d2t-doc-to-texi)) (defun d2t-doc-to-texi () "This is the doc to texi converter function. It calls a bunch of other functions, each of which handles one particular conversion chore." (interactive) (setq d2t-level-1-alist nil ;; initialize variables d2t-level-2-alist nil d2t-level-3-alist nil d2t-level-4-alist nil d2t-level-5-alist nil d2t-commands-alist nil d2t-set-show-alist nil d2t-functions-alist nil d2t-terminals-alist nil d2t-node-list nil) ;; open the doc file and get some data about its contents (d2t-prepare-workspace) (message "Inserting help for terminals ...") (d2t-get-terminals) (message "Analyzing doc file ...") (d2t-get-levels) (d2t-get-commands) (d2t-get-set-show) (d2t-get-functions) ;; convert the buffer from doc to texi, one element at a time (message "Converting to texinfo ...") (d2t-braces-atsigns) ;; this must be the first conversion function (d2t-comments) ;; delete comments (d2t-sectioning) ;; chapters, sections, etc (d2t-indexing) ;; index markup (d2t-tables) ;; fix up tables (d2t-handle-html) ;; fix up html markup (d2t-first-column) ;; left justify normal text (d2t-enclose-examples) ;; turn indented text into @examples (message "Menus, nodes, xrefs ...") (d2t-make-refs) ;(d2t-make-menus) ;(d2t-set-nodes) (save-excursion ;; fix a few more things explicitly (goto-char (point-min)) (insert d2t-texi-header) (search-forward "@node") ;; (beginning-of-line) ;; (insert "\n\n" d2t-main-menu "\n\n") (search-forward "@node Old_bugs") ; `texinfo-all-menus-update' seems (beginning-of-line) ; to miss this one. how odd. (insert "@menu\n* Old_bugs::\t\t\t\n@end menu\n\n") (goto-char (point-max)) (insert d2t-texi-footer)) (load-library "texinfo") ;; now do the hard stuff with texinfo-mode (texinfo-mode) (let ((message-log-max 0) (standard-output (get-buffer-create d2t-scratch-buffer-name))) (message "Making texinfo nodes ...\n") (texinfo-every-node-update) (message "Making texinfo menus ...\n") (texinfo-all-menus-update)) (write-file d2t-texi-filename) ) ; save it and done! (defun d2t-prepare-workspace () "Create a scratch buffer and populate it with gnuplot.doc." (and d2t-verbose (message " Doing d2t-prepare-workspace ...")) (if (get-buffer d2t-work-buffer-name) (kill-buffer d2t-work-buffer-name)) (if (get-buffer d2t-texi-filename) (kill-buffer d2t-texi-filename)) (if (get-buffer d2t-terminal-buffer-name) (kill-buffer d2t-terminal-buffer-name)) (get-buffer-create d2t-terminal-buffer-name) (set-buffer (get-buffer-create d2t-work-buffer-name)) (insert-file-contents d2t-doc-file-name) (goto-char (point-min))) (defun d2t-get-terminals () "Insert all appropriate terminal help." (let ((case-fold-search t)) (if (string-match "linux" system-configuration) (setq d2t-terminal-list (append d2t-terminal-list '("linux")))) (if (string-match "amiga" system-configuration) (setq d2t-terminal-list (append d2t-terminal-list '("amiga")))) (if (string-match "atari" system-configuration) (setq d2t-terminal-list (append d2t-terminal-list '("atarivdi" "multitos" "atariaes")))) (if (string-match "mac" system-configuration) (setq d2t-terminal-list (append d2t-terminal-list '("mac")))) (if (string-match "beos" system-configuration) (setq d2t-terminal-list (append d2t-terminal-list '("be")))) (if (string-match "dos" system-configuration) (setq d2t-terminal-list (append d2t-terminal-list '("emxvga" "djsvga" "fg" "pc")))) (if (string-match "windows" (format "%s" system-type)) (setq d2t-terminal-list (append d2t-terminal-list '("win")))) (if (string-match "next" system-configuration) (setq d2t-terminal-list (append d2t-terminal-list '("next")))) (if (string-match "os2" system-configuration) (setq d2t-terminal-list (append d2t-terminal-list '("pm" "emxvga")))) (if (string-match "irix" system-configuration) (setq d2t-terminal-list (append d2t-terminal-list '("iris4d")))) (if (string-match "sco" system-configuration) (setq d2t-terminal-list (append d2t-terminal-list '("cgi")))) (if (string-match "sun" system-configuration) (setq d2t-terminal-list (append d2t-terminal-list '("sun")))) (if (string-match "vms" system-configuration) (setq d2t-terminal-list (append d2t-terminal-list '("vws")))) (unless (member* system-configuration '("dos" "windows" "atari" "amiga") :test 'string-match) (setq d2t-terminal-list (append d2t-terminal-list '("x11" "tgif" "gpic" "regis" "t410x" "tex" "xlib")))) ) (setq d2t-terminal-list (sort d2t-terminal-list 'string<)) (let ((list d2t-terminal-list) file node marker) (save-excursion (when (re-search-forward "^<4" (point-max) t) (beginning-of-line) (insert "@c ") (forward-line 1) (while list (and d2t-verbose (message " %s ..." (car list))) (setq file (concat d2t-terminal-directory (car list) ".trm")) (when (file-exists-p file) (set-buffer d2t-terminal-buffer-name) (erase-buffer) (insert-file-contents file) ;; find the terminal help (when (search-forward "START_HELP" (point-max) "to_end") (forward-line 1) (delete-region (point-min) (point-marker)) (search-forward "END_HELP" (point-max) "to_end") (beginning-of-line) (delete-region (point-marker) (point-max)) ;; tidy up the terminal help content (goto-char (point-min)) (while (re-search-forward "\",[ \t]*$" nil t) (replace-match "" nil nil)) (goto-char (point-min)) (while (re-search-forward "^\"" nil t) (replace-match "" nil nil)) (goto-char (point-min)) (while (re-search-forward "\\\\\"" nil t) (replace-match "\"" nil nil)) (goto-char (point-min)) (while (re-search-forward "^1[ \t]+\\(.+\\)$" nil t) (setq node (match-string 1) marker (point-marker)) (replace-match (concat "4 " node) nil nil)) (goto-char (point-min)) (while (re-search-forward "^2" nil t) (replace-match "5 " nil nil)) (goto-char (point-min)) ;; set up terminals index (while (re-search-forward "^\?\\([^ ]+\\)$" nil t) (let ((word (match-string 1))) (unless (string-match "_\\|command-line-options" word) (setq d2t-terminals-alist (append d2t-terminals-alist (list (cons word (point-marker)))))))) ;; and cram it into the doc buffer (set-buffer d2t-work-buffer-name) (insert-buffer-substring d2t-terminal-buffer-name) )) (setq list (cdr list)) ))))) ;;; functions for obtaining lists of nodes in the document (defun d2t-get-levels () "Find positions of all nodes in the doc." (and d2t-verbose (message " Doing d2t-get-levels ...")) (let ((list '("1" "2" "3" "4" "5")) str) (while list (setq str (concat "d2t-level-" (car list) "-alist")) (and d2t-verbose (message " %s ..." str)) (save-excursion (while (not (eobp)) (when (re-search-forward (concat "^" (car list) " \\(.+\\)$") (point-max) "to_end") (beginning-of-line) (set (intern str) (append (eval (intern str)) (list (cons (match-string 1) (point-marker))))) (forward-line 1)))) (setq list (cdr list))))) (defun d2t-get-commands () "Find all commands in the doc." (and d2t-verbose (message " Doing d2t-get-commands ...")) (save-excursion (let ((alist d2t-level-1-alist) start end) (while alist (if (string= (caar alist) "Commands") (setq start (cdar alist) ;; location of "1 Commands" end (cdadr alist) ;; location of next level 1 heading alist nil) (setq alist (cdr alist)))) ;;(message "%S %S" start end) (goto-char start) (while (< (point) end) (when (re-search-forward "^2 \\(.+\\)$" (point-max) "to_end") (beginning-of-line) (unless (> (point) end) (setq d2t-commands-alist (append d2t-commands-alist (list (cons (match-string 1) (point-marker)))))) (forward-line 1))) ))) (defun d2t-get-set-show () "Find all set-show options in the doc." (and d2t-verbose (message " Doing d2t-get-set-show ...")) (save-excursion (let ((alist d2t-commands-alist) start end) (while alist (if (string= (caar alist) "set-show") (setq start (cdar alist) ;; location of "1 set-show" end (cdadr alist) ;; location of next level 2 heading alist nil) (setq alist (cdr alist)))) ;;(message "%S %S" start end) (goto-char start) (while (< (point) end) (when (re-search-forward "^3 \\(.+\\)$" (point-max) "to_end") (beginning-of-line) (unless (> (point) end) (setq d2t-set-show-alist (append d2t-set-show-alist (list (cons (match-string 1) (point-marker)))))) (forward-line 1))) ))) (defun d2t-get-functions () "Find all functions in the doc." (and d2t-verbose (message " Doing d2t-get-functions ...")) (let (begin end) (save-excursion ; determine bounds of functions (when (re-search-forward "^3 Functions" (point-max) "to_end") (beginning-of-line) (setq begin (point-marker)) (forward-line 1) (when (re-search-forward "^3 " (point-max) "to_end") (beginning-of-line) (setq end (point-marker)))) (goto-char begin) (while (< (point) end) (when (re-search-forward "^4 \\(.+\\)$" (point-max) "to_end") (beginning-of-line) (unless (> (point) end) (setq d2t-functions-alist (append d2t-functions-alist (list (cons (match-string 1) (point-marker)))))) (forward-line 1))) ))) ;; buffer manipulation functions ;; this can probably be made faster using a let-scoped alist rather ;; than the big cons block (defun d2t-sectioning () "Find all lines starting with a number. These are chapters, sections, etc. Delete these lines and insert the appropriate sectioning and @node commands." (and d2t-verbose (message " Doing d2t-sectioning ...")) (save-excursion (while (not (eobp)) (re-search-forward "^\\([1-9]\\) +\\(.+\\)$" (point-max) "to_end") (unless (eobp) (let* ((number (match-string 1)) (word (match-string 2)) (node (substitute ?_ ? word :test 'char-equal)) (eol (save-excursion (end-of-line) (point-marker)))) ;; some node names appear twice. make the second one unique. ;; this will fail to work if a third pops up in the future! (if (member* node d2t-node-list :test 'string=) (setq node (concat node "_"))) (setq d2t-node-list (append d2t-node-list (list node))) (beginning-of-line) (delete-region (point-marker) eol) (if (string-match "[1-4]" number) (insert "\n@node " node "\n")) (cond ((string= number "1") (insert "@chapter " word "\n")) ((string= number "2") (insert "@section " word "\n")) ((string= number "3") (insert "@subsection " word "\n")) ((string= number "4") (insert "@subsubsection " word "\n")) (t (insert "\n\n@noindent --- " (upcase word) " ---\n")) ) ))))) (defun d2t-indexing () "Find all lines starting with a question mark. These are index references. Delete these lines and insert the appropriate indexing commands. Only index one word ? entries, comment out the multi-word ? entries." (and d2t-verbose (message " Doing d2t-indexing ...")) (save-excursion (while (not (eobp)) (re-search-forward "^\\\?\\([^ \n]+\\) *$" (point-max) "to_end") (unless (eobp) (let ((word (match-string 1)) (eol (save-excursion (end-of-line) (point-marker)))) (beginning-of-line) (delete-region (point-marker) eol) (insert "@cindex " word "\n") (cond ((assoc word d2t-commands-alist) (insert "@cmindex " word "\n\n")) ((assoc word d2t-set-show-alist) (insert "@opindex " word "\n\n")) ((assoc word d2t-terminals-alist) (insert "@tmindex " word "\n\n")) ((assoc word d2t-functions-alist) (insert "@findex " word "\n\n"))) ))) (goto-char (point-min)) (while (not (eobp)) (re-search-forward "^\\\?" (point-max) "to_end") (unless (eobp) (if (looking-at "functions? \\(tm_\\w+\\)") (progn (beginning-of-line) (insert "@findex " (match-string 1) "\n@c ")) (beginning-of-line) (insert "@c ")))) )) (defun d2t-comments () "Delete comments and lines beginning with # or %. # and % lines are used in converting tables into various formats." (and d2t-verbose (message " Doing d2t-comments ...")) (save-excursion (while (not (eobp)) (re-search-forward "^[C#%]" (point-max) "to_end") (unless (eobp) (let ((eol (save-excursion (end-of-line) (forward-char 1) (point-marker)))) (beginning-of-line) (delete-region (point-marker) eol) ))))) (defun d2t-first-column () "Justify normal text to the 0th column. This must be run before `d2t-enclose-examples'. This is rather slow since there are almost 9000 lines of text." (and d2t-verbose (message " Doing d2t-first-column ...")) (save-excursion (while (not (eobp)) (and (char-equal (char-after (point)) ? ) (delete-char 1)) (forward-line)))) (defun d2t-braces-atsigns () "Prepend @ to @, {, or } everywhere in the doc. This MUST be the first conversion function called in `d2t-doc-to-texi'." (and d2t-verbose (message " Doing d2t-braces-atsigns ...")) (save-excursion (while (not (eobp)) (re-search-forward "[@{}]" (point-max) "to_end") (unless (eobp) (backward-char 1) (insert "@") (forward-char 1))))) (defun d2t-tables () "Remove @start table and @end table tags. These will be made into @example's by `d2t-enclose-examples'. Thus, the plain text formatting already in the doc is used." (and d2t-verbose (message " Doing d2t-tables ...")) (save-excursion (while (not (eobp)) (re-search-forward "^ *@+start table" (point-max) "to_end") (unless (eobp) (let ((eol (save-excursion (end-of-line) (point-marker)))) (beginning-of-line) (delete-region (point-marker) eol)))) ;;(insert "@example") (goto-char (point-min)) (while (not (eobp)) (re-search-forward "^ *@+end table" (point-max) "to_end") (unless (eobp) (let ((eol (save-excursion (end-of-line) (point-marker)))) (beginning-of-line) (delete-region (point-marker) eol)))))) ;;(insert "@end example") (defun d2t-enclose-examples () "Turn indented text in the doc into @examples. This must be run after `d2t-first-column'." (and d2t-verbose (message " Doing d2t-enclose-examples ...")) (save-excursion (while (not (eobp)) (re-search-forward "^ +[^ \n]" (point-max) "to_end") (unless (eobp) (beginning-of-line) (insert "@example\n") (forward-line 1) (re-search-forward "^[^ ]" (point-max) "to_end") (beginning-of-line) (insert "@end example\n\n") )))) (defun d2t-handle-html () "Deal with all of the html markup in the doc." (and d2t-verbose (message " Doing d2t-handle-html ...")) (save-excursion (while (not (eobp)) (let ((rx (concat "^" (regexp-quote "^") " *\\(\\s-*" ; url "\\([^<]+\\)" ; text "[ \t]*\\^?
" ; closing tag )) (replace-match (concat "@uref{" (match-string 1) "," (remove* ?^ (match-string 2) :test 'char-equal) "}")))) ;; translate

to @itemize environment ((and (string= bracket "<") (string-match "^ul" tag)) (delete-region (point) eol) (insert "\n@itemize @bullet")) ((and (string= bracket "<") (string-match "/ul" tag)) (delete-region (point) eol) (insert "@end itemize\n")) ;; list items ((and (string= bracket "<") (string-match "^li" tag)) (delete-char 5) (delete-horizontal-space) (insert "@item\n")) ;; fix up a few miscellaneous things (t ;;(looking-at ".*Terminal Types") (insert "@c ")) ) (forward-line))) )))) (defvar d2t-dont-make-ref "^fit f\(x\)\\|gnuplot\\|help\\s-+plotting") (defun d2t-make-refs () "Make cross-references in the text." (and d2t-verbose (message " Doing d2t-make-refs ...")) (let ((big-alist (append d2t-level-1-alist d2t-level-2-alist d2t-level-3-alist d2t-level-4-alist))) (save-excursion (while (not (eobp)) (re-search-forward "\\(`\\([^`]+\\)`\\)" (point-max) "to_end") (unless (eobp) (let* ((b (match-beginning 1)) (e (match-end 1)) (list (split-string (match-string 2))) (last (car (reverse list))) (text (concat "@ref{" last "}"))) ;;(message "%s %s" (match-string 1) last) (when (and (equal t (try-completion last big-alist)) (not (string= last "gnuplot"))) (delete-region b e) (insert text)))) )))) ;;; doc2texi.el ends here gnuplot-3.7.3/docs/doc2texi.pl100644 1200 17 6032 6515203634 15400 0ustar lheckingusers#!/usr/local/bin/perl # # $Id: doc2texi.pl,v 1.1.1.1 2025/04/15 19:16:44 lhecking Exp $ # # doc2texi.pl : Converts Gnuplot .doc files to Texinfo format. # # George Ferguson, ferguson@cs.rochester.edu, 11 Feb 1991. # # Usage: # % doc2texi.pl gnuplot.doc >gnuplot.texinfo # % makeinfo --fill-column 80 gnuplot.texinfo # Creates files "gnuplot.info" and "gnuplot.info-[123]". # $currentBook = $currentChapter = $currentSection = $currentSubsection = 0; $verbatim = $table = 0; while (<>) { if (/^([1-4]) (.*)$/) { # section heading $table = 0; &endVerbatim; $numNodes += 1; $nodeLevel[$numNodes] = $1; $nodeTitle[$numNodes] = $2; $nodeText[$numNodes] = ""; if ($1 == 1) { $currentBook = $numNodes; } elsif ($1 == 2) { $currentChapter = $numNodes; $nodeMenu[$currentBook] .= "* $2::\n"; } elsif ($1 == 3) { $currentSection = $numNodes; if ($nodeTitle[$currentChapter] eq "set-show") { $nodeTitle[$numNodes] = "set $2"; # override $nodeMenu[$currentChapter] .= "* set $2::\n"; } else { $nodeMenu[$currentChapter] .= "* $2::\n"; } } elsif ($1 == 4) { $currentSubsection = $numNodes; $nodeMenu[$currentSection] .= "* $2::\n"; } } elsif (/^\?(.*)$/) { # index entry if ($1 ne "") { $nodeText[$numNodes] .= "\@cindex $1\n"; } } elsif (/^\@start table/) { # start table &startVerbatim; $table = 1; } elsif (/^\@end table/) { # end table $table = 0; &endVerbatim; } elsif (/^#/ || /^%/) { # table entry next; } elsif (/^ ( ?)(.*)$/) { # text if ($1 eq " ") { &startVerbatim; } else { &endVerbatim; } $text = $2; $text =~ s/@/@@/g; $text =~ s/{/\@{/g; $text =~ s/}/\@}/g; $text =~ s/\`([^`]*)\`/\@code{$1}/g; $nodeText[$numNodes] .= "$text\n"; } elsif (/^$/) { # blank line &endVerbatim; $nodeText[$numNodes] .= "\n"; } } # Print texinfo header print "\\input texinfo\n"; print "\@setfilename gnuplot.info\n"; print "\@settitle Gnuplot: An Interactive Plotting Program\n"; print "\n"; print "\@node Top\n"; print "\@top Gnuplot"; print "\n"; print "$nodeText[1]"; print "\@menu\n"; print "$nodeMenu[1]"; print "* General Index::\n"; print "\@end menu\n"; print "\n"; # Now output all the nodes for ($i=2; $i <= $numNodes; $i++) { print "\@node $nodeTitle[$i]\n"; if ($nodeLevel[$i] == 2) { print "\@chapter $nodeTitle[$i]\n"; } elsif ($nodeLevel[$i] == 3) { print "\@section $nodeTitle[$i]\n"; } elsif ($nodeLevel[$i] == 4) { print "\@subsection $nodeTitle[$i]\n"; } print "$nodeText[$i]"; if ($nodeMenu[$i] ne "") { print "\@menu\n"; print $nodeMenu[$i]; print "\@end menu\n"; } print "\n"; } # Print texinfo trailer print "\n"; print "\@node General Index\n"; print "\@appendix General Index\n"; print "\n"; print "\@printindex cp\n"; print "\n"; print "\@bye\n"; ####################### sub startVerbatim { if (!$verbatim) { $nodeText[$numNodes] .= "\@example\n"; $verbatim = 1; } } sub endVerbatim { if ($verbatim && !$table) { $nodeText[$numNodes] .= "\@end example\n"; $verbatim = 0; } } gnuplot-3.7.3/docs/doc2x.h100644 1200 17 5301 6617575550 14524 0ustar lheckingusers/* * $Id: doc2x.h,v 1.3 2025/11/03 12:47:36 lhecking Exp $ * */ /* GNUPLOT - doc2x.h */ /*[ * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley * * Permission to use, copy, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. * * Permission to modify the software is granted, but not the right to * distribute the complete modified source code. Modifications are to * be distributed as patches to the released version. Permission to * distribute binaries produced by compiling modified sources is granted, * provided you * 1. distribute the corresponding source modifications from the * released version in the form of a patch file along with the binaries, * 2. add special version identification to distinguish your version * in addition to the base release version number, * 3. provide your name and address as the primary contact for the * support of your modified version, and * 4. retain our contact information in regard to use of the base * software. * Permission to distribute the released version of the source code along * with corresponding source modifications in the form of a patch file is * granted with same provisions 2 through 4 for binary distributions. * * This software is provided "as is" without express or implied warranty * to the extent permitted by applicable law. ]*/ #ifndef DOCS_DOC2X_H # define DOCS_DOC2X_H typedef int boolean; #ifdef TRUE # undef TRUE #endif #define TRUE 1 #ifdef FALSE # undef FALSE #endif #define FALSE 0 /* Various defines and macros */ #ifndef MAX_LINE_LEN # define MAX_LINE_LEN 1023 #endif #ifndef MAX_NAME_LEN # define MAX_NAME_LEN 255 #endif #ifdef HAVE_STRINGIZE # define START_HELP(driver) "C#" #driver , # define END_HELP(driver) ,"C#", #else # define START_HELP(driver) /* nought */ # define END_HELP(driver) , #endif #if defined(DOCS_TERMDOC_MAIN) || defined(DOCS_XREF_MAIN) extern char *termtext[]; #else /* a complete lie, but they dont need it ! */ # define TERM_DRIVER_H # define TERM_HELP char *termtext[] = { # ifdef ALL_TERM_DOC # include "allterm.h" # else # include "term.h" # endif NULL }; #endif /* !DOCS_TERMDOC_MAIN */ /* From termdoc.c */ #ifndef DOCS_TERMDOC_MAIN extern int termdoc_lineno; extern char termdoc_filename[]; #endif /* We are using the fgets() replacement from termdoc.c */ #ifndef DOCS_TERMDOC_MAIN extern #endif char *get_line __PROTO((char *, int, FILE *)); char *safe_strncpy __PROTO((char *, char *, size_t)); #endif /* DOCS_DOC2X_H */ gnuplot-3.7.3/docs/gnuplot.1100644 1200 17 17003 6627070167 15123 0ustar lheckingusers.\" dummy line .TH GNUPLOT 1 "31 August 2025" .UC 4 .SH NAME gnuplot \- an interactive plotting program .SH SYNOPSIS .B gnuplot [ X11 options ] [file ...] .br .SH DESCRIPTION .I Gnuplot is a command-driven interactive function plotting program. .PP If files are given, .I gnuplot loads each file with the .I load command, in the order specified. .I Gnuplot exits after the last file is processed. .PP Here are some of its features: .PP Plots any number of functions, built up of C operators, C library functions, and some things C doesn't have like **, sgn(), etc. Also support for plotting data files, to compare actual data to theoretical curves. .PP User-defined X and Y ranges (optional auto-ranging), smart axes scaling, smart tic marks. .PP Labelling of X and Y axes. .PP User-defined constants and functions. .PP Support through a generalized graphics driver for AED 512, AED 767, BBN BitGraph, Commodore Amiga, Roland DXY800A, EEPIC, TeXDraw, EmTeX, Epson 60dpi printers, Epson LX-800, Fig, HP2623, HP2648, HP75xx, HPGL, HP LaserJet II, Imagen, Iris 4D, Linux, MS-DOS Kermit, Kyocera laser printer, LaTeX, NEC CP6 pinwriter, PostScript, QMS QUIC, ReGis (VT125 and VT2xx), SCO Xenix CGI, Selanar, Star color printer, Tandy DMP-130 printer, Tek 401x, Tek 410x, Vectrix 384, VT like Tektronix emulator, Unix PC (ATT 3b1 or ATT 7300), unixplot, and X11. The PC version compiled by Microsoft C supports IBM CGA, EGA, VGA, Hercules, ATT 6300, and Corona 325 graphics. The PC version compiled by Borland C++ supports IBM CGA, EGA, MCGA, VGA, Hercules and ATT 6300 graphics. Other devices can be added simply, but will require recompiling. .PP Shell escapes and command line substitution. .PP Load and save capability. .PP Output redirection. .PP All computations performed in the complex domain. Just the real part is plotted by default, but functions like imag() and abs() and arg() are available to override this. .SH X11 OPTIONS .I Gnuplot provides the \fIx11\fP terminal type for use with X servers. This terminal type is set automatically at startup if the \fBDISPLAY\fR environment variable is set, if the \fBTERM\fR environment variable is set to \fBxterm\fR, or if the \fB\-display\fR command line option is used. For terminal type \fIx11\fR, \fIgnuplot\fP accepts the standard X Toolkit options and resources such as geometry, font, and background. See the X(1) man page for a description of the options. In addition to the X Toolkit options: .PP \fB\-clear\fP requests that the window be cleared momentarily before a new plot is displayed. .PP \fB\-gray\fP requests grayscale rendering on grayscale or color displays. (Grayscale displays receive monochrome rendering by default.) .PP \fB\-mono\fP forces monochrome rendering on color displays. .PP \fB\-persist\fP lets plot windows survive after main gnuplot program exits. .PP \fB-raise\fP raises the plot window after each plot. .PP \fB-noraise\fp does not raise the plot window after each plot. .PP \fB\-tvtwm\fP requests that geometry specifications for position of the window be made relative to the currently displayed portion of the virtual root. .PP These options may also be controlled with resources in your \fB.Xdefaults\fR file. For example: \fBgnuplot*gray: on\fP . .PP \fIGnuplot\fP provides a command line option (\fB\-pointsize \fIv\fR) and a resource (\fBgnuplot*pointsize: \fIv\fR) to control the size of points plotted with the "points" plotting style. The value \fIv\fR is a real number (greater than 0 and less than or equal to ten) used as a scaling factor for point sizes. For example, \fB\-pointsize 2\fR uses points twice the default size, and \fB\-pointsize 0.5\fR uses points half the normal size. .PP For monochrome displays, \fIgnuplot\fR does not honor foreground or background colors. The default is black-on-white. \fB\-rv\fP or \fBgnuplot*reverseVideo: on\fP requests white-on-black. .PP For color displays \fIgnuplot\fP honors the following resources (shown here with default values). The values may be color names in the X11 rgb.txt file on your system, hexadecimal RGB color specifications (see X11 documentation), or a color name followed by a comma and an \fIintensity\fR value from 0 to 1. For example, \fBblue,.5\fR means a half intensity blue. .sp .B "gnuplot*background: white" .br .B "gnuplot*textColor: black" .br .B "gnuplot*borderColor: black" .br .B "gnuplot*axisColor: black" .br .B "gnuplot*line1Color: red" .br .B "gnuplot*line2Color: green" .br .B "gnuplot*line3Color: blue" .br .B "gnuplot*line4Color: magenta" .br .B "gnuplot*line5Color: cyan" .br .B "gnuplot*line6Color: sienna" .br .B "gnuplot*line7Color: orange" .br .B "gnuplot*line8Color: coral" .br When \fB\-gray\fP is selected, \fIgnuplot\fP honors the following resources for grayscale or color displays (shown here with default values). Note that the default background is black. .sp .B "gnuplot*background: black" .br .B "gnuplot*textGray: white" .br .B "gnuplot*borderGray: gray50" .br .B "gnuplot*axisGray: gray50" .br .B "gnuplot*line1Gray: gray100" .br .B "gnuplot*line2Gray: gray60" .br .B "gnuplot*line3Gray: gray80" .br .B "gnuplot*line4Gray: gray40" .br .B "gnuplot*line5Gray: gray90" .br .B "gnuplot*line6Gray: gray50" .br .B "gnuplot*line7Gray: gray70" .br .B "gnuplot*line8Gray: gray30" .br \fIGnuplot\fP honors the following resources for setting the width in pixels of plot lines (shown here with default values.) 0 or 1 means a minimal width line of 1 pixel width. A value of 2 or 3 may improve the appearance of some plots. .sp .br .B "gnuplot*borderWidth: 2" .br .B "gnuplot*axisWidth: 0" .br .B "gnuplot*line1Width: 0" .br .B "gnuplot*line2Width: 0" .br .B "gnuplot*line3Width: 0" .br .B "gnuplot*line4Width: 0" .br .B "gnuplot*line5Width: 0" .br .B "gnuplot*line6Width: 0" .br .B "gnuplot*line7Width: 0" .br .B "gnuplot*line8Width: 0" .br \fIGnuplot\fP honors the following resources for setting the dash style used for plotting lines. 0 means a solid line. A 2 digit number \fIjk\fR (\fIj\fP and \fIk\fP are >= 1 and <= 9) means a dashed line with a repeated pattern of \fIj\fR pixels on followed by \fIk\fR pixels off. For example, '16' is a "dotted" line with 1 pixel on followed by 6 pixels off. More elaborate on/off patterns can be specified with a 4 digit value. For example, '4441' is 4 on, 4 off, 4 on, 1 off. The default values shown below are for monochrome displays or monochrome rendering on color or grayscale displays. For color displays, the defaults for all are 0 (solid line) except for \fBaxisDashes\fR which defaults to a '16' dotted line. .sp .br .B "gnuplot*borderDashes: 0" .br .B "gnuplot*axisDashes: 16" .br .B "gnuplot*line1Dashes: 0" .br .B "gnuplot*line2Dashes: 42" .br .B "gnuplot*line3Dashes: 13" .br .B "gnuplot*line4Dashes: 44" .br .B "gnuplot*line5Dashes: 15" .br .B "gnuplot*line6Dashes: 4441" .br .B "gnuplot*line7Dashes: 42" .br .B "gnuplot*line8Dashes: 13" .br .PP The size or aspect ratio of a plot may be changed by resizing the .I gnuplot window. .SH AUTHORS Thomas Williams, Pixar Corporation, .br (info-gnuplot@dartmouth.edu) .br and Colin Kelley. .PP Additions for labelling by Russell Lang, Monash University, Australia. .br (rjl@monu1.cc.monash.edu.au) .br Further additions by David Kotz, Dartmouth College, New Hampshire, USA (formerly of Duke University, North Carolina, USA). .br (David.Kotz@Dartmouth.edu) .SH BUGS The atan() function does not work correctly for complex arguments. .br The bessel functions do not work for complex arguments. .br See the .I help bugs command in gnuplot. .SH SEE ALSO See the printed manual or the on-line help for details on specific commands. .br X(1). gnuplot-3.7.3/docs/gnuplot.texi100644 1200 17 1273236 7206446621 16005 0ustar lheckingusers\input texinfo @c -*-texinfo-*- @c %**start of header @setfilename gnuplot.info @settitle Gnuplot: An Interactive Plotting Program @setchapternewpage odd @c %**end of header @c define the command and options indeces @defindex cm @defindex op @defindex tm @direntry * GNUPLOT: (gnuplot). An Interactive Plotting Program @end direntry @ifnottex @node Top, gnuplot, (dir), (dir) @top Master Menu @end ifnottex @example GNUPLOT An Interactive Plotting Program Thomas Williams & Colin Kelley Version 3.7 organized by: David Denholm Copyright (C) 1986 - 1993, 1998 Thomas Williams, Colin Kelley Mailing list for comments: info-gnuplot@@dartmouth.edu Mailing list for bug reports: bug-gnuplot@@dartmouth.edu This manual was prepared by Dick Crawford 3 December 2025 Major contributors (alphabetic order): @end example @c ^

An Interactive Plotting Program

@c ^

Thomas Williams & Colin Kelley

@c ^

Version 3.7 organized by: David Denholm

@c ^

Major contributors (alphabetic order):

@itemize @bullet @item Hans-Bernhard Broeker @item John Campbell @item Robert Cunningham @item David Denholm @item Gershon Elber @item Roger Fearick @item Carsten Grammes @item Lucas Hart @item Lars Hecking @item Thomas Koenig @item David Kotz @item Ed Kubaitis @item Russell Lang @item Alexander Lehmann @item Alexander Mai @item Carsten Steger @item Tom Tkacik @item Jos Van der Woude @item James R. Van Zandt @item Alex Woo @end itemize @c ^

Copyright (C) 1986 - 1993, 1998 Thomas Williams, Colin Kelley

@c ^ Mailing list for comments: info-gnuplot@@dartmouth.edu

@c ^ Mailing list for bug reports: bug-gnuplot@@dartmouth.edu

@c ^

@c ^

This manual was prepared by Dick Crawford

@c ^

3 December 2025

@c ^


@menu * gnuplot:: * Commands:: * Graphical_User_Interfaces:: * Bugs:: * Concept_Index:: * Command_Index:: * Options_Index:: * Function_Index:: * Terminal_Index:: @end menu @node gnuplot, Commands, Top, Top @chapter gnuplot @menu * Copyright:: * Introduction:: * Seeking-assistance:: * What's_New_in_version_3.7:: * Batch/Interactive_Operation:: * Command-line-editing:: * Comments:: * Coordinates:: * Environment:: * Expressions:: * Glossary:: * Plotting:: * Start-up:: * Substitution:: * Syntax:: * Time/Date_data:: @end menu @node Copyright, Introduction, gnuplot, gnuplot @section Copyright @cindex copyright @cindex license @example Copyright (C) 1986 - 1993, 1998 Thomas Williams, Colin Kelley @end example Permission to use, copy, and distribute this software and its documentation for any purpose with or without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. Permission to modify the software is granted, but not the right to distribute the complete modified source code. Modifications are to be distributed as patches to the released version. Permission to distribute binaries produced by compiling modified sources is granted, provided you @example 1. distribute the corresponding source modifications from the released version in the form of a patch file along with the binaries, 2. add special version identification to distinguish your version in addition to the base release version number, 3. provide your name and address as the primary contact for the support of your modified version, and 4. retain our contact information in regard to use of the base software. @end example Permission to distribute the released version of the source code along with corresponding source modifications in the form of a patch file is granted with same provisions 2 through 4 for binary distributions. This software is provided "as is" without express or implied warranty to the extent permitted by applicable law. @example AUTHORS @end example @example Original Software: Thomas Williams, Colin Kelley. @end example @example Gnuplot 2.0 additions: Russell Lang, Dave Kotz, John Campbell. @end example @example Gnuplot 3.0 additions: Gershon Elber and many others. @end example @node Introduction, Seeking-assistance, Copyright, gnuplot @section Introduction @cindex introduction @c ? `gnuplot` is a command-driven interactive function and data plotting program. It is case sensitive (commands and function names written in lowercase are not the same as those written in CAPS). All command names may be abbreviated as long as the abbreviation is not ambiguous. Any number of commands may appear on a line (with the exception that @ref{load} or @ref{call} must be the final command), separated by semicolons (;). Strings are indicated with quotes. They may be either single or double quotation marks, e.g., @example load "filename" cd 'dir' @end example although there are some subtle differences (see `syntax` for more details). Any command-line arguments are assumed to be names of files containing `gnuplot` commands, with the exception of standard X11 arguments, which are processed first. Each file is loaded with the @ref{load} command, in the order specified. `gnuplot` exits after the last file is processed. When no load files are named, `gnuplot` enters into an interactive mode. The special filename "-" is used to denote standard input. See "help batch/interactive" for more details. Many `gnuplot` commands have multiple options. These options must appear in the proper order, although unwanted ones may be omitted in most cases. Thus if the entire command is "command a b c", then "command a c" will probably work, but "command c a" will fail. Commands may extend over several input lines by ending each line but the last with a backslash (\). The backslash must be the _last_ character on each line. The effect is as if the backslash and newline were not there. That is, no white space is implied, nor is a comment terminated. Therefore, commenting out a continued line comments out the entire command (see `comment`). But note that if an error occurs somewhere on a multi-line command, the parser may not be able to locate precisely where the error is and in that case will not necessarily point to the correct line. In this document, curly braces (@{@}) denote optional arguments and a vertical bar (|) separates mutually exclusive choices. `gnuplot` keywords or @ref{help} topics are indicated by backquotes or `boldface` (where available). Angle brackets (<>) are used to mark replaceable tokens. In many cases, a default value of the token will be taken for optional arguments if the token is omitted, but these cases are not always denoted with braces around the angle brackets. For on-line help on any topic, type @ref{help} followed by the name of the topic or just @ref{help} or `?` to get a menu of available topics. The new `gnuplot` user should begin by reading about `plotting` (if on-line, type `help plotting`). @uref{http://www.gnuplot.vt.edu/gnuplot/gpdocs/simple.html,Simple Plots Demo } @node Seeking-assistance, What's_New_in_version_3.7, Introduction, gnuplot @section Seeking-assistance @cindex seeking-assistance There is a mailing list for `gnuplot` users. Note, however, that the newsgroup @example comp.graphics.apps.gnuplot @end example is identical to the mailing list (they both carry the same set of messages). We prefer that you read the messages through the newsgroup rather than subscribing to the mailing list. Administrative requests should be sent to @example majordomo@@dartmouth.edu @end example Send a message with the body (not the subject) consisting of the single word "help" (without the quotes) for more details. The address for mailing to list members is: @example info-gnuplot@@dartmouth.edu @end example Bug reports and code contributions should be mailed to: @example bug-gnuplot@@dartmouth.edu @end example The list of those interested in beta-test versions is: @example info-gnuplot-beta@@dartmouth.edu @end example There is also a World Wide Web page with up-to-date information, including known bugs: @uref{http://www.cs.dartmouth.edu/gnuplot_info.html,http://www.cs.dartmouth.edu/gnuplot_info.html } Before seeking help, please check the @uref{http://www.ucc.ie/gnuplot/gnuplot-faq.html,FAQ (Frequently Asked Questions) list. } If you do not have a copy of the FAQ, you may request a copy by email from the Majordomo address above, ftp a copy from @example ftp://ftp.ucc.ie/pub/gnuplot/faq, ftp://ftp.gnuplot.vt.edu/pub/gnuplot/faq, @end example or see the WWW `gnuplot` page. When posting a question, please include full details of the version of `gnuplot`, the machine, and operating system you are using. A _small_ script demonstrating the problem may be useful. Function plots are preferable to datafile plots. If email-ing to info-gnuplot, please state whether or not you are subscribed to the list, so that users who use news will know to email a reply to you. There is a form for such postings on the WWW site. @node What's_New_in_version_3.7, Batch/Interactive_Operation, Seeking-assistance, gnuplot @section What's New in version 3.7 @cindex new-features Gnuplot version 3.7 contains many new features. This section gives a partial list and links to the new items in no particular order. 1. `fit f(x) 'file' via` uses the Marquardt-Levenberg method to fit data. (This is only slightly different from the `gnufit` patch available for 3.5.) 2. Greatly expanded @ref{using} command. See @ref{using}. 3. @ref{timefmt} allows for the use of dates as input and output for time series plots. See `Time/Date data` and @uref{http://www.gnuplot.vt.edu/gnuplot/gpdocs/timedat.html,timedat.dem. } 4. Multiline labels and font selection in some drivers. 5. Minor (unlabeled) tics. See @ref{mxtics}. 6. @ref{key} options for moving the key box in the page (and even outside of the plot), putting a title on it and a box around it, and more. See @ref{key}. 7. Multiplots on a single logical page with @ref{multiplot}. 8. Enhanced `postscript` driver with super/subscripts and font changes. (This was a separate driver (`enhpost`) that was available as a patch for 3.5.) 9. Second axes: use the top and right axes independently of the bottom and left, both for plotting and labels. See @ref{plot}. 10. Special datafile names `'-'` and `""`. See @ref{special-filenames}. 11. Additional coordinate systems for labels and arrows. See `coordinates`. 12. @ref{size} can try to plot with a specified aspect ratio. 13. @ref{missing} now treats missing data correctly. 14. The @ref{call} command: @ref{load} with arguments. 15. More flexible `range` commands with `reverse` and `writeback` keywords. 16. @ref{encoding} for multi-lingual encoding. 17. New `x11` driver with persistent and multiple windows. 18. New plotting styles: @ref{xerrorbars}, @ref{histeps}, @ref{financebars} and more. See @ref{style}. 19. New tic label formats, including `"%l %L"` which uses the mantissa and exponents to a given base for labels. See `set format`. 20. New drivers, including `cgm` for inclusion into MS-Office applications and `gif` for serving plots to the WEB. 21. Smoothing and spline-fitting options for @ref{plot}. See @ref{smooth}. 22. @ref{margin} and @ref{origin} give much better control over where a graph appears on the page. 23. @ref{border} now controls each border individually. 24. The new commands @ref{if} and @ref{reread} allow command loops. 25. Point styles and sizes, line types and widths can be specified on the @ref{plot} command. Line types and widths can also be specified for grids, borders, tics and arrows. See @ref{with}. Furthermore these types may be combined and stored for further use. See @ref{linestyle}. 26. Text (labels, tic labels, and the time stamp) can be written vertically by those terminals capable of doing so. @node Batch/Interactive_Operation, Command-line-editing, What's_New_in_version_3.7, gnuplot @section Batch/Interactive Operation @cindex batch/interactive `gnuplot` may be executed in either batch or interactive modes, and the two may even be mixed together on many systems. Any command-line arguments are assumed to be names of files containing `gnuplot` commands (with the exception of standard X11 arguments, which are processed first). Each file is loaded with the @ref{load} command, in the order specified. `gnuplot` exits after the last file is processed. When no load files are named, `gnuplot` enters into an interactive mode. The special filename "-" is used to denote standard input. Both the @ref{exit} and @ref{quit} commands terminate the current command file and @ref{load} the next one, until all have been processed. Examples: To launch an interactive session: @example gnuplot @end example To launch a batch session using two command files "input1" and "input2": @example gnuplot input1 input2 @end example To launch an interactive session after an initialization file "header" and followed by another command file "trailer": @example gnuplot header - trailer @end example @node Command-line-editing, Comments, Batch/Interactive_Operation, gnuplot @section Command-line-editing @cindex line-editing @cindex editing @cindex history @cindex command-line-editing Command-line editing is supported by the Unix, Atari, VMS, MS-DOS and OS/2 versions of `gnuplot`. Also, a history mechanism allows previous commands to be edited and re-executed. After the command line has been edited, a newline or carriage return will enter the entire line without regard to where the cursor is positioned. (The readline function in `gnuplot` is not the same as the readline used in GNU Bash and GNU Emacs. If the GNU version is desired, it may be selected instead of the `gnuplot` version at compile time.) The editing commands are as follows: @example `Line-editing`: @end example @example ^B moves back a single character. ^F moves forward a single character. ^A moves to the beginning of the line. ^E moves to the end of the line. ^H and DEL delete the previous character. ^D deletes the current character. ^K deletes from current position to the end of line. ^L,^R redraws line in case it gets trashed. ^U deletes the entire line. ^W deletes the last word. @end example @example `History`: @end example @example ^P moves back through history. ^N moves forward through history. @end example On the IBM PC, the use of a TSR program such as DOSEDIT or CED may be desired for line editing. The default makefile assumes that this is the case; by default `gnuplot` will be compiled with no line-editing capability. If you want to use `gnuplot`'s line editing, set READLINE in the makefile and add readline.obj to the link file. The following arrow keys may be used on the IBM PC and Atari versions if readline is used: @example Left Arrow - same as ^B. Right Arrow - same as ^F. Ctrl Left Arrow - same as ^A. Ctrl Right Arrow - same as ^E. Up Arrow - same as ^P. Down Arrow - same as ^N. @end example The Atari version of readline defines some additional key aliases: @example Undo - same as ^L. Home - same as ^A. Ctrl Home - same as ^E. Esc - same as ^U. Help - @ref{help} plus return. Ctrl Help - `help `. @end example @node Comments, Coordinates, Command-line-editing, gnuplot @section Comments @cindex comments Comments are supported as follows: a `#` may appear in most places in a line and `gnuplot` will ignore the rest of the line. It will not have this effect inside quotes, inside numbers (including complex numbers), inside command substitutions, etc. In short, it works anywhere it makes sense to work. @node Coordinates, Environment, Comments, gnuplot @section Coordinates @cindex coordinates The commands @ref{arrow}, @ref{key}, and @ref{label} allow you to draw something at an arbitrary position on the graph. This position is specified by the syntax: @example @{@} , @{@} @{,@{@} @} @end example Each can either be `first`, `second`, `graph` or `screen`. `first` places the x, y, or z coordinate in the system defined by the left and bottom axes; `second` places it in the system defined by the second axes (top and right); `graph` specifies the area within the axes---0,0 is bottom left and 1,1 is top right (for splot, 0,0,0 is bottom left of plotting area; use negative z to get to the base---see @ref{ticslevel}); and `screen` specifies the screen area (the entire area---not just the portion selected by @ref{size}), with 0,0 at bottom left and 1,1 at top right. If the coordinate system for x is not specified, `first` is used. If the system for y is not specified, the one used for x is adopted. If one (or more) axis is timeseries, the appropriate coordinate should be given as a quoted time string according to the @ref{timefmt} format string. See @ref{xdata} and @ref{timefmt}. `gnuplot` will also accept an integer expression, which will be interpreted as seconds from 1 January 2000. @node Environment, Expressions, Coordinates, gnuplot @section Environment @cindex environment A number of shell environment variables are understood by `gnuplot`. None of these are required, but may be useful. If GNUTERM is defined, it is used as the name of the terminal type to be used. This overrides any terminal type sensed by `gnuplot` on start-up, but is itself overridden by the .gnuplot (or equivalent) start-up file (see `start-up`) and, of course, by later explicit changes. On Unix, AmigaOS, AtariTOS, MS-DOS and OS/2, GNUHELP may be defined to be the pathname of the HELP file (gnuplot.gih). On VMS, the logical name GNUPLOT$HELP should be defined as the name of the help library for `gnuplot`. The `gnuplot` help can be put inside any system help library, allowing access to help from both within and outside `gnuplot` if desired. On Unix, HOME is used as the name of a directory to search for a .gnuplot file if none is found in the current directory. On AmigaOS, AtariTOS, MS-DOS and OS/2, gnuplot is used. On VMS, SYS$LOGIN: is used. See `help start-up`. On Unix, PAGER is used as an output filter for help messages. On Unix, AtariTOS and AmigaOS, SHELL is used for the @ref{shell} command. On MS-DOS and OS/2, COMSPEC is used for the @ref{shell} command. On MS-DOS, if the BGI or Watcom interface is used, PCTRM is used to tell the maximum resolution supported by your monitor by setting it to S. E.g. if your monitor's maximum resolution is 800x600, then use: @example set PCTRM=S800 @end example If PCTRM is not set, standard VGA is used. FIT_SCRIPT may be used to specify a `gnuplot` command to be executed when a fit is interrupted---see `fit`. FIT_LOG specifies the filename of the logfile maintained by fit. @node Expressions, Glossary, Environment, gnuplot @section Expressions @cindex expressions In general, any mathematical expression accepted by C, FORTRAN, Pascal, or BASIC is valid. The precedence of these operators is determined by the specifications of the C programming language. White space (spaces and tabs) is ignored inside expressions. Complex constants are expressed as @{,@}, where and must be numerical constants. For example, @{3,2@} represents 3 + 2i; @{0,1@} represents 'i' itself. The curly braces are explicitly required here. Note that gnuplot uses both "real" and "integer" arithmetic, like FORTRAN and C. Integers are entered as "1", "-10", etc; reals as "1.0", "-10.0", "1e1", 3.5e-1, etc. The most important difference between the two forms is in division: division of integers truncates: 5/2 = 2; division of reals does not: 5.0/2.0 = 2.5. In mixed expressions, integers are "promoted" to reals before evaluation: 5/2e0 = 2.5. The result of division of a negative integer by a positive one may vary among compilers. Try a test like "print -5/2" to determine if your system chooses -2 or -3 as the answer. The integer expression "1/0" may be used to generate an "undefined" flag, which causes a point to ignored; the `ternary` operator gives an example. The real and imaginary parts of complex expressions are always real, whatever the form in which they are entered: in @{3,2@} the "3" and "2" are reals, not integers. @menu * Functions:: * Operators:: * User-defined:: @end menu @node Functions, Operators, Expressions, Expressions @subsection Functions @c ?expressions functions @cindex functions @opindex functions The functions in `gnuplot` are the same as the corresponding functions in the Unix math library, except that all functions accept integer, real, and complex arguments, unless otherwise noted. For those functions that accept or return angles that may be given in either degrees or radians (sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(x) and arg(z)), the unit may be selected by @ref{angles}, which defaults to radians. @menu * abs:: * acos:: * acosh:: * arg:: * asin:: * asinh:: * atan:: * atan2:: * atanh:: * besj0:: * besj1:: * besy0:: * besy1:: * ceil:: * cos:: * cosh:: * erf:: * erfc:: * exp:: * floor:: * gamma:: * ibeta:: * inverf:: * igamma:: * imag:: * invnorm:: * int:: * lgamma:: * log:: * log10:: * norm:: * rand:: * real:: * sgn:: * sin:: * sinh:: * sqrt:: * tan:: * tanh:: * column:: * tm_hour:: * tm_mday:: * tm_min:: * tm_mon:: * tm_sec:: * tm_wday:: * tm_yday:: * tm_year:: * valid:: @end menu @node abs, acos, Functions, Functions @subsubsection abs @c ?expressions functions abs @c ?functions abs @cindex abs @findex abs The `abs(x)` function returns the absolute value of its argument. The returned value is of the same type as the argument. For complex arguments, abs(x) is defined as the length of x in the complex plane [i.e., sqrt(real(x)**2 + imag(x)**2) ]. @node acos, acosh, abs, Functions @subsubsection acos @c ?expressions functions acos @c ?functions acos @cindex acos @findex acos The `acos(x)` function returns the arc cosine (inverse cosine) of its argument. `acos` returns its argument in radians or degrees, as selected by @ref{angles}. @node acosh, arg, acos, Functions @subsubsection acosh @c ?expressions functions acosh @c ?functions acosh @cindex acosh @findex acosh The `acosh(x)` function returns the inverse hyperbolic cosine of its argument in radians. @node arg, asin, acosh, Functions @subsubsection arg @c ?expressions functions arg @c ?functions arg @cindex arg @findex arg The `arg(x)` function returns the phase of a complex number in radians or degrees, as selected by @ref{angles}. @node asin, asinh, arg, Functions @subsubsection asin @c ?expressions functions asin @c ?functions asin @cindex asin @findex asin The `asin(x)` function returns the arc sin (inverse sin) of its argument. `asin` returns its argument in radians or degrees, as selected by @ref{angles}. @node asinh, atan, asin, Functions @subsubsection asinh @c ?expressions functions asinh @c ?functions asinh @cindex asinh @findex asinh The `asinh(x)` function returns the inverse hyperbolic sin of its argument in radians. @node atan, atan2, asinh, Functions @subsubsection atan @c ?expressions functions atan @c ?functions atan @cindex atan @findex atan The `atan(x)` function returns the arc tangent (inverse tangent) of its argument. `atan` returns its argument in radians or degrees, as selected by @ref{angles}. @node atan2, atanh, atan, Functions @subsubsection atan2 @c ?expressions functions atan2 @c ?functions atan2 @cindex atan2 @findex atan2 The `atan2(y,x)` function returns the arc tangent (inverse tangent) of the ratio of the real parts of its arguments. @ref{atan2} returns its argument in radians or degrees, as selected by @ref{angles}, in the correct quadrant. @node atanh, besj0, atan2, Functions @subsubsection atanh @c ?expressions functions atanh @c ?functions atanh @cindex atanh @findex atanh The `atanh(x)` function returns the inverse hyperbolic tangent of its argument in radians. @node besj0, besj1, atanh, Functions @subsubsection besj0 @c ?expressions functions besj0 @c ?functions besj0 @cindex besj0 @findex besj0 The `besj0(x)` function returns the j0th Bessel function of its argument. @ref{besj0} expects its argument to be in radians. @node besj1, besy0, besj0, Functions @subsubsection besj1 @c ?expressions functions besj1 @c ?functions besj1 @cindex besj1 @findex besj1 The `besj1(x)` function returns the j1st Bessel function of its argument. @ref{besj1} expects its argument to be in radians. @node besy0, besy1, besj1, Functions @subsubsection besy0 @c ?expressions functions besy0 @c ?functions besy0 @cindex besy0 @findex besy0 The @ref{besy0} function returns the y0th Bessel function of its argument. @ref{besy0} expects its argument to be in radians. @node besy1, ceil, besy0, Functions @subsubsection besy1 @c ?expressions functions besy1 @c ?functions besy1 @cindex besy1 @findex besy1 The `besy1(x)` function returns the y1st Bessel function of its argument. @ref{besy1} expects its argument to be in radians. @node ceil, cos, besy1, Functions @subsubsection ceil @c ?expressions functions ceil @c ?functions ceil @cindex ceil @findex ceil The `ceil(x)` function returns the smallest integer that is not less than its argument. For complex numbers, @ref{ceil} returns the smallest integer not less than the real part of its argument. @node cos, cosh, ceil, Functions @subsubsection cos @c ?expressions functions cos @c ?functions cos @cindex cos @findex cos The `cos(x)` function returns the cosine of its argument. `cos` accepts its argument in radians or degrees, as selected by @ref{angles}. @node cosh, erf, cos, Functions @subsubsection cosh @c ?expressions functions cosh @c ?functions cosh @cindex cosh @findex cosh The `cosh(x)` function returns the hyperbolic cosine of its argument. @ref{cosh} expects its argument to be in radians. @node erf, erfc, cosh, Functions @subsubsection erf @c ?expressions functions erf @c ?functions erf @cindex erf @findex erf The `erf(x)` function returns the error function of the real part of its argument. If the argument is a complex value, the imaginary component is ignored. @node erfc, exp, erf, Functions @subsubsection erfc @c ?expressions functions erfc @c ?functions erfc @cindex erfc @findex erfc The `erfc(x)` function returns 1.0 - the error function of the real part of its argument. If the argument is a complex value, the imaginary component is ignored. @node exp, floor, erfc, Functions @subsubsection exp @c ?expressions functions exp @c ?functions exp @cindex exp @findex exp The `exp(x)` function returns the exponential function of its argument (`e` raised to the power of its argument). On some implementations (notably suns), exp(-x) returns undefined for very large x. A user-defined function like safe(x) = x<-100 ? 0 : exp(x) might prove useful in these cases. @node floor, gamma, exp, Functions @subsubsection floor @c ?expressions functions floor @c ?functions floor @cindex floor @findex floor The `floor(x)` function returns the largest integer not greater than its argument. For complex numbers, @ref{floor} returns the largest integer not greater than the real part of its argument. @node gamma, ibeta, floor, Functions @subsubsection gamma @c ?expressions functions gamma @c ?functions gamma @cindex gamma @findex gamma The `gamma(x)` function returns the gamma function of the real part of its argument. For integer n, gamma(n+1) = n!. If the argument is a complex value, the imaginary component is ignored. @node ibeta, inverf, gamma, Functions @subsubsection ibeta @c ?expressions functions ibeta @c ?functions ibeta @cindex ibeta @findex ibeta The `ibeta(p,q,x)` function returns the incomplete beta function of the real parts of its arguments. p, q > 0 and x in [0:1]. If the arguments are complex, the imaginary components are ignored. @node inverf, igamma, ibeta, Functions @subsubsection inverf @c ?expressions functions inverf @c ?functions inverf @cindex inverf @findex inverf The `inverf(x)` function returns the inverse error function of the real part of its argument. @node igamma, imag, inverf, Functions @subsubsection igamma @c ?expressions functions igamma @c ?functions igamma @cindex igamma @findex igamma The `igamma(a,x)` function returns the incomplete gamma function of the real parts of its arguments. a > 0 and x >= 0. If the arguments are complex, the imaginary components are ignored. @node imag, invnorm, igamma, Functions @subsubsection imag @c ?expressions functions imag @c ?functions imag @cindex imag @findex imag The `imag(x)` function returns the imaginary part of its argument as a real number. @node invnorm, int, imag, Functions @subsubsection invnorm @c ?expressions functions invnorm @c ?functions invnorm @cindex invnorm @findex invnorm The `invnorm(x)` function returns the inverse normal distribution function of the real part of its argument. @node int, lgamma, invnorm, Functions @subsubsection int @c ?expressions functions int @c ?functions int @cindex int @findex int The `int(x)` function returns the integer part of its argument, truncated toward zero. @node lgamma, log, int, Functions @subsubsection lgamma @c ?expressions functions lgamma @c ?functions lgamma @cindex lgamma @findex lgamma The `lgamma(x)` function returns the natural logarithm of the gamma function of the real part of its argument. If the argument is a complex value, the imaginary component is ignored. @node log, log10, lgamma, Functions @subsubsection log @c ?expressions functions log @c ?functions log @cindex log @findex log The `log(x)` function returns the natural logarithm (base `e`) of its argument. @node log10, norm, log, Functions @subsubsection log10 @c ?expressions functions log10 @c ?functions log10 @cindex log10 @findex log10 The `log10(x)` function returns the logarithm (base 10) of its argument. @node norm, rand, log10, Functions @subsubsection norm @c ?expressions functions norm @c ?functions norm @cindex norm @findex norm The `norm(x)` function returns the normal distribution function (or Gaussian) of the real part of its argument. @node rand, real, norm, Functions @subsubsection rand @c ?expressions functions rand @c ?functions rand @cindex rand @findex rand The `rand(x)` function returns a pseudo random number in the interval [0:1] using the real part of its argument as a seed. If seed < 0, the sequence is (re)initialized. If the argument is a complex value, the imaginary component is ignored. @node real, sgn, rand, Functions @subsubsection real @c ?expressions functions real @c ?functions real @cindex real @findex real The `real(x)` function returns the real part of its argument. @node sgn, sin, real, Functions @subsubsection sgn @c ?expressions functions sgn @c ?functions sgn @cindex sgn @findex sgn The `sgn(x)` function returns 1 if its argument is positive, -1 if its argument is negative, and 0 if its argument is 0. If the argument is a complex value, the imaginary component is ignored. @node sin, sinh, sgn, Functions @subsubsection sin @c ?expressions functions sin @c ?functions sin @cindex sin @findex sin The `sin(x)` function returns the sine of its argument. `sin` expects its argument to be in radians or degrees, as selected by @ref{angles}. @node sinh, sqrt, sin, Functions @subsubsection sinh @c ?expressions functions sinh @c ?functions sinh @cindex sinh @findex sinh The `sinh(x)` function returns the hyperbolic sine of its argument. @ref{sinh} expects its argument to be in radians. @node sqrt, tan, sinh, Functions @subsubsection sqrt @c ?expressions functions sqrt @c ?functions sqrt @cindex sqrt @findex sqrt The `sqrt(x)` function returns the square root of its argument. @node tan, tanh, sqrt, Functions @subsubsection tan @c ?expressions functions tan @c ?functions tan @cindex tan @findex tan The `tan(x)` function returns the tangent of its argument. `tan` expects its argument to be in radians or degrees, as selected by @ref{angles}. @node tanh, column, tan, Functions @subsubsection tanh @c ?expressions functions tanh @c ?functions tanh @cindex tanh @findex tanh The `tanh(x)` function returns the hyperbolic tangent of its argument. @ref{tanh} expects its argument to be in radians. A few additional functions are also available. @node column, tm_hour, tanh, Functions @subsubsection column @c ?expressions functions column @c ?functions column @cindex column @findex column `column(x)` may be used only in expressions as part of @ref{using} manipulations to fits or datafile plots. See @ref{using}. @node tm_hour, tm_mday, column, Functions @subsubsection tm_hour @c ?expressions tm_hour @findex tm_hour @c ?functions tm_hour The @ref{tm_hour} function interprets its argument as a time, in seconds from 1 Jan 2000. It returns the hour (an integer in the range 0--23) as a real. @node tm_mday, tm_min, tm_hour, Functions @subsubsection tm_mday @c ?expressions tm_mday @findex tm_mday @c ?functions tm_mday The @ref{tm_mday} function interprets its argument as a time, in seconds from 1 Jan 2000. It returns the day of the month (an integer in the range 1--31) as a real. @node tm_min, tm_mon, tm_mday, Functions @subsubsection tm_min @c ?expressions tm_min @findex tm_min @c ?functions tm_min The @ref{tm_min} function interprets its argument as a time, in seconds from 1 Jan 2000. It returns the minute (an integer in the range 0--59) as a real. @node tm_mon, tm_sec, tm_min, Functions @subsubsection tm_mon @c ?expressions tm_mon @findex tm_mon @c ?functions tm_mon The @ref{tm_mon} function interprets its argument as a time, in seconds from 1 Jan 2000. It returns the month (an integer in the range 1--12) as a real. @node tm_sec, tm_wday, tm_mon, Functions @subsubsection tm_sec @c ?expressions tm_sec @findex tm_sec @c ?functions tm_sec The @ref{tm_sec} function interprets its argument as a time, in seconds from 1 Jan 2000. It returns the second (an integer in the range 0--59) as a real. @node tm_wday, tm_yday, tm_sec, Functions @subsubsection tm_wday @c ?expressions tm_wday @findex tm_wday @c ?functions tm_wday The @ref{tm_wday} function interprets its argument as a time, in seconds from 1 Jan 2000. It returns the day of the week (an integer in the range 1--7) as a real. @node tm_yday, tm_year, tm_wday, Functions @subsubsection tm_yday @c ?expressions tm_yday @findex tm_yday @c ?functions tm_yday The @ref{tm_yday} function interprets its argument as a time, in seconds from 1 Jan 2000. It returns the day of the year (an integer in the range 1--366) as a real. @node tm_year, valid, tm_yday, Functions @subsubsection tm_year @c ?expressions tm_year @findex tm_year @c ?functions tm_year The @ref{tm_year} function interprets its argument as a time, in seconds from 1 Jan 2000. It returns the year (an integer) as a real. @node valid, , tm_year, Functions @subsubsection valid @c ?expressions functions valid @c ?functions valid @cindex valid @findex valid `valid(x)` may be used only in expressions as part of @ref{using} manipulations to fits or datafile plots. See @ref{using}. @uref{http://www.gnuplot.vt.edu/gnuplot/gpdocs/airfoil.html,Use of functions and complex variables for airfoils } @node Operators, User-defined, Functions, Expressions @subsection Operators @c ?expressions operators @cindex operators The operators in `gnuplot` are the same as the corresponding operators in the C programming language, except that all operators accept integer, real, and complex arguments, unless otherwise noted. The ** operator (exponentiation) is supported, as in FORTRAN. Parentheses may be used to change order of evaluation. @menu * Unary:: * Binary:: * Ternary:: @end menu @node Unary, Binary, Operators, Operators @subsubsection Unary @c ?expressions operators unary @c ?operators unary @cindex unary The following is a list of all the unary operators and their usages: @example Symbol Example Explanation - -a unary minus + +a unary plus (no-operation) ~ ~a * one's complement ! !a * logical negation ! a! * factorial $ $3 * call arg/column during @ref{using} manipulation @end example (*) Starred explanations indicate that the operator requires an integer argument. Operator precedence is the same as in Fortran and C. As in those languages, parentheses may be used to change the order of operation. Thus -2**2 = -4, but (-2)**2 = 4. The factorial operator returns a real number to allow a greater range. @node Binary, Ternary, Unary, Operators @subsubsection Binary @c ?expressions operators binary @c ?operators binary @cindex binary The following is a list of all the binary operators and their usages: @example Symbol Example Explanation ** a**b exponentiation * a*b multiplication / a/b division % a%b * modulo + a+b addition - a-b subtraction == a==b equality != a!=b inequality < a a>b greater than >= a>=b greater than or equal to & a&b * bitwise AND ^ a^b * bitwise exclusive OR | a|b * bitwise inclusive OR && a&&b * logical AND || a||b * logical OR @end example (*) Starred explanations indicate that the operator requires integer arguments. Logical AND (&&) and OR (||) short-circuit the way they do in C. That is, the second `&&` operand is not evaluated if the first is false; the second `||` operand is not evaluated if the first is true. @node Ternary, , Binary, Operators @subsubsection Ternary @c ?expressions operators ternary @c ?operators ternary @cindex ternary There is a single ternary operator: @example Symbol Example Explanation ?: a?b:c ternary operation @end example The ternary operator behaves as it does in C. The first argument (a), which must be an integer, is evaluated. If it is true (non-zero), the second argument (b) is evaluated and returned; otherwise the third argument (c) is evaluated and returned. The ternary operator is very useful both in constructing piecewise functions and in plotting points only when certain conditions are met. Examples: Plot a function that is to equal sin(x) for 0 <= x < 1, 1/x for 1 <= x < 2, and undefined elsewhere: @example f(x) = 0<=x && x<1 ? sin(x) : 1<=x && x<2 ? 1/x : 1/0 plot f(x) @end example @c ^ [ternary.gif] Note that `gnuplot` quietly ignores undefined values, so the final branch of the function (1/0) will produce no plottable points. Note also that f(x) will be plotted as a continuous function across the discontinuity if a line style is used. To plot it discontinuously, create separate functions for the two pieces. (Parametric functions are also useful for this purpose.) For data in a file, plot the average of the data in columns 2 and 3 against the datum in column 1, but only if the datum in column 4 is non-negative: @example plot 'file' using 1:( $4<0 ? 1/0 : ($2+$3)/2 ) @end example Please see @ref{using} for an explanation of the @ref{using} syntax. @node User-defined, , Operators, Expressions @subsection User-defined @c ?expressions user-defined @cindex user-defined @cindex variables @opindex variables New user-defined variables and functions of one through five variables may be declared and used anywhere, including on the @ref{plot} command itself. User-defined function syntax: @example ( @{,@} ... @{,@} ) = @end example where is defined in terms of through . User-defined variable syntax: @example = @end example Examples: @example w = 2 q = floor(tan(pi/2 - 0.1)) f(x) = sin(w*x) sinc(x) = sin(pi*x)/(pi*x) delta(t) = (t == 0) ramp(t) = (t > 0) ? t : 0 min(a,b) = (a < b) ? a : b comb(n,k) = n!/(k!*(n-k)!) len3d(x,y,z) = sqrt(x*x+y*y+z*z) plot f(x) = sin(x*a), a = 0.2, f(x), a = 0.4, f(x) @end example @c ^ [userdefined.gif] Note that the variable `pi` is already defined. But it is in no way magic; you may redefine it to be whatever you like. Valid names are the same as in most programming languages: they must begin with a letter, but subsequent characters may be letters, digits, "$", or "_". Note, however, that the `fit` mechanism uses several variables with names that begin "FIT_". It is safest to avoid using such names. "FIT_LIMIT", however, is one that you may wish to redefine. See the documentation on `fit` for details. See @ref{functions}, @ref{variables}, and `fit`. @node Glossary, Plotting, Expressions, gnuplot @section Glossary @cindex glossary Throughout this document an attempt has been made to maintain consistency of nomenclature. This cannot be wholly successful because as `gnuplot` has evolved over time, certain command and keyword names have been adopted that preclude such perfection. This section contains explanations of the way some of these terms are used. A "page" or "screen" is the entire area addressable by `gnuplot`. On a monitor, it is the full screen; on a plotter, it is a single sheet of paper. A screen may contain one or more "plots". A plot is defined by an abscissa and an ordinate, although these need not actually appear on it, as well as the margins and any text written therein. A plot contains one "graph". A graph is defined by an abscissa and an ordinate, although these need not actually appear on it. A graph may contain one or more "lines". A line is a single function or data set. "Line" is also a plotting style. The word will also be used in sense "a line of text". Presumably the context will remove any ambiguity. The lines on a graph may have individual names. These may be listed together with a sample of the plotting style used to represent them in the "key", sometimes also called the "legend". The word "title" occurs with multiple meanings in `gnuplot`. In this document, it will always be preceded by the adjective "plot", "line", or "key" to differentiate among them. A graph may have up to four labelled axes. Various commands have the name of an axis built into their names, such as @ref{xlabel}. Other commands have one or more axis names as options, such as `set logscale xy`. The names of the four axes for these usages are "x" for the axis along the bottom border of the plot, "y" for the left border, "x2" for the top border, and "y2" for the right border. "z" also occurs in commands used with 3-d plotting. When discussing data files, the term "record" will be resurrected and used to denote a single line of text in the file, that is, the characters between newline or end-of-record characters. A "point" is the datum extracted from a single record. A "datablock" is a set of points from consecutive records, delimited by blank records. A line, when referred to in the context of a data file, is a subset of a datablock. @node Plotting, Start-up, Glossary, gnuplot @section Plotting @cindex plotting There are three `gnuplot` commands which actually create a plot: @ref{plot}, `splot` and @ref{replot}. @ref{plot} generates 2-d plots, `splot` generates 3-d plots (actually 2-d projections, of course), and @ref{replot} appends its arguments to the previous @ref{plot} or `splot` and executes the modified command. Much of the general information about plotting can be found in the discussion of @ref{plot}; information specific to 3-d can be found in the `splot` section. @ref{plot} operates in either rectangular or polar coordinates -- see `set polar` for details of the latter. `splot` operates only in rectangular coordinates, but the @ref{mapping} command allows for a few other coordinate systems to be treated. In addition, the @ref{using} option allows both @ref{plot} and `splot` to treat almost any coordinate system you'd care to define. `splot` can plot surfaces and contours in addition to points and/or lines. In addition to `splot`, see @ref{isosamples} for information about defining the grid for a 3-d function; `splot datafile` for information about the requisite file structure for 3-d data values; and @ref{contour} and @ref{cntrparam} for information about contours. @node Start-up, Substitution, Plotting, gnuplot @section Start-up @cindex startup @cindex start @cindex .gnuplot When `gnuplot` is run, it looks for an initialization file to load. This file is called `.gnuplot` on Unix and AmigaOS systems, and `GNUPLOT.INI` on other systems. If this file is not found in the current directory, the program will look for it in the home directory (under AmigaOS, Atari(single)TOS, MS-DOS and OS/2, the environment variable `gnuplot` should contain the name of this directory). Note: if NOCWDRC is defined during the installation, `gnuplot` will not read from the current directory. If the initialization file is found, `gnuplot` executes the commands in it. These may be any legal `gnuplot` commands, but typically they are limited to setting the terminal and defining frequently-used functions or variables. @node Substitution, Syntax, Start-up, gnuplot @section Substitution @cindex substitution Command-line substitution is specified by a system command enclosed in backquotes. This command is spawned and the output it produces replaces the name of the command (and backquotes) on the command line. Some implementations also support pipes; see @ref{special-filenames}. Newlines in the output produced by the spawned command are replaced with blanks. Command-line substitution can be used anywhere on the `gnuplot` command line. Example: This will run the program `leastsq` and replace `leastsq` (including backquotes) on the command line with its output: @example f(x) = `leastsq` @end example or, in VMS @example f(x) = `run leastsq` @end example @node Syntax, Time/Date_data, Substitution, gnuplot @section Syntax @cindex syntax @cindex specify @cindex punctuation The general rules of syntax and punctuation in `gnuplot` are that keywords and options are order-dependent. Options and any accompanying parameters are separated by spaces whereas lists and coordinates are separated by commas. Ranges are separated by colons and enclosed in brackets [], text and file names are enclosed in quotes, and a few miscellaneous things are enclosed in parentheses. Braces @{@} are used for a few special purposes. Commas are used to separate coordinates on the `set` commands @ref{arrow}, @ref{key}, and @ref{label}; the list of variables being fitted (the list after the `via` keyword on the `fit` command); lists of discrete contours or the loop parameters which specify them on the @ref{cntrparam} command; the arguments of the `set` commands @ref{dgrid3d}, @ref{dummy}, @ref{isosamples}, @ref{offsets}, @ref{origin}, @ref{samples}, @ref{size}, `time`, and @ref{view}; lists of tics or the loop parameters which specify them; the offsets for titles and axis labels; parametric functions to be used to calculate the x, y, and z coordinates on the @ref{plot}, @ref{replot} and `splot` commands; and the complete sets of keywords specifying individual plots (data sets or functions) on the @ref{plot}, @ref{replot} and `splot` commands. Parentheses are used to delimit sets of explicit tics (as opposed to loop parameters) and to indicate computations in the @ref{using} filter of the `fit`, @ref{plot}, @ref{replot} and `splot` commands. (Parentheses and commas are also used as usual in function notation.) Brackets are used to delimit ranges, whether they are given on `set`, @ref{plot} or `splot` commands. Colons are used to separate extrema in `range` specifications (whether they are given on `set`, @ref{plot} or `splot` commands) and to separate entries in the @ref{using} filter of the @ref{plot}, @ref{replot}, `splot` and `fit` commands. Semicolons are used to separate commands given on a single command line. Braces are used in text to be specially processed by some terminals, like `postscript`. They are also used to denote complex numbers: @{3,2@} = 3 + 2i. Text may be enclosed in single- or double-quotes. Backslash processing of sequences like \n (newline) and \345 (octal character code) is performed for double-quoted strings, but not for single-quoted strings. The justification is the same for each line of a multi-line string. Thus the center-justified string @example "This is the first line of text.\nThis is the second line." @end example will produce @example This is the first line of text. This is the second line. @end example but @example 'This is the first line of text.\nThis is the second line.' @end example will produce @example This is the first line of text.\nThis is the second line. @end example Filenames may be entered with either single- or double-quotes. In this manual the command examples generally single-quote filenames and double-quote other string tokens for clarity. At present you should not embed \n inside @{@} when using the enhanced option of the postscript terminal. The EEPIC, Imagen, Uniplex, LaTeX, and TPIC drivers allow a newline to be specified by \\ in a single-quoted string or \\\\ in a double-quoted string. Back-quotes are used to enclose system commands for substitution. @node Time/Date_data, , Syntax, gnuplot @section Time/Date data @cindex time/date `gnuplot` supports the use of time and/or date information as input data. This feature is activated by the commands `set xdata time`, `set ydata time`, etc. Internally all times and dates are converted to the number of seconds from the year 2000. The command @ref{timefmt} defines the format for all inputs: data files, ranges, tics, label positions---in short, anything that accepts a data value must receive it in this format. Since only one input format can be in force at a given time, all time/date quantities being input at the same time must be presented in the same format. Thus if both x and y data in a file are time/date, they must be in the same format. The conversion to and from seconds assumes Universal Time (which is the same as Greenwich Standard Time). There is no provision for changing the time zone or for daylight savings. If all your data refer to the same time zone (and are all either daylight or standard) you don't need to worry about these things. But if the absolute time is crucial for your application, you'll need to convert to UT yourself. Commands like @ref{xrange} will re-interpret the integer according to @ref{timefmt}. If you change @ref{timefmt}, and then `show` the quantity again, it will be displayed in the new @ref{timefmt}. For that matter, if you give the deactivation command (like @ref{xdata}), the quantity will be shown in its numerical form. The command `set format` defines the format that will be used for tic labels, whether or not the specified axis is time/date. If time/date information is to be plotted from a file, the @ref{using} option _must_ be used on the @ref{plot} or `splot` command. These commands simply use white space to separate columns, but white space may be embedded within the time/date string. If you use tabs as a separator, some trial-and-error may be necessary to discover how your system treats them. The following example demonstrates time/date plotting. Suppose the file "data" contains records like @example 03/21/95 10:00 6.02e23 @end example This file can be plotted by @example set xdata time set timefmt "%m/%d/%y" set xrange ["03/21/95":"03/22/95"] set format x "%m/%d" set timefmt "%m/%d/%y %H:%M" plot "data" using 1:3 @end example which will produce xtic labels that look like "03/21". See the descriptions of each command for more details. @node Commands, Graphical_User_Interfaces, gnuplot, Top @chapter Commands @cindex commands This section lists the commands acceptable to `gnuplot` in alphabetical order. Printed versions of this document contain all commands; on-line versions may not be complete. Indeed, on some systems there may be no commands at all listed under this heading. Note that in most cases unambiguous abbreviations for command names and their options are permissible, i.e., "`p f(x) w l`" instead of "`plot f(x) with lines`". In the syntax descriptions, braces (@{@}) denote optional arguments and a vertical bar (|) separates mutually exclusive choices. @menu * cd:: * call:: * clear:: * exit:: * fit:: * help:: * if:: * load:: * pause:: * plot:: * print:: * pwd:: * quit:: * replot:: * reread:: * reset:: * save:: * set-show:: * shell:: * splot:: * test:: * update:: @end menu @node cd, call, Commands, Commands @section cd @c ?commands cd @cindex cd @cmindex cd The @ref{cd} command changes the working directory. Syntax: @example cd '' @end example The directory name must be enclosed in quotes. Examples: @example cd 'subdir' cd ".." @end example DOS users _must_ use single-quotes---backslash [\] has special significance inside double-quotes. For example, @example cd "c:\newdata" @end example fails, but @example cd 'c:\newdata' @end example works as expected. @node call, clear, cd, Commands @section call @c ?commands call @cindex call @cmindex call The @ref{call} command is identical to the load command with one exception: you can have up to ten additional parameters to the command (delimited according to the standard parser rules) which can be substituted into the lines read from the file. As each line is read from the @ref{call}ed input file, it is scanned for the sequence `$` (dollar-sign) followed by a digit (0--9). If found, the sequence is replaced by the corresponding parameter from the @ref{call} command line. If the parameter was specified as a string in the @ref{call} line, it is substituted without its enclosing quotes. `$` followed by any character other than a digit will be that character. E.g. use `$$` to get a single `$`. Providing more than ten parameters on the @ref{call} command line will cause an error. A parameter that was not provided substitutes as nothing. Files being @ref{call}ed may themselves contain @ref{call} or @ref{load} commands. The @ref{call} command _must_ be the last command on a multi-command line. Syntax: @example call "" ... @end example The name of the input file must be enclosed in quotes, and it is recommended that parameters are similarly enclosed in quotes (future versions of gnuplot may treat quoted and unquoted arguments differently). Example: If the file 'calltest.gp' contains the line: @example print "p0=$0 p1=$1 p2=$2 p3=$3 p4=$4 p5=$5 p6=$6 p7=x$7x" @end example entering the command: @example call 'calltest.gp' "abcd" 1.2 + "'quoted'" -- "$2" @end example will display: @example p0=abcd p1=1.2 p2=+ p3='quoted' p4=- p5=- p6=$2 p7=xx @end example NOTE: there is a clash in syntax with the datafile @ref{using} callback operator. Use `$$n` or `column(n)` to access column n from a datafile inside a @ref{call}ed datafile plot. @node clear, exit, call, Commands @section clear @c ?commands clear @cindex clear @cmindex clear The @ref{clear} command erases the current screen or output device as specified by @ref{output}. This usually generates a formfeed on hardcopy devices. Use @ref{terminal} to set the device type. For some terminals @ref{clear} erases only the portion of the plotting surface defined by @ref{size}, so for these it can be used in conjunction with @ref{multiplot} to create an inset. Example: @example set multiplot plot sin(x) set origin 0.5,0.5 set size 0.4,0.4 clear plot cos(x) set nomultiplot @end example Please see @ref{multiplot}, @ref{size}, and @ref{origin} for details of these commands. @node exit, fit, clear, Commands @section exit @c ?commands exit @cindex exit @cmindex exit The commands @ref{exit} and @ref{quit} and the END-OF-FILE character will exit the current `gnuplot` command file and @ref{load} the next one. See "help batch/interactive" for more details. Each of these commands will clear the output device (as does the @ref{clear} command) before exiting. @node fit, help, exit, Commands @section fit @c ?commands fit @cindex fit @cmindex fit @cindex least-squares @cindex Marquardt The `fit` command can fit a user-defined function to a set of data points (x,y) or (x,y,z), using an implementation of the nonlinear least-squares (NLLS) Marquardt-Levenberg algorithm. Any user-defined variable occurring in the function body may serve as a fit parameter, but the return type of the function must be real. Syntax: @example fit @{[xrange] @{[yrange]@}@} '' @{datafile-modifiers@} via '' | @{,,...@} @end example Ranges may be specified to temporarily limit the data which is to be fitted; any out-of-range data points are ignored. The syntax is @example [@{dummy_variable=@}@{@}@{:@}], @end example analogous to @ref{plot}; see @ref{ranges}. is any valid `gnuplot` expression, although it is usual to use a previously user-defined function of the form f(x) or f(x,y). is treated as in the @ref{plot} command. All the `plot datafile` modifiers (@ref{using}, @ref{every},...) except @ref{smooth} are applicable to `fit`. See `plot datafile`. The default data formats for fitting functions with a single independent variable, y=f(x), are @{x:@}y or x:y:s; those formats can be changed with the datafile @ref{using} qualifier. The third item, (a column number or an expression), if present, is interpreted as the standard deviation of the corresponding y value and is used to compute a weight for the datum, 1/s**2. Otherwise, all data points are weighted equally, with a weight of one. To fit a function with two independent variables, z=f(x,y), the required format is @ref{using} with four items, x:y:z:s. The complete format must be given---no default columns are assumed for a missing token. Weights for each data point are evaluated from 's' as above. If error estimates are not available, a constant value can be specified as a constant expression (see @ref{using}), e.g., `using 1:2:3:(1)`. Multiple datasets may be simultaneously fit with functions of one independent variable by making y a 'pseudo-variable', e.g., the dataline number, and fitting as two independent variables. See `fit multibranch`. The `via` qualifier specifies which parameters are to be adjusted, either directly, or by referencing a parameter file. Examples: @example f(x) = a*x**2 + b*x + c g(x,y) = a*x**2 + b*y**2 + c*x*y FIT_LIMIT = 1e-6 fit f(x) 'measured.dat' via 'start.par' fit f(x) 'measured.dat' using 3:($7-5) via 'start.par' fit f(x) './data/trash.dat' using 1:2:3 via a, b, c fit g(x,y) 'surface.dat' using 1:2:3:(1) via a, b, c @end example After each iteration step, detailed information about the current state of the fit is written to the display. The same information about the initial and final states is written to a log file, "fit.log". This file is always appended to, so as to not lose any previous fit history; it should be deleted or renamed as desired. The fit may be interrupted by pressing Ctrl-C (any key but Ctrl-C under MSDOS and Atari Multitasking Systems). After the current iteration completes, you have the option to (1) stop the fit and accept the current parameter values, (2) continue the fit, (3) execute a `gnuplot` command as specified by the environment variable FIT_SCRIPT. The default for FIT_SCRIPT is @ref{replot}, so if you had previously plotted both the data and the fitting function in one graph, you can display the current state of the fit. Once `fit` has finished, the @ref{update} command may be used to store final values in a file for subsequent use as a parameter file. See @ref{update} for details. @menu * adjustable_parameters:: * beginner's_guide:: * error_estimates:: * fit_controlling:: * multi-branch:: * starting_values:: * tips:: @end menu @node adjustable_parameters, beginner's_guide, fit, fit @subsection adjustable parameters @c ?commands fit parameters @c ?fit parameters @c ?commands fit adjustable_parameters @c ?fit adjustable_parameters @cindex fit_parameters There are two ways that `via` can specify the parameters to be adjusted, either directly on the command line or indirectly, by referencing a parameter file. The two use different means to set initial values. Adjustable parameters can be specified by a comma-separated list of variable names after the `via` keyword. Any variable that is not already defined is is created with an initial value of 1.0. However, the fit is more likely to converge rapidly if the variables have been previously declared with more appropriate starting values. In a parameter file, each parameter to be varied and a corresponding initial value are specified, one per line, in the form @example varname = value @end example Comments, marked by '#', and blank lines are permissible. The special form @example varname = value # FIXED @end example means that the variable is treated as a 'fixed parameter', initialized by the parameter file, but not adjusted by `fit`. For clarity, it may be useful to designate variables as fixed parameters so that their values are reported by `fit`. The keyword `# FIXED` has to appear in exactly this form. @node beginner's_guide, error_estimates, adjustable_parameters, fit @subsection beginner's guide @c ?commands fit beginners_guide @c ?fit beginners_guide @c ?fit guide @cindex fitting `fit` is used to find a set of parameters that 'best' fits your data to your user-defined function. The fit is judged on the basis of the the sum of the squared differences or 'residuals' (SSR) between the input data points and the function values, evaluated at the same places. This quantity is often called 'chisquare' (i.e., the Greek letter chi, to the power of 2). The algorithm attempts to minimize SSR, or more precisely, WSSR, as the residuals are 'weighted' by the input data errors (or 1.0) before being squared; see `fit error_estimates` for details. That's why it is called 'least-squares fitting'. Let's look at an example to see what is meant by 'non-linear', but first we had better go over some terms. Here it is convenient to use z as the dependent variable for user-defined functions of either one independent variable, z=f(x), or two independent variables, z=f(x,y). A parameter is a user-defined variable that `fit` will adjust, i.e., an unknown quantity in the function declaration. Linearity/non-linearity refers to the relationship of the dependent variable, z, to the parameters which `fit` is adjusting, not of z to the independent variables, x and/or y. (To be technical, the second @{and higher@} derivatives of the fitting function with respect to the parameters are zero for a linear least-squares problem). For linear least-squares (LLS), the user-defined function will be a sum of simple functions, not involving any parameters, each multiplied by one parameter. NLLS handles more complicated functions in which parameters can be used in a large number of ways. An example that illustrates the difference between linear and nonlinear least-squares is the Fourier series. One member may be written as @example z=a*sin(c*x) + b*cos(c*x). @end example If a and b are the unknown parameters and c is constant, then estimating values of the parameters is a linear least-squares problem. However, if c is an unknown parameter, the problem is nonlinear. In the linear case, parameter values can be determined by comparatively simple linear algebra, in one direct step. However LLS is a special case which is also solved along with more general NLLS problems by the iterative procedure that `gnuplot` uses. `fit` attempts to find the minimum by doing a search. Each step (iteration) calculates WSSR with a new set of parameter values. The Marquardt-Levenberg algorithm selects the parameter values for the next iteration. The process continues until a preset criterium is met, either (1) the fit has "converged" (the relative change in WSSR is less than FIT_LIMIT), or (2) it reaches a preset iteration count limit, FIT_MAXITER (see @ref{variables}). The fit may also be interrupted and subsequently halted from the keyboard (see `fit`). Often the function to be fitted will be based on a model (or theory) that attempts to describe or predict the behaviour of the data. Then `fit` can be used to find values for the free parameters of the model, to determine how well the data fits the model, and to estimate an error range for each parameter. See `fit error_estimates`. Alternatively, in curve-fitting, functions are selected independent of a model (on the basis of experience as to which are likely to describe the trend of the data with the desired resolution and a minimum number of parameters*functions.) The `fit` solution then provides an analytic representation of the curve. However, if all you really want is a smooth curve through your data points, the @ref{smooth} option to @ref{plot} may be what you've been looking for rather than `fit`. @node error_estimates, fit_controlling, beginner's_guide, fit @subsection error estimates @c ?commands fit error_estimate @c ?fit error_estimate @c ?fit errors In `fit`, the term "error" is used in two different contexts, data error estimates and parameter error estimates. Data error estimates are used to calculate the relative weight of each data point when determining the weighted sum of squared residuals, WSSR or chisquare. They can affect the parameter estimates, since they determine how much influence the deviation of each data point from the fitted function has on the final values. Some of the `fit` output information, including the parameter error estimates, is more meaningful if accurate data error estimates have been provided. The 'statistical overview' describes some of the `fit` output and gives some background for the 'practical guidelines'. @menu * statistical_overview:: * practical_guidelines:: @end menu @node statistical_overview, practical_guidelines, error_estimates, error_estimates @subsubsection statistical overview @c ?commands fit error statistical_overview @c ?fit error statistical_overview @cindex statistical_overview The theory of non-linear least-squares (NLLS) is generally described in terms of a normal distribution of errors, that is, the input data is assumed to be a sample from a population having a given mean and a Gaussian (normal) distribution about the mean with a given standard deviation. For a sample of sufficiently large size, and knowing the population standard deviation, one can use the statistics of the chisquare distribution to describe a "goodness of fit" by looking at the variable often called "chisquare". Here, it is sufficient to say that a reduced chisquare (chisquare/degrees of freedom, where degrees of freedom is the number of datapoints less the number of parameters being fitted) of 1.0 is an indication that the weighted sum of squared deviations between the fitted function and the data points is the same as that expected for a random sample from a population characterized by the function with the current value of the parameters and the given standard deviations. If the standard deviation for the population is not constant, as in counting statistics where variance = counts, then each point should be individually weighted when comparing the observed sum of deviations and the expected sum of deviations. At the conclusion `fit` reports 'stdfit', the standard deviation of the fit, which is the rms of the residuals, and the variance of the residuals, also called 'reduced chisquare' when the data points are weighted. The number of degrees of freedom (the number of data points minus the number of fitted parameters) is used in these estimates because the parameters used in calculating the residuals of the datapoints were obtained from the same data. To estimate confidence levels for the parameters, one can use the minimum chisquare obtained from the fit and chisquare statistics to determine the value of chisquare corresponding to the desired confidence level, but considerably more calculation is required to determine the combinations of parameters which produce such values. Rather than determine confidence intervals, `fit` reports parameter error estimates which are readily obtained from the variance-covariance matrix after the final iteration. By convention, these estimates are called "standard errors" or "asymptotic standard errors", since they are calculated in the same way as the standard errors (standard deviation of each parameter) of a linear least-squares problem, even though the statistical conditions for designating the quantity calculated to be a standard deviation are not generally valid for the NLLS problem. The asymptotic standard errors are generally over-optimistic and should not be used for determining confidence levels, but are useful for qualitative purposes. The final solution also produces a correlation matrix, which gives an indication of the correlation of parameters in the region of the solution; if one parameter is changed, increasing chisquare, does changing another compensate? The main diagonal elements, autocorrelation, are all 1; if all parameters were independent, all other elements would be nearly 0. Two variables which completely compensate each other would have an off-diagonal element of unit magnitude, with a sign depending on whether the relation is proportional or inversely proportional. The smaller the magnitudes of the off-diagonal elements, the closer the estimates of the standard deviation of each parameter would be to the asymptotic standard error. @node practical_guidelines, , statistical_overview, error_estimates @subsubsection practical guidelines @c ?commands fit error practical_guidelines @c ?fit error practical_guidelines @cindex practical_guidelines @cindex guidelines If you have a basis for assigning weights to each data point, doing so lets you make use of additional knowledge about your measurements, e.g., take into account that some points may be more reliable than others. That may affect the final values of the parameters. Weighting the data provides a basis for interpreting the additional `fit` output after the last iteration. Even if you weight each point equally, estimating an average standard deviation rather than using a weight of 1 makes WSSR a dimensionless variable, as chisquare is by definition. Each fit iteration will display information which can be used to evaluate the progress of the fit. (An '*' indicates that it did not find a smaller WSSR and is trying again.) The 'sum of squares of residuals', also called 'chisquare', is the WSSR between the data and your fitted function; `fit` has minimized that. At this stage, with weighted data, chisquare is expected to approach the number of degrees of freedom (data points minus parameters). The WSSR can be used to calculate the reduced chisquare (WSSR/ndf) or stdfit, the standard deviation of the fit, sqrt(WSSR/ndf). Both of these are reported for the final WSSR. If the data are unweighted, stdfit is the rms value of the deviation of the data from the fitted function, in user units. If you supplied valid data errors, the number of data points is large enough, and the model is correct, the reduced chisquare should be about unity. (For details, look up the 'chi-squared distribution' in your favourite statistics reference.) If so, there are additional tests, beyond the scope of this overview, for determining how well the model fits the data. A reduced chisquare much larger than 1.0 may be due to incorrect data error estimates, data errors not normally distributed, systematic measurement errors, 'outliers', or an incorrect model function. A plot of the residuals, e.g., `plot 'datafile' using 1:($2-f($1))`, may help to show any systematic trends. Plotting both the data points and the function may help to suggest another model. Similarly, a reduced chisquare less than 1.0 indicates WSSR is less than that expected for a random sample from the function with normally distributed errors. The data error estimates may be too large, the statistical assumptions may not be justified, or the model function may be too general, fitting fluctuations in a particular sample in addition to the underlying trends. In the latter case, a simpler function may be more appropriate. You'll have to get used to both `fit` and the kind of problems you apply it to before you can relate the standard errors to some more practical estimates of parameter uncertainties or evaluate the significance of the correlation matrix. Note that `fit`, in common with most NLLS implementations, minimizes the weighted sum of squared distances (y-f(x))**2. It does not provide any means to account for "errors" in the values of x, only in y. Also, any "outliers" (data points outside the normal distribution of the model) will have an exaggerated effect on the solution. @node fit_controlling, multi-branch, error_estimates, fit @subsection fit controlling @c ?commands fit_control @cindex fit_control @c ?fit control There are a number of `gnuplot` variables that can be defined to affect `fit`. Those which can be defined once `gnuplot` is running are listed under 'control_variables' while those defined before starting `gnuplot` are listed under 'environment_variables'. @menu * control_variables:: * environment_variables:: @end menu @node control_variables, environment_variables, fit_controlling, fit_controlling @subsubsection control variables @c ?commands fit_control variables @c ?fit_control variables @c ?fit control variables The default epsilon limit (1e-5) may be changed by declaring a value for @example FIT_LIMIT @end example When the sum of squared residuals changes between two iteration steps by a factor less than this number (epsilon), the fit is considered to have 'converged'. The maximum number of iterations may be limited by declaring a value for @example FIT_MAXITER @end example A value of 0 (or not defining it at all) means that there is no limit. If you need even more control about the algorithm, and know the Marquardt-Levenberg algorithm well, there are some more variables to influence it. The startup value of `lambda` is normally calculated automatically from the ML-matrix, but if you want to, you may provide your own one with @example FIT_START_LAMBDA @end example Specifying FIT_START_LAMBDA as zero or less will re-enable the automatic selection. The variable @example FIT_LAMBDA_FACTOR @end example gives the factor by which `lambda` is increased or decreased whenever the chi-squared target function increased or decreased significantly. Setting FIT_LAMBDA_FACTOR to zero re-enables the default factor of 10.0. Oher variables with the FIT_ prefix may be added to `fit`, so it is safer not to use that prefix for user-defined variables. The variables FIT_SKIP and FIT_INDEX were used by earlier releases of `gnuplot` with a 'fit' patch called `gnufit` and are no longer available. The datafile @ref{every} modifier provides the functionality of FIT_SKIP. FIT_INDEX was used for multi-branch fitting, but multi-branch fitting of one independent variable is now done as a pseudo-3D fit in which the second independent variable and @ref{using} are used to specify the branch. See @ref{multi-branch}. @node environment_variables, , control_variables, fit_controlling @subsubsection environment variables @c ?commands fit_control environment @c ?fit_control environment @c ?fit control environment The environment variables must be defined before `gnuplot` is executed; how to do so depends on your operating system. @example FIT_LOG @end example changes the name (and/or path) of the file to which the fit log will be written from the default of "fit.log" in the working directory. @example FIT_SCRIPT @end example specifies a command that may be executed after an user interrupt. The default is @ref{replot}, but a @ref{plot} or @ref{load} command may be useful to display a plot customized to highlight the progress of the fit. @node multi-branch, starting_values, fit_controlling, fit @subsection multi-branch @c ?commands fit multi-branch @c ?fit multi-branch @cindex multi-branch @cindex branch In multi-branch fitting, multiple data sets can be simultaneously fit with functions of one independent variable having common parameters by minimizing the total WSSR. The function and parameters (branch) for each data set are selected by using a 'pseudo-variable', e.g., either the dataline number (a 'column' index of -1) or the datafile index (-2), as the second independent variable. Example: Given two exponential decays of the form, z=f(x), each describing a different data set but having a common decay time, estimate the values of the parameters. If the datafile has the format x:z:s, then @example f(x,y) = (y==0) ? a*exp(-x/tau) : b*exp(-x/tau) fit f(x,y) 'datafile' using 1:-1:2:3 via a, b, tau @end example For a more complicated example, see the file "hexa.fnc" used by the "fit.dem" demo. Appropriate weighting may be required since unit weights may cause one branch to predominate if there is a difference in the scale of the dependent variable. Fitting each branch separately, using the multi-branch solution as initial values, may give an indication as to the relative effect of each branch on the joint solution. @node starting_values, tips, multi-branch, fit @subsection starting values @c ?commands fit starting_values @c ?fit starting_values @cindex starting_values Nonlinear fitting is not guaranteed to converge to the global optimum (the solution with the smallest sum of squared residuals, SSR), and can get stuck at a local minimum. The routine has no way to determine that; it is up to you to judge whether this has happened. `fit` may, and often will get "lost" if started far from a solution, where SSR is large and changing slowly as the parameters are varied, or it may reach a numerically unstable region (e.g., too large a number causing a floating point overflow) which results in an "undefined value" message or `gnuplot` halting. To improve the chances of finding the global optimum, you should set the starting values at least roughly in the vicinity of the solution, e.g., within an order of magnitude, if possible. The closer your starting values are to the solution, the less chance of stopping at another minimum. One way to find starting values is to plot data and the fitting function on the same graph and change parameter values and @ref{replot} until reasonable similarity is reached. The same plot is also useful to check whether the fit stopped at a minimum with a poor fit. Of course, a reasonably good fit is not proof there is not a "better" fit (in either a statistical sense, characterized by an improved goodness-of-fit criterion, or a physical sense, with a solution more consistent with the model.) Depending on the problem, it may be desirable to `fit` with various sets of starting values, covering a reasonable range for each parameter. @node tips, , starting_values, fit @subsection tips @c ?commands fit tips @c ?fit tips @cindex tips Here are some tips to keep in mind to get the most out of `fit`. They're not very organized, so you'll have to read them several times until their essence has sunk in. The two forms of the `via` argument to `fit` serve two largely distinct purposes. The `via "file"` form is best used for (possibly unattended) batch operation, where you just supply the startup values in a file and can later use @ref{update} to copy the results back into another (or the same) parameter file. The `via var1, var2, ...` form is best used interactively, where the command history mechanism may be used to edit the list of parameters to be fitted or to supply new startup values for the next try. This is particularly useful for hard problems, where a direct fit to all parameters at once won't work without good starting values. To find such, you can iterate several times, fitting only some of the parameters, until the values are close enough to the goal that the final fit to all parameters at once will work. Make sure that there is no mutual dependency among parameters of the function you are fitting. For example, don't try to fit a*exp(x+b), because a*exp(x+b)=a*exp(b)*exp(x). Instead, fit either a*exp(x) or exp(x+b). A technical issue: the parameters must not be too different in magnitude. The larger the ratio of the largest and the smallest absolute parameter values, the slower the fit will converge. If the ratio is close to or above the inverse of the machine floating point precision, it may take next to forever to converge, or refuse to converge at all. You will have to adapt your function to avoid this, e.g., replace 'parameter' by '1e9*parameter' in the function definition, and divide the starting value by 1e9. If you can write your function as a linear combination of simple functions weighted by the parameters to be fitted, by all means do so. That helps a lot, because the problem is no longer nonlinear and should converge with only a small number of iterations, perhaps just one. Some prescriptions for analysing data, given in practical experimentation courses, may have you first fit some functions to your data, perhaps in a multi-step process of accounting for several aspects of the underlying theory one by one, and then extract the information you really wanted from the fitting parameters of those functions. With `fit`, this may often be done in one step by writing the model function directly in terms of the desired parameters. Transforming data can also quite often be avoided, though sometimes at the cost of a more difficult fit problem. If you think this contradicts the previous paragraph about simplifying the fit function, you are correct. A "singular matrix" message indicates that this implementation of the Marquardt-Levenberg algorithm can't calculate parameter values for the next iteration. Try different starting values, writing the function in another form, or a simpler function. Finally, a nice quote from the manual of another fitting package (fudgit), that kind of summarizes all these issues: "Nonlinear fitting is an art!" @node help, if, fit, Commands @section help @c ?commands help @cindex help @cmindex help The @ref{help} command displays on-line help. To specify information on a particular topic use the syntax: @example help @{@} @end example If is not specified, a short message is printed about `gnuplot`. After help for the requested topic is given, a menu of subtopics is given; help for a subtopic may be requested by typing its name, extending the help request. After that subtopic has been printed, the request may be extended again or you may go back one level to the previous topic. Eventually, the `gnuplot` command line will return. If a question mark (?) is given as the topic, the list of topics currently available is printed on the screen. @node if, load, help, Commands @section if @c ?commands if @cindex if @cmindex if The @ref{if} command allows commands to be executed conditionally. Syntax: @example if () @end example will be evaluated. If it is true (non-zero), then the command(s) of the will be executed. If is false (zero), then the entire is ignored. Note that use of `;` to allow multiple commands on the same line will _not_ end the conditionalized commands. Examples: @example pi=3 if (pi!=acos(-1)) print "?Fixing pi!"; pi=acos(-1); print pi @end example will display: @example ?Fixing pi! 3.14159265358979 @end example but @example if (1==2) print "Never see this"; print "Or this either" @end example will not display anything. See @ref{reread} for an example of how @ref{if} and @ref{reread} can be used together to perform a loop. @node load, pause, if, Commands @section load @c ?commands load @cindex load @cmindex load The @ref{load} command executes each line of the specified input file as if it had been typed in interactively. Files created by the @ref{save} command can later be @ref{load}ed. Any text file containing valid commands can be created and then executed by the @ref{load} command. Files being @ref{load}ed may themselves contain @ref{load} or @ref{call} commands. See `comment` for information about comments in commands. To @ref{load} with arguments, see @ref{call}. The @ref{load} command _must_ be the last command on a multi-command line. Syntax: @example load "" @end example The name of the input file must be enclosed in quotes. The special filename "-" may be used to @ref{load} commands from standard input. This allows a `gnuplot` command file to accept some commands from standard input. Please see "help batch/interactive" for more details. Examples: @example load 'work.gnu' load "func.dat" @end example The @ref{load} command is performed implicitly on any file names given as arguments to `gnuplot`. These are loaded in the order specified, and then `gnuplot` exits. @node pause, plot, load, Commands @section pause @c ?commands pause @cindex pause @cmindex pause The @ref{pause} command displays any text associated with the command and then waits a specified amount of time or until the carriage return is pressed. @ref{pause} is especially useful in conjunction with @ref{load} files. Syntax: @example pause