Gnuplot in Action

Total Page:16

File Type:pdf, Size:1020Kb

Gnuplot in Action IN ACTION Understanding data with graphs Philipp K. Janert FOREWORDS BY COLIN D. KELLEY AND THOMAS WILLIAMS MANNING Gnuplot in Action Gnuplot in Action Understanding Data with Graphs PHILIPP K. JANERT MANNING Greenwich (74° w. long.) For online information and ordering of this and other Manning books, please visit www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact Special Sales Department Manning Publications Co. Sound View Court 3B fax: (609) 877-8256 Greenwick, CT 06830 email: [email protected] ©2010 by Manning Publications Co. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps. Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books we publish printed on acid-free paper, and we exert our best efforts to that end. Recognizing also our responsibility to conserve the resources of our planet, Manning books are printed on paper that is at least 15 percent recycled and processed without the use of elemental chlorine. Development editor: Nermina Miller, Tom Cirtin Copyeditor: Benjamin Berg Manning Publications Co. Proofreader: Katie Tennant Sound View Court 3B Typesetter: Dottie Marsico Greenwich, CT 06830 Cover designer: Marija Tudor ISBN 978-1-933988-39-9 Printed in the United States of America 1 2 3 4 5 6 7 8 9 10 – MAL – 14 13 12 11 10 09 The purpose of computing is insight, not numbers. —R. W. Hamming The purpose of computing is insight, not pictures. —L. N. Trefethen brief contents PART 1 BASICS ..........................................................................1 1 ■ Prelude: Understanding data with gnuplot 3 2 ■ Essential gnuplot 16 3 ■ Working with data 29 4 ■ Practical matters 49 PART 2 POLISHING .................................................................65 5 ■ Doing it with style 67 6 ■ Decorations 90 7 ■ All about axes 110 PART 3 ADVANCED GNUPLOT ................................................131 8 ■ Three-dimensional plots 133 9 ■ Color 152 10 ■ Advanced plotting concepts 175 11 ■ Terminals in depth 200 12 ■ Macros, scripting, and batch operations 222 vii PART 4 GRAPHICAL ANALYSIS WITH GNUPLOT .......................243 13 ■ Fundamental graphical methods 245 14 ■ Techniques of graphical analysis 273 15 ■ Coda: Understanding data with graphs 301 contents foreword xvii foreword xix preface xxi acknowledgments xxiii about this book xxv PART 1 BASICS .................................................................1 Prelude: Understanding data with gnuplot 3 1 1.1 A busy weekend 4 Planning a marathon 4 ■ Determining the future 6 1.2 What is graphical analysis? 9 Data analysis and visualization concepts 10 ■ Why graphical analysis? 12 ■ Limitations of graphical analysis 12 1.3 What is gnuplot? 13 Gnuplot isn’t GNU 13 ■ Why gnuplot? 14 ■ Limitations 15 1.4 Summary 15 ix x CONTENTS Essential gnuplot 16 2 2.1 Simple plots 16 Invoking gnuplot and first plots 17 ■ Plotting data from a file 20 ■ Abbreviations and defaults 23 2.2 Saving and exporting 24 Saving and loading commands 25 ■ Exporting graphs 25 One-step export script 27 2.3 Summary 28 Working with data 29 3 3.1 Managing large data sets 30 Multiple data sets per file: index 30 ■ Records spanning multiple lines: every 31 3.2 Smoothing and summarizing data 32 Plotting unsorted data files 32 ■ Smoothing noisy data 35 3.3 Math with gnuplot 38 Mathematical expressions 38 ■ Built-in functions 38 User-defined variables and functions 39 ■ Complex numbers 40 3.4 Data transformations 41 Simple data transformations 41 ■ Pseudocolumns and the column function 42 3.5 Plotting functions and data 43 Tricks and warnings 44 3.6 Logarithmic plots 44 How do logarithmic plots work? 44 3.7 Summary 47 Practical matters 49 4 4.1 Managing options 50 4.2 Data files 51 Permissible formats and options 51 4.3 Strings 55 Quotes 55 ■ String operations 55 ■ String applications 57 Crazy example: plotting the Unix password file 58 4.4 Generating textual output 59 The print command 59 ■ The set table option 60 CONTENTS xi 4.5 Interacting with gnuplot 61 Getting help 61 ■ Command history 61 ■ Hot keys and mousing 62 ■ Reading data interactively 63 4.6 Summary 64 PART 2 POLISHING ........................................................65 Doing it with style 67 5 5.1 Choosing plot styles 68 Inline style directives 68 ■ Terminal capabilities 69 Global style directives 70 5.2 Plot styles 70 Core styles 71 ■ Box styles 72 ■ Styles with errorbars or ranges 78 ■ Filled styles 81 ■ Other styles 84 5.3 Customizing styles 85 Custom line styles 86 ■ Specifying color 87 Worked example: half-tone shading 87 5.4 Summary 89 Decorations 90 6 6.1 Quick start: minimal context for data 91 6.2 Digression: locations on a graph 92 6.3 Additional graph elements: decorations 94 Common conventions 94 ■ Arrows 94 ■ Text labels 97 Objects 99 6.4 The graph’s legend or key 100 Turning the key on and off 101 ■ Placement 101 Layout 101 ■ Explanations 102 ■ Appearance 104 Default settings 104 6.5 Worked example: features of a spectrum 104 6.6 Overall appearance 106 Size and aspect ratio 106 ■ Borders and margins 108 6.7 Summary 109 All about axes 110 7 7.1 Multiple axes 111 Terminology 111 ■ Plotting with two coordinate systems 112 Should you do it? 113 xii CONTENTS 7.2 Selecting plot ranges 115 7.3 Tic marks 116 Major tic marks 116 ■ Minor tic marks 117 ■ Formatting the tic labels 118 ■ Reading tic labels from file 122 Grid and zero axes 123 7.4 A worked example 123 7.5 Special case: time series 124 Turning numbers into names: months and weekdays 124 General time series: the gory details 127 7.6 Summary 130 PART 3 ADVANCED GNUPLOT .......................................131 Three-dimensional plots 133 8 8.1 Basics 135 8.2 Options for surface and contour plots 136 Surface plots 136 ■ Contour lines 139 8.3 Coordinate axes and view point 141 Borders 142 ■ View point 143 8.4 Plotting data from a file using splot 145 Grid format 146 ■ Matrix format 148 ■ Smooth surfaces 149 8.5 Summary 151 Color 152 9 9.1 Defining palettes 153 Color spaces: a refresher 153 ■ The palette option 154 9.2 Creating colored graphs with palettes 157 The pm3d mode 157 ■ The colorbox 158 ■ Other ways to use color 160 9.3 Using color for data representation 161 Thoughts on palette design 162 ■ Some sample palettes 165 Words of caution 168 9.4 Case studies 169 A smoothly varying function 169 ■ A complex figure 171 9.5 Summary 173 CONTENTS xiii Advanced plotting concepts 175 10 10.1 Multiplot 176 Regular arrays of graphs with layout 177 ■ Graphs within a graph 179 ■ Graphs aligned on a common axis 181 10.2 Higher math and special occasions 183 Parametric plots 183 ■ Non-Cartesian coordinates 184 Vector fields 188 10.3 Curve fitting 190 Background 190 ■ Using the fit command 191 ■ Worked example 195 ■ Should you do it? 197 10.4 Summary 199 Terminals in depth 200 11 11.1 Exporting graphs to file 201 11.2 Common terminal options 202 Size 202 ■ Fonts 202 ■ Enhanced text mode 202 Miscellaneous appearance options 205 ■ Flushing output channels 205 11.3 Standard graphics file formats 206 Bitmaps 206 ■ SVG 208 11.4 Print-quality output 209 PostScript 209 ■ Using PostScript plots with LaTeX 211 PDF 217 11.5 Interactive terminals 218 wxt 218 ■ x11 219 ■ aqua 219 ■ windows 219 11.6 Other terminals 220 11.7 Summary 221 Macros, scripting, and batch operations 222 12 12.1 Strings and string macros 223 12.2 Calling other programs from gnuplot 224 Executing a command in a subshell 225 ■ Capturing the output of a subprocess 225 ■ Input/output redirection (Unix only) 226 Example: watermarking plots 227 12.3 Calling gnuplot from other programs 228 Batch operations 228 ■ Invoking gnuplot from other programs 229 ■ Example: creating a font table 232 xiv CONTENTS 12.4 Slideshows with pause and reread 232 12.5 Configuring your workspace 234 Creating custom hot key bindings 236 12.6 Gnuplot for the web 239 Using Gnuplot as a CGI script 239 ■ Using gnuplot as a subprocess to a CGI script 241 12.7 Summary 241 PART 4 GRAPHICAL ANALYSIS WITH GNUPLOT ............. 243 Fundamental graphical methods 245 13 13.1 Relationships 246 Scatter plots 246 ■ Logarithmic scales 252 13.2 Counting statistics 256 Jitter plots and histograms 256 ■ Kernel density estimates 258 Cumulative distribution functions 259 ■ Consider using median and percentiles 261 13.3 Ranked data 262 13.4 Multivariate data 264 Parallel coordinate plots 264 ■ Multivariate analysis 269 Star plots 270 ■ Historical perspective: computer-aided data analysis 271 13.5 Summary 272 Techniques of graphical analysis 273 14 14.1 The core principle of graphical analysis 274 14.2 Iteration and transformation 275 A case study in iteration: car data 275 ■ Making data comparable: monitoring quantities in a control chart 278 ■ Honor the data: truncation and responsiveness 280 14.3 Changing the appearance to improve perception 284 Banking 284 ■ Judging lengths and distances 287 Enhancing quantitative perception 289 ■ Plot ranges and the matter of zero 291 ■ A tough problem: the display of changing compositions 292 CONTENTS xv 14.4 Housekeeping 296 The lifecycle of a graph 296 ■ Input data files 296 ■ Output files 298 14.5 Reminders for presentation graphics 298 14.6 Summary 300 15 Coda: Understanding data with graphs 301 appendix A Obtaining, building, and installing gnuplot 303 appendix B Gnuplot reference 309 appendix C Resources 345 index 351 foreword Thomas Williams was a CS undergrad and I was an EE/CS undergrad at Villanova Uni- versity.
Recommended publications
  • A Quick Guide to Gnuplot
    A Quick Guide to Gnuplot Andrea Mignone Physics Department, University of Torino AA 2020-2021 What is Gnuplot ? • Gnuplot is a free, command-driven, interactive, function and data plotting program, providing a relatively simple environment to make simple 2D plots (e.g. f(x) or f(x,y)); • It is available for all platforms, including Linux, Mac and Windows (http://www.gnuplot.info) • To start gnuplot from the terminal, simply type > gnuplot • To produce a simple plot, e.g. f(x) = sin(x) and f(x) = cos(x)^2 gnuplot> plot sin(x) gnuplot> replot (cos(x))**2 # Add another plot • By default, gnuplot assumes that the independent, or "dummy", variable for the plot command is "x” (or “t” in parametric mode). Mathematical Functions • In general, any mathematical expression accepted by C, FORTRAN, Pascal, or BASIC may be plotted. The precedence of operators is determined by the specifications of the C programming language. • Gnuplot supports the same operators of the C programming language, except that most operators accept integer, real, and complex arguments. • Exponentiation is done through the ** operator (as in FORTRAN) Using set/unset • The set/unset commands can be used to controls many features, including axis range and type, title, fonts, etc… • Here are some examples: Command Description set xrange[0:2*pi] Limit the x-axis range from 0 to 2*pi, set ylabel “f(x)” Sets the label on the y-axis (same as “set xlabel”) set title “My Plot” Sets the plot title set log y Set logarithmic scale on the y-axis (same as “set log x”) unset log y Disable log scale on the y-axis set key bottom left Position the legend in the bottom left part of the plot set xlabel font ",18" Change font size for the x-axis label (same as “set ylabel”) set tic font ",18" Change the major (labelled) tics font size on all axes.
    [Show full text]
  • Python Data Plotting and Visualisation Extravaganza 1 Introduction
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by The Python Papers Anthology The Python Papers Monograph, Vol. 1 (2009) 1 Available online at http://ojs.pythonpapers.org/index.php/tppm Python Data Plotting and Visualisation Extravaganza Guy K. Kloss Computer Science Institute of Information & Mathematical Sciences Massey University at Albany, Auckland, New Zealand [email protected] This paper tries to dive into certain aspects of graphical visualisation of data. Specically it focuses on the plotting of (multi-dimensional) data us- ing 2D and 3D tools, which can update plots at run-time of an application producing or acquiring new or updated data during its run time. Other visual- isation tools for example for graph visualisation, post computation rendering and interactive visual data exploration are intentionally left out. Keywords: Linear regression; vector eld; ane transformation; NumPy. 1 Introduction Many applications produce data. Data by itself is often not too helpful. To generate knowledge out of data, a user usually has to digest the information contained within the data. Many people have the tendency to extract patterns from information much more easily when the data is visualised. So data that can be visualised in some way can be much more accessible for the purpose of understanding. This paper focuses on the aspect of data plotting for these purposes. Data stored in some more or less structured form can be analysed in multiple ways. One aspect of this is post-analysis, which can often be organised in an interactive exploration fashion. One may for example import the data into a spreadsheet or otherwise suitable software tool which allows to present the data in various ways.
    [Show full text]
  • Sage Tutorial (Pdf)
    Sage Tutorial Release 9.4 The Sage Development Team Aug 24, 2021 CONTENTS 1 Introduction 3 1.1 Installation................................................4 1.2 Ways to Use Sage.............................................4 1.3 Longterm Goals for Sage.........................................5 2 A Guided Tour 7 2.1 Assignment, Equality, and Arithmetic..................................7 2.2 Getting Help...............................................9 2.3 Functions, Indentation, and Counting.................................. 10 2.4 Basic Algebra and Calculus....................................... 14 2.5 Plotting.................................................. 20 2.6 Some Common Issues with Functions.................................. 23 2.7 Basic Rings................................................ 26 2.8 Linear Algebra.............................................. 28 2.9 Polynomials............................................... 32 2.10 Parents, Conversion and Coercion.................................... 36 2.11 Finite Groups, Abelian Groups...................................... 42 2.12 Number Theory............................................. 43 2.13 Some More Advanced Mathematics................................... 46 3 The Interactive Shell 55 3.1 Your Sage Session............................................ 55 3.2 Logging Input and Output........................................ 57 3.3 Paste Ignores Prompts.......................................... 58 3.4 Timing Commands............................................ 58 3.5 Other IPython
    [Show full text]
  • Gnuplot Documentation and Sources
    gnuplot 5.0 An Interactive Plotting Program Thomas Williams & Colin Kelley Version 5.0 organized by: Ethan A Merritt and many others Major contributors (alphabetic order): Christoph Bersch, Hans-Bernhard Br¨oker, John Campbell, Robert Cunningham, David Denholm, Gershon Elber, Roger Fearick, Carsten Grammes, Lucas Hart, Lars Hecking, P´eterJuh´asz, Thomas Koenig, David Kotz, Ed Kubaitis, Russell Lang, Timoth´eeLecomte, Alexander Lehmann, J´er^omeLodewyck, Alexander Mai, Bastian M¨arkisch, Ethan A Merritt, Petr Mikul´ık, Carsten Steger, Shigeharu Takeno, Tom Tkacik, Jos Van der Woude, James R. Van Zandt, Alex Woo, Johannes Zellner Copyright c 1986 - 1993, 1998, 2004 Thomas Williams, Colin Kelley Copyright c 2004 - 2017 various authors Mailing list for comments: [email protected] Mailing list for bug reports: [email protected] Web access (preferred): http://sourceforge.net/projects/gnuplot This manual was originally prepared by Dick Crawford. Version 5.0.7 (August 2017) 2 gnuplot 5.0 CONTENTS Contents I Gnuplot 17 Copyright 17 Introduction 17 Seeking-assistance 18 New features in version 5 19 New commands............................................... 20 Changes in version 5 20 Deprecated syntax 21 Demos and Online Examples 21 Batch/Interactive Operation 21 Canvas size 22 Command-line-editing 22 Comments 23 Coordinates 23 Datastrings 24 Enhanced text mode 24 Environment 25 Expressions 26 Functions.................................................. 27 Elliptic integrals..........................................
    [Show full text]
  • Snap.Py SNAP for Python
    An Introduction to Snap.py SNAP for Python Author: Rok Sosic Created: Sep 26, 2013 Content Introduction to Snap.py Tutorial Plotting Q&A What is SNAP? Stanford Network Analysis Project (SNAP) General purpose, high performance system for analysis and manipulation of large networks Scales to massive networks with hundreds of millions of nodes, and billions of edges Manipulates large networks, calculates structural properties, generates graphs, and supports attributes on nodes and edges Software is C++ based Web site at http://snap.stanford.edu What is Snap.py? Snap.py: SNAP for Python Provides SNAP functionality in Python C++ Good - fast program execution Downside - complex language, needs compilation Python Downside – slow program execution Good – simple language, interactive use Snap.py Good – fast program execution Good – simple language, interactive use Web site at http://snap.stanford.edu/snap/snap.py.html Snap.py Documentation Check out Snap.py at: http://snap.stanford.edu/snap/snap.py.html Packages for Mac OS X, Windows, Linux Quick Introduction and Tutorial SNAP documentation (snap.stanford.edu) User Reference Manual Top level graph classes TUNGraph, TNGraph, TNEANet Namespace TSnap Developer resources Developer Reference Manual GitHub repository SNAP C++ Programming Guide Snap.py Installation Download the Snap.py package for your platform: http://snap.stanford.edu/snap/snap.py.html Packages for Mac OS X, Windows, Linux (CentOS) 64-bit only – OS, Python Mac OS X, 10.7.5 or later Windows, install
    [Show full text]
  • Using Gretl for Principles of Econometrics, 4Th Edition Version 1.0411
    Using gretl for Principles of Econometrics, 4th Edition Version 1.0411 Lee C. Adkins Professor of Economics Oklahoma State University April 7, 2014 1Visit http://www.LearnEconometrics.com/gretl.html for the latest version of this book. Also, check the errata (page 459) for changes since the last update. License Using gretl for Principles of Econometrics, 4th edition. Copyright c 2011 Lee C. Adkins. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation (see AppendixF for details). i Preface The previous edition of this manual was about using the software package called gretl to do various econometric tasks required in a typical two course undergraduate or masters level econo- metrics sequence. This version tries to do the same, but several enhancements have been made that will interest those teaching more advanced courses. I have come to appreciate the power and usefulness of gretl's powerful scripting language, now called hansl. Hansl is powerful enough to do some serious computing, but simple enough for novices to learn. In this version of the book, you will find more information about writing functions and using loops to obtain basic results. The programs have been generalized in many instances so that they could be adapted for other uses if desired. As I learn more about hansl specifically and programming in general, I will no doubt revise some of the code contained here. Stay tuned for further developments. As with the last edition, the book is written specifically to be used with a particular textbook, Principles of Econometrics, 4th edition (POE4 ) by Hill, Griffiths, and Lim.
    [Show full text]
  • Gretl Manual
    Gretl Manual Gnu Regression, Econometrics and Time-series Library Allin Cottrell Department of Economics Wake Forest University August, 2005 Gretl Manual: Gnu Regression, Econometrics and Time-series Library by Allin Cottrell Copyright © 2001–2005 Allin Cottrell Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation (see http://www.gnu.org/licenses/fdl.html). iii Table of Contents 1. Introduction........................................................................................................................................... 1 Features at a glance ......................................................................................................................... 1 Acknowledgements .......................................................................................................................... 1 Installing the programs................................................................................................................... 2 2. Getting started ...................................................................................................................................... 4 Let’s run a regression ...................................................................................................................... 4 Estimation output............................................................................................................................. 6 The
    [Show full text]
  • Introduction to the GNU Octave
    Session 3. INTRODUCTION TO GNU OCTAVE 1 Objectives 1. Provide an overview of the GNU Octave Programming Language. 2. Promote the methodology of using Octave in data analysis and graphics. 3. Demonstrate how to manipulate and visualize ocean currents data in Octave. 2 Outcomes After taking this session, you should be able to: 1. Identify the location to download and install GNU Octave, 2. Write Octave’s syntax and semantics, 3. Develop a greater conceptual understanding of data analysis and graphics using Octave, and 4. Build skills in manipulating ocean currents data through hands-on exercises. 3 Session Outline 1. Getting Octave 2. Installing Octave on Ubuntu 3. Running Octave 4. Octave Basics 5. Octave Data Types 6. Importing Data 7. Exporting Data 8. Using Functions in Octave 9. Using Octave Packages 10.Base Graphics 4 What is GNU Octave 1. GNU Octave (mostly MATLAB® compatible) is a free software tool distributed under the terms of the GNU General Public License. 2. It runs on GNU/Linux, macOS, BSD (Berkeley Software Distribution), and Windows. 3. It is interactive and may also be used as batch- oriented language. 4. It has a large, coherent, and integrated collection of tools for data analysis and graphics. 5 Steps to Install Octave on Ubuntu 1. sudo apt-get upgrade 2. sudo apt-get update 3. sudo apt-get install octave 4. sudo apt-get install liboctave-dev 6 Running/Exiting Octave 1. By default, Octave is started with the shell command ‘octave’, or, 2. Type ‘octave --no-gui’ at the shell command to start octave without GUI.
    [Show full text]
  • A Gnuplot Crash Course Revision 2 by Kevin Croker Email: [email protected] Web
    A gnuplot Crash Course Revision 2 by Kevin Croker Email: [email protected] Web: http://www.phys.hawaii.edu/~kcroker Abstract gnuplot is a Freely available professional tool for representing data graphically used widely in academia and industry. The following pages summarize how to use gnuplot immedi- ately to graph experimental data with errors and perform a linear fit on the data. As this is a crash course, references on the Internet and within gnuplot itself are given for those wishing to flush out their knowledge. 1 Very Basics Getting gnuplot. This is the trickiest part of the whole thing! Depending on what oper- ating system you use, you will need to get gnuplot differently. Windows. Use your favorite browser to go to http://sourceforge.net/projects/gnu- plot. Click on the big green download button. This will take you to a different page. Scroll down until you see the heading File Releases. Under there, click on the file gp422win32.zip. Unzip this file onto your desktop, it will make a folder called gnuplot. To run the program, open this folder, then open the folder bin. Double click on wgnuplot.exe. GNU/Linux. You should be able to use whatever package manager you normally use to add software to find and install gnuplot. Just search for gnuplot. And they say GNU/Linux is harder to use... :) MacOS X. You have to install two seperate things for gnuplot to work on your Mac. Warning 1. You must install Aqua before installing gnuplot 1. Go here http://sourceforge.net/projects/aquaterm/ and get Aquaterm.
    [Show full text]
  • The Sage Project: Unifying Free Mathematical Software to Create a Viable Alternative to Magma, Maple, Mathematica and MATLAB
    The Sage Project: Unifying Free Mathematical Software to Create a Viable Alternative to Magma, Maple, Mathematica and MATLAB Bur¸cinEr¨ocal1 and William Stein2 1 Research Institute for Symbolic Computation Johannes Kepler University, Linz, Austria Supported by FWF grants P20347 and DK W1214. [email protected] 2 Department of Mathematics University of Washington [email protected] Supported by NSF grant DMS-0757627 and DMS-0555776. Abstract. Sage is a free, open source, self-contained distribution of mathematical software, including a large library that provides a unified interface to the components of this distribution. This library also builds on the components of Sage to implement novel algorithms covering a broad range of mathematical functionality from algebraic combinatorics to number theory and arithmetic geometry. Keywords: Python, Cython, Sage, Open Source, Interfaces 1 Introduction In order to use mathematical software for exploration, we often push the bound- aries of available computing resources and continuously try to improve our imple- mentations and algorithms. Most mathematical algorithms require basic build- ing blocks, such as multiprecision numbers, fast polynomial arithmetic, exact or numeric linear algebra, or more advanced algorithms such as Gr¨obnerbasis computation or integer factorization. Though implementing some of these basic foundations from scratch can be a good exercise, the resulting code may be slow and buggy. Instead, one can build on existing optimized implementations of these basic components, either by using a general computer algebra system, such as Magma, Maple, Mathematica or MATLAB, or by making use of the many high quality open source libraries that provide the desired functionality. These two approaches both have significant drawbacks.
    [Show full text]
  • Sage Constructions Release 9.4
    Sage Constructions Release 9.4 The Sage Development Team Aug 24, 2021 CONTENTS 1 Calculus 3 1.1 Differentiation..............................................3 1.2 Integration................................................5 1.3 Ordinary differential equations......................................7 1.4 Fourier series of periodic functions...................................8 2 Plotting 11 2.1 Plotting functions in 2D......................................... 11 2.2 Plotting curves.............................................. 12 2.3 openmath................................................. 13 2.4 Tachyon 3D plotting........................................... 14 2.5 gnuplot.................................................. 14 2.6 Plotting surfaces............................................. 15 3 Groups 17 3.1 Permutation groups............................................ 17 3.2 Conjugacy classes............................................ 18 3.3 Normal subgroups............................................ 19 3.4 Centers.................................................. 20 3.5 The group id database.......................................... 20 3.6 Construction instructions for every group of order less than 32..................... 21 3.7 Construction instructions for every finitely presented group of order 15 orless............ 27 4 Linear algebra 31 4.1 Vector spaces............................................... 31 4.2 Matrix powers.............................................. 31 4.3 Kernels.................................................
    [Show full text]
  • Gnuplot Tutorial
    Advanced Techniques for Mobile Robotics First Steps with Gnuplot Wolfram Burgard, Cyrill Stachniss, Kai Arras, Maren Bennewitz Motivation § Introduction to the most relevant tools commonly used in scientific writing § LaTeX - a general typesetting system § Gnuplot - a plotting utility to visualize data Why not Using Excel? § “I am happy with Excel, why not use it?” § Excel plots are ugly § No automatic processing of data files, … § Excel is clearly suboptimal for scientific working (reformatting takes ages, limited scripting, limited functionality …) § By default, Excel outputs raster images Gnuplot § Powerful 2D and 3D plotting utility § Plotting is possible with very few lines of code § Batch processing (plotting multiple plots in one run) § Various output formats (eps, pdf, png, X11, latex, xfig, …) § Data can be plotting via stdin/stdout § Free and available for basically all platforms § One of the standard tools for plotting An Gnuplot Example plot “data3.dat” using 1:2 data3.dat 1 1 0.5 1.5 2 1 0.4 1.4 3 0 0 0 4 1 0 2 5 3 1 4 6 4 2 6 An Gnuplot Example plot “data3.dat” using 1:2 notitle An Gnuplot Example plot “data3.dat” using 1:2 notitle w points ps 5 Running Gnuplot § Run: gnuplot mygnuplotfile.gnuplot § It either produces and image or show the result on the screen (terminal X11) § Gnuplot can also read commands from stdin § This is excellent for debugging code Gnuplot Example reset set terminal X11 set title "One- and Two-tau models" set xrange [0:15] set yrange [0:1.5] set xlabel "Time [nS]" set ylabel "Voltage, normalized“ plot 1-exp(-x/3.8825) title "Single time constant",\ 1-(3.44*exp(-x/3.44)-0.44*exp(-x/0.44))/3.0 title "Two time constants" Hands on Gnuplot Examples § gnuplot points.gnuplot § gnuplot lines1.gnuplot § gnuplot lines2.gnuplot § gnuplot filledcurve.gnuplot § gnuplot function.gnuplot § gnuplot errorbars.gnuplot § gnuplot histogram.gnuplot § gnuplot boxes.gnuplot § gnuplot box-error.gnuplot § gnuplot surface.gnuplot § gnuplot world.gnuplot § gnuplot labeling.gnuplot § perl example.pl | gnuplot seeweb examplesonthe § ..
    [Show full text]