1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452
|
2012 Sep 19: Pyxplot 0.9.2
- Version 0.9.2 corrects a large number of minor bugs.
2012 Aug 29: Pyxplot 0.9.1
- Version 0.9.1 is a minor update with new support for running Pyxplot on
Raspberry Pi. It fixes SIGBUS errors in Pyxplot's math engine when run on
armhf architectures.
2012 Aug 1: Pyxplot 0.9.0
- Version 0.9 is a major update. Many new data types have been introduced,
each of which has methods which can be called in an object-orientated
fashion. These include:
- Colors, which can be stored in variables for subsequent use in vector
graphics commands. The addition and subtraction operators act on colors
to allow color mixing.
- Dates, which can be imported from calendar dates, unix times or Julian
dates. Dates can be subtracted to give time intervals.
- Lists and dictionaries, which can be iterated over, or used to feed
calculated data into the plot and tabulate commands.
- Vectors and matrices, which allow matrix algebra. These types interface
cleanly with Pyxplot’s vector-graphics commands, allowing positions to
be specified as vector expressions.
- File handles, which allow Pyxplot to read data from files, or write
data or logs to files.
- Modules and classes, which allow object-orientated programming.
- In addition, Pyxplot’s range of operators has been extended to include
most of those in the C programming language, allowing expressions such as
pyxplot> print (a=3)+(b=2)
5
pyxplot> print a>0?"yes":"no"
yes
pyxplot> print "%s %s"%(++a,b++)
4 2
pyxplot> print (a+=10 , b+=10 , a+b)
27
to be written.
- INCOMPATIBILITIES WITH PYXPLOT 0.8.
- Some functions and variables have been renamed. Variables whose names used
to begin phy_ now live in a module called phy. They may be accessed as,
for example, phy.c. Similarly, random number generating functions now live
in a module called random; statistics functions in a module called stats;
time-handling functions in time; operating system functions in os; and
astronomy functions in ast. The contents of these modules can be listed by
typing, for example, print phy.
- Custom colors, which used to be specified using syntax such as
rgb0.2:0.3:0.4, should now be specified using the rgb(r,g,b) functions,
as, for example, rgb(0.2,0.3,0.4). Custom colors can now be stored in
variables for later use.
- The range of escape characters which can be used in strings has been
increased, so that, for example, \n is a newline and \t a tab. As in
python, prepending the string with the character r disables all escape
character expansion. As backslashes are common characters in latex command
strings, the easiest approach is to always prepend latex strings with an r.
As in python, triple quotes, e.g.\ r"""2 \times 3""" can be used where
required.
- In the foreach command, square brackets should be used to delimit lists of
items to iterate over. The Pyxplot 0.8 syntax foreach i in (1,2,3) should
now be written foreach i in [1,2,3].
2011 Jan 7: Pyxplot 0.8.4
- Two-dimensional parametric grid plotting implemented.
- Bugfix to the dots plot style; filled triangles replaces with filled
circles.
- Bugfix to linewidths used when drawing line icons on graph legends.
- Bugfix to Makefile to ensure libraries link correctly under Red Hat and
SUSE.
- Code cleanup to ensure correct compilation with -O2 optimisation.
2010 Sep 15: Pyxplot 0.8.3
- @ macro expansion operator implemented.
- assert command implemented.
- for command behaviour changed such that "for i=1 to 10" includes a final
iteration with i=10.
- Point types rearranged into a more logical order.
- Improved support for newer Windows bitmap images.
- Bugfix to the 'set unit preferred' command.
- Binary not operator bugfixed.
- Bugfix to handling of comma-separated horizontal datafiles.
- Mathematical function finite() added.
2010 Aug 4: PyxPlot 0.8.2
- 3D plotting implemented.
- New plot styles colourmap, contourmap and surface added.
- Interpolation of 2D datagrids and bitmap images implemented.
- Stepwise interpolation mode added.
- Dependency on libkpathsea relaxed to make installation under MacOS easier;
linking to the library is still strongly recommended on systems where it
is readily available.
- Mathematical functions fractal_julia(), fractal_mandelbrot() and prime()
added.
- Many bug fixes, especially to the ticking of axes.
2010 Jun 1: Pyxplot 0.8.1
- Mathematical functions time_fromunix(), time_unix(), zernike() and
zernikeR() added.
- Bug fix to the ticking of linked axes.
- Bug fix to the ticking of axes with blank axis tick labels.
- Makefile and configure script improved for portability.
2010 May 19: Pyxplot 0.8.0
- The handling of large datafiles has been streamlined to require around an
order-of-magnitude less time and memory.
- Pyxplot's mathematical environment has been extended to handle complex
numbers and quantities with physical units.
- The range of mathematical functions built into Pyxplot has been massively
extended.
- The solve command has been added to allow the solution of systems of
equations.
- The maximise and minimise commands have been added to allow searches for
local extrema of functions.
- An fft command has been added for performing Fourier transforms on data.
- New plot styles -- filledregion and yerrorshaded -- have been added for
plotting filled error regions.
- The configuration of linked axes has been entirely redesigned.
- Parametric function plotting has been implemented.
- Colours can now be specified by RGB, HSB or CMYK components, as well as by
name.
- Several commands, e.g. box, circle, ellipse, etc., have been added to
allow vector graphics to be produced in Pyxplot's multiplot environment.
- The jpeg command has been generalised to allow the incorporation of not
only jpeg images, but also bmp, gif and png images, onto multiplot
canvases. The command has been renamed image in recognition of its wider
applicability. Image transparency is now supported in gif and png images.
- The spline command, now renamed the interpolate command, has been extended
up provide many types of interpolation between datapoints.
- A wide range of conditional and flow control structures have been added to
Pyxplot's command language -- these are the do, for, foreach, if and while
commands and the conditionalS and conditionalN mathematical functions.
- Input filters have been introduced as a mechanism by which datafiles in
arbitrary formats can be read.
- Pyxplot's commandline interface now supports tab completion.
- The show command has been reworked to produce pastable output.
- Many minor bugs have been fixed.
2009 Nov 17: Pyxplot 0.7.1
- Bug fix to the xyerrorrange plot style.
- Bug fix to the exec command.
- Bug fix to remove deprecation error messgaes when run on python 2.6.
2008 Oct 14: Pyxplot 0.7.0
- Supplying filename '-' to plot causes data to be read from stdin.
- Required version of PyX upgraded 0.9 -> 0.10.
- exec command implemented.
- use of string variables introduced. pythonesque "%s"%string syntax
implemented. perlesque regular expressions implemented.
- function evaluation routines overhauled and optimised.
- datafile reading routines optimised to drastically improve memory/cpu
efficiency.
- histogram command implemented.
- tabulate command implemented.
- list command implemented.
- set label with colour implemented.
- text with colour implemented.
2007 Mar 15: Pyxplot 0.6.3.1
- Minor bugfix so that gv will work with -watch.
2007 Feb 26: Pyxplot 0.6.3
- Manual updated
- Some minor bugfixes
2007 Jan 19: Pyxplot 0.6.2
- 'enlarge' terminal option implemented.
- pdf terminal implemented.
- set preamble command implemented.
- LaTeX preambles bugfixed, so that the '\usepackage' command can now be
used.
- 'X11_persist' terminal bugfixed to work correctly from non-interactive
sessions.
- Large number of minor bugfixes.
2006 Dec 27: Pyxplot 0.6.1
- Major bug-fixes to the set and unset commands.
- Command reference chapter added to User Manual.
- Command syntax references added to the help command system.
- 'text' and 'set label' commands extended to allow rotation of text
through arbitrary angles.
- Semi-functional 'jpeg' and 'eps' commands added. Left undocumented
because they're unstable and need a bit of work.
2006 Nov 12: Pyxplot 0.6.0
- New more-reliable command parser implemented, with improved syntax
errors.
- delete_arrow, delete_text, undelete_arrow, undelete_text and move_text
commands removed from API. The move, delete and undelete commands now act
on all kinds of multiplot object.
- set terminal command no longer recognised enhanced and noenhanced
keywords. The postscript and eps terminal keywords should now be used in
their place.
- Automatic ticking of axes overhauled, and the set xtics and set mxtics
commands implemented for those who do not like the default ticking
schemes.
- set log and set nolog command now allow axes to work with log bases other
than 10.
- The select modifier after the plot, fit, replot and spline commands can
now only be used once; to specify multiple select criteria, use the and
logical operator.
- X11_persist terminal implemented.
- Requirement on python 2.4 eased to python 2.3.
- Requirements on scipy and readline eased; Pyxplot will now work in
reduced form without them.
- Requirements on dvips and gs are dropped; postscript handling now done by
Pyxplot itself.
2006 Sep 09: Pyxplot 0.5.8
- Many bugfixes to error trapping and reporting.
2006 Aug 26: Pyxplot 0.5.7
- set display command implemented.
- set keycolumns command implemented.
- CTRL-C behaviour changed; no longer quits Pyxplot.
- plot '*.dat' now arranges files alphabetically.
- Escaping of LaTeX < and > symbols fixed.
- Major bugfix to fit command's error estimation.
- Major bugfix to the positioning of legends in the "outside" and "below"
positions to avoid overlapping with axes.
- help command text substantially revised.
2006 Aug 18: Pyxplot 0.5.6
- Ability to unset variables via "a=" implemented.
- Handling on scipy error messages in the int_dx and spline commands
improved.
- Colour-highlighted terminal added.
- The inline help system made much more complete.
- select modifier implemented.
- set texthalign and set textvalign implemented.
- set xticdir command implemented.
- Support for CSV input datafiles implemented.
- pyxplot_watch quiet mode added. Also, behaviour changed to allow the
watching of files, even when they do not initially exist.
- Labels can now be placed on "nolabels", "nolabelstics" and "invisible"
axes. Example 10 changed to demonstrate this.
- set log, when issued on its own, now applies to all axes, rather than
throwing an error.
2006 Jul 25: Pyxplot 0.5.5
- pyxplot_watch implemented.
- fit command now gives error estimates, as well as correlation matrices.
- Many new pointtypes added, including upper and lower limit symbols.
- Handling of SIGINT improved; now exits current command in interactive
mode, and exits Pyxplot when running a script.
- Quote characters can now be escaped in LaTeX strings, to allow strings
with both ' and " characters to be rendered.
- Installer no longer creates any files belonging to root in the user's
homespace.
- show xlabel and show xrange implemented.
- Bug fix: cd command no longer crashes if target directory doesn't exist.
- Bug fix: some commands, e.g. plot, which previously didn't work when
capitalised, now do.
- Major bug fix to int_dx and diff_dx functions.
2006 Jul 3: Pyxplot 0.5.4
- edit command implemented.
- Numerical integration and differentiation functions implemented.
- New makefile installer added.
- man page added.
- Brief tour of gnuplot syntax added to documentation.
- Many minor bug fixes.
2006 Jun 27: Pyxplot 0.5.3
- set bar and set palette implemented.
- Stacked barcharts implemented.
- Command history files and the save command implemented.
- Plotting of functions with errorbars implemented.
- Ability to define a LaTeX preamble implemented.
- Bug fix to smoothed splines, to ensure that smoothing is always applied
to a sensible degree by default.
- Bug fix to the autoscaling of bar charts, histograms and errorbars, to
ensure that their full extent is contained within the plot area.
- Bug fix to arrow plotting, to prevent PyX from crashing if arrows of zero
lengths are plotting (they have no direction...)
2006 Jun 14: Pyxplot 0.5.2
- spline command, and csplines/acsplines plot styles implemented.
- Syntax plot[0:1], with no space, now allowed.
- Automatic names of datasets in legends no longer have full paths, but
only the path in the form that the user specified it.
- Bug fix to the handling of LaTeX special characters in the automatic
names of datasets, e.g. file paths containing underscores.
- Error messages now sent to stderr, rather than stdout.
- multiplot mode now plots items in the order that they are plotted;
previously all arrows and text labels had been plotted in front of plots.
- set backup command implemented, for keeping backups of overwritten files.
- Bug fix, enabling the use of axis x5 without axis x3, and likewise for y.
- unset axis command implemented, for removing axes from plots.
- 'invisible', 'nolabels', and 'nolabelsticks' axis title implemented, for
producing axes without text labels.
- plot 'every' modifier re-implemented, to use the same syntax as gnuplot.
- fit command re-implemented to work with functions of > 1 variable.
- plot with pointlines defined as alias for 'linespoints'.
- plot using rows syntax implemented, for plotting horizontally-arranged
datafiles.
- Bug fix to replot command in multiplot mode, to take account of any move
commands applied to the last plot.
- Bug fix to errorbar pointsizes. pointsize modifier now produces sensible
output with all errorbar plot styles.
- show command re-implemented to accept any word that the set command will.
2006 Jun 2: Pyxplot 0.5.1
- Pling and cd commands implemented; ` ` shell command substitution
implemented.
- Arrows (both from set arrow and the arrow command) can now have linetypes
and colours set.
- Colours can now be specified as either palette indices or PyX colour
names in all contexts -- e.g. 'plot with colour red'.
- Function plotting fixed to allow plotting of functions which are not
valid across the whole range of the x-axis.
- Transparent terminals now have anti-aliasing disabled.
- Warnings now issued when too many columns are specified in plot command;
duplicate errors filtered out in two-pass plotting.
- Function splicing implemented.
- Documentation: sections on barcharts, function splicing, and datafile
globbing added.
2006 May 27: Pyxplot 0.5.0
- Name changed to Pyxplot.
- Change to distribution format: PyX Version 0.9 now ships with package.
- Safety installer added; checks for required packages.
- 'errorrange' plot styles added; allow errorbars to be given as min/max
values, rather than as a standard deviation.
- 'boxes', 'wboxes', 'steps', 'fsteps', 'histeps' and 'impulses' plot
styles implemented -- allow the production of histograms and bar charts.
- plot with fillcolour implemented, to allow coloured bar charts.
- Handling of broken datafiles sanitised: now warns for each broken line.
- gridlines on multiple axes, e.g. 'set grid x1x2x3' now allowed.
- Major bugfix to the way autoscaling works: linked axes share information
and scale intelligently between plots.
- --help and --version commandline options implemented.
- 'using' specifiers for datafiles can now include expressions, such as
$(2+x).
- eps terminal fixed to produce encapsulated postscript.
- datafile names now glob, so that plot '*' will plot many datafiles.
- Documentation: examples 6,7 and 8 added.
2006 May 18: GnuPlot+ 0.4.3
- text and arrow commands now accept expressions rather than just floats
for positional coordinates.
- clear command major bug-fixed.
- 'plot with' clause bugfixed; state variable was not resetting.
- Automatical key titles for datafile datasets made more informative.
- Autoscaling of multiple axes bugfixed.
- Autoscaling of inverted axes fixed.
- set grid command fixed to only produce x/y gridlines when requested.
- X11_singlewindow changed to use gv --watch.
- landscape terminal postscript header detection bugfixed.
- noenhanced terminal changed to produce proper postscript.
- Plotting of single column datafiles without using specifier fixed.
2006 May 4: GnuPlot+ 0.4.2
- Autoscaling redesigned, no longer uses PyX for this.
- Numerical expression handling fixed in set title, set origin and set
label.
- Handling of children fixed, to prevent zombies from lingering around.
- arrow command implemented.
- set textcolour, set axescolour, set gridmajcolour, set gridmincolour
and set fontsize implemented.
- Colour palette can now be set in configuration file.
- Ranges for axes other then x1/y1 can now be set in the plot command.
- Postscript noenhanced can now produce plots almost as big as an A4 sheet.
- Plotting of one column datafiles, against datapoint number, implemented.
- Negative errorbars error trapped.
- Comment lines now allowed in command files.
2006 May 1: GnuPlot+ 0.4.1
- Documentation converted from ASCII to LaTeX.
- ChangeLog added.
- Configuration files now supported.
- Prevention of temporary files in /tmp overwriting pre-existing files.
- set term enhanced / noenhanced / landscape / portrait / png / gif / jpeg
/ transparent / solid / invert / noinvert implemented.
- set dpi implemented, to allow user to choose quality of gif/jpg/png
output.
- `set grid' command now allows user to specify which axes grid attaches
to. (extended API)
- Support introduced for plotting gzipped datafiles. Filenames ending in
'.gz' are assumed to be gzipped.
- load command implemented.
- move command implemented.
- Long lines can now be split using '\' linesplit character at the end of a
line. Any whitespace at the beginning of the next is omitted.
- text / delete_text / undelete_text / move_text commands implemented.
- refresh command implemented. (extended API)
- point types, line styles, and colours now start at 1, for gnuplot
compatibility.
- default terminal changed to postscript for non-interactive sessions.
2006 Apr 27: GnuPlot+ 0.4.0
- Bug fix: now looks for input scripts in the user's cwd, not in /tmp.
- 'set logscale' is now valid syntax (as in gnuplot), as well as 'set log'.
- multiplot implemented, including linked axes, though with some brokenness
if linked axes are allowed to autoscale.
- 'dots' plotting style implemented.
- Bug fix: can now include a plot 'with' clause after an 'axes' clause;
could not previously without an error message arising.
- Pointstyles now increment between plotted datasets, even in a colour
terminal where the colours also increment.
- garbage collection of .eps files from the X11 terminal added. Previously
they were left to fester in /tmp.
- pointlinewidth added as a plot style, specifying the linewidth to be used
in plotting points. 'set plw' and 'set lw' both added (extended API).
- delete, clear and undelete commands added to the multiplot environment.
- unset command implemented.
- set notitle implemented.
2006 Apr 14: GnuPlot+ 0.3.2
- The autoscaling of logarithmic axes made more trust-worthy: error checks
to ensure that they do not try to cover negative ordinates.
- Error checks put in place to prevent empty keys being plotted, which made
PyX crash previously. Now can plot empty graphs happily.
- Datasets with blank titles removed from the key, to allow users to plot
some datasets to be omitted from the key. This is not possible in gnuplot.
- Bug fix to prevent PyX's texrunner from crashing irreparably upon
receiving bad LaTeX. Now uses a spanner to attempt to return it to working
order for the next plot.
- Bug fix to the autoscaling of axes with no range of data -- previous did
not work for negative ordinates. Now displays an axes with a range of +/-
1.0 around the data.
2006 Apr 12: GnuPlot+ 0.3.1
- Plotting of functions fixed: plot command will now plot any algebraic
expression, not just functions of the form f(x).
- Space added after command prompt.
2006 Apr 12: GnuPlot+ 0.3.0
- X11_singlewindow and X11_multiwindow terminals implemented, as distinct
from just standard X11.
- Key positioning allowed to be xcentre, ycentre, below and outside, as
well as in the corners of the plot. Key allowed to be offseted in position.
- Datasets colours can be set via 'plot with colour <n>'
- Datasets are split when there is a blank line in the datafile; lines are
not joined up between the two segments.
- set size implemented; can now change aspect ratio of plots.
- working directory of GnuPlot+ changed to /tmp, so that LaTeX's temporary
files are stored there rather than in the user's cwd.
2006 Mar 30: GnuPlot+ 0.2.0
- Standard GnuPlot dual axes improved upon, allowing users to add x3, x4
axes, etc, up to any number of axes that may be desired.
- Autocomplete mechanism for commandline substantially cleaned up and
debugged.
- Bug fixes to the plotting of arrows/labels. Now appear *above* gridlines,
not below.
2006 Feb 26: GnuPlot+ 0.1.0
|