diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/pgfplots/todo.txt')
-rw-r--r-- | Master/texmf-dist/doc/latex/pgfplots/todo.txt | 631 |
1 files changed, 516 insertions, 115 deletions
diff --git a/Master/texmf-dist/doc/latex/pgfplots/todo.txt b/Master/texmf-dist/doc/latex/pgfplots/todo.txt index baca906ec89..a64bbb6353b 100644 --- a/Master/texmf-dist/doc/latex/pgfplots/todo.txt +++ b/Master/texmf-dist/doc/latex/pgfplots/todo.txt @@ -10,13 +10,13 @@ Testing last test verifications: pgf CVS pgf 2.00 pgf 2.00+compat=default -pgfplotstests for 1.3.1 for 1.3.1 2009-12-30 -manual for 1.3.1 for 1.3.1 -pgfplotstable.pdf for 1.3.1 for 1.3.1 -example latex for 1.3 2009-12-30 -example context for 1.3 2009-12-30 -example plain tex for 1.3 2009-12-30 -tests context 2009-12-30 +pgfplotstests for 1.4 for 1.4 2009-12-30 +manual for 1.4 for 1.4 +pgfplotstable.pdf for 1.4 for 1.4 +example latex for 1.4 2009-12-30 +example context for 1.4 2009-12-30 +example plain tex for 1.4 2009-12-30 +tests context for 1.4 I NEED MORE TESTS! The test suite needs to be developed! @@ -34,6 +34,27 @@ The test suite needs to be developed! + test those tickpos num keys! especially in combination with axis line variations. Also test ticklabel pos + + +--------------- +pgfplots 1.4 todo: +--------------- ++ improve docs on alignment things ++ document how to make multi-line legends ++ document how to add custom things into a legend (add examples) ++ fix the \ref thing for legends/colorbar. It introduces a further stroke color + somehow. ++ check if the \ref thing for legends can suppress the hyperref link color. ++ incorporate the bugfix for 'point meta=f(x)' ++ should fix the "\numplots per plot handler" feature, i.e. should allow bar + plots / line plots in the same axis with 'ybar'. ++ document new regression feature in pgfplots.pdf (is currently in + pgfplotstable.pdf) ++ document new table input in pgfplots.pdf ++ fix bugs ++ update docs for external lib + + --------------- pgfplots 1.3.1: --------------- @@ -44,15 +65,15 @@ pgfplots 1.3.1: + critical: external lib and its backw. compat layer perhaps I should disable them completely for the stable version? There are no branches, either fully CVS or not at all. -- import docs for recent number printing styles ++ import docs for recent number printing styles + set version number + set release dates for pgfplots.sty and pgfplotstable.sty + update ChangeLog to reflect the release and tag git - update ubuntu PPA -- upload sourceforge images -- release makefile -- CTAN: communicate sourceforge link -- make short, summarized changelog: +x upload sourceforge images ++ release makefile ++ CTAN: communicate sourceforge link ++ make short, summarized changelog: - improved parametric plots with gnuplot - improved normalsize, small and footnotesize scale styles and added tiny - fixed a lot of bugs @@ -72,9 +93,34 @@ MISC + disable pgfplots CVS? - documentation todo: - - pgfplots.sty: try to insert the SHA hash of the commit (for non-stable + - document the new 'getcolumnbyname={create col/....}' feature + + document linear regression + - document how to identify the source of "dimension too large" errors: + tracingstuff. + - external lib + dvi/ps + windows: it seems the ';' doesn't work; use '&' to + separate commands + - external lib: improve docs for how to deal with \label/\ref things and how + it works + - document how to fix dimension too large problems: restrict to domain for + example + + document \pgfresetboundingbox + + document how to plot against the column index + + colorbar sampled + + colorbar sampled line + - colorbar styles are not consistent between docs and code + - It seems as if the AMS command $\text{\ref{ref:to:a:plot}}$ instantiates the + \ref at least four times. Document somehow that it is better to use '\hbox' + instead + + pgfplots.sty: try to insert the SHA hash of the commit (for non-stable versions) - - pgfplotstable: the '[b]' option is mysterious in output listings. Hide it + -> echo '\def\pgfplotsrevision{'`git rev-parse HEAD`'}' > + tex/generic/pgfplots/pgfplots.revision.tex + -> this file shouldn't be part of the repo + -> load it from pgfplots.sty + -> should be updated during checkout and, probably, as post-commit + -> if it doesn't work: ok, then leave it blank. + try on windows. + + pgfplotstable: the '[b]' option is mysterious in output listings. Hide it there! - pgfplotstable: show how to use '\begin{longtable}' + gnuplot + parametric is not documented. @@ -199,7 +245,12 @@ MISC ------------------------------------------------------------- PGF / TikZ Development: ------------------------------------------------------------- - - provide '\times' or more general formatting rules to number printer + - consider a matrix style which applies only to the outer matrix node style + (see feature request + https://sourceforge.net/tracker/?func=detail&atid=1060657&aid=3019259&group_id=224188 + ) + - code 2 args doesn't work correctly with spaces between the arguments!? + + provide '\times' or more general formatting rules to number printer + external lib: implement \tikzpicturedependsonfile#1 + in pgfplots: invoke \tikzpicturedependsonfile. perhaps the plot-from-table-struct should also use it. @@ -216,8 +267,10 @@ PGF / TikZ Development: + in the manual, the first two arguments of pgfqkeysactivatesinglefamilyandfilteroptions were inverted. + some predefined filters do not process unknown options correctly - - external lib in pgf: think whether 'empty image extension' is a bug or a + + external lib in pgf: think whether 'empty image extension' is a bug or a feature. + -> feature of \pgfimage! Otherwise it wouldn't be possible to provide an extension! + -> bug for external lib which never uses extensions! - fix landscape bug (pdflscape) in external lib (PGF) + the pgf math parser has wrong precedence for '-' prefix op: exp(-x^2) is wrong. @@ -233,6 +286,216 @@ PGF / TikZ Development: BUGS / FIXES ------------------------------------------------------------- +- groupplots + extra braces or \foreach are incompatible. + +- clickable and Windows Acrobat Reader 9 has been reported to fail + +- /pgfplots/samples at and /tikz/samples at work on the same axe. Tantau says that this key support \foreach statement and thus the dotes notation. Howerver, when I want to use two or more different dots notation within pgfplots, latex crashes ! +Here is an example which clarify this issue : +\addplot+[mark=none,variable={\t}, samples at = {\foreach \x in {0,10,...,180,200,...340} {\x, }360}] ({sin(t*2)}, {cos(t)}); + +- potential incompatibility: clickable and external. The clickable lib writes + into pgfplots.djs which might cause multithreaded problems. + +- groupplots: mixing 2d/3d in one groupplot doesn't reset 'zmin,zmax' ? + + +- 'clip=false' does not disable marker clipping! + +- mark position clipping may fail: see + \begin{tikzpicture} + \begin{axis} + \addplot3[surf,shader=faceted, + scatter,mark=*, + samples=10,domain=0:1] + {x^2*y}; + \end{axis} +\end{tikzpicture} + in the manual (shader docs) + +- multiple ordinates: grid lines are drawn on top of function plots; that's bad. +Check: + I think you have to change the process line previousely invoked, and make the axes generation at the end : +1. generating adequate grid --> 2. plotting functions --> 3. creating axes, tick nodes... +You can take a minute look at figure 1 @ "The \addplot Command: Coordinate Input" section 4.2 p 19. +and you can remark that colour filling overlaps x- and y-axis ! So I suggest that you use "excute at end picture=<axis generation code>" tikz option or similar to avoid this issue. + +- patch plots: type rectangle & shader=interp & mesh input=patches doesn't work + correctly as it seems. + +- 3D axes: it is difficult to get an 1:1 correspondence to tikz. + +- 3D axes: providing three unit vectors is not sufficient, one also needs to set + 'view={}{}'. That should be done automatically. + +- 3D axes: Providing three unit vectors manually yields incorrect axis + initialisation. + +- 3D axis: provide support for manual axis configuration, + - depth (n vector), + - foreground/background, + - tick label axes, + - ... + +- Patch plots: directly transform cdata. Should simplify interpolation during + refine/triangulation etc. and shouldn't make a difference otherwise. + +manual errors of given pgfplots_unstable version: + 94 2.5.12 \addplot+[patch] --> \addplot3+[patch] +162 "xmode, ymode, zmode" and "x dir, ..." + come again on page 177 + +- don't loose \ref's when externalizing + I'll provide a minimal later + + +- incompatibility pdfpages (most recent version), MikTeX and tikz external lib + (something with shipout routine) + +- plot graphics: \ref legend doesn't work properly + +- french babel and colorbars are not fully compatible. The problem is that + colorbars use '\addplot graphics {};' with a fixed catcode for the ';' -- + which might lead to problems. + +- \ref{} legends for 'surf' in unstable version do not work properly + ++ plot graphics braucht + every legend image post/.append style={sharp plot} + +- markers should not be drawn on top of everything else. Always restore the + clipping region for each plot. + ++ extra ticks need a scope to enable drawing options: + \begin{axis}[ + extra x ticks={0.7}, + extra x tick style={ + line width=3mm, + color=red, + tickwidth=3mm, % <-- only thing applied + }, + ] + \addplot coordinates { (0,0) (1,1) }; + \end{axis} + + ++ new coordmath framework is broken for log basis. + TODO: 1. the functions must be parameterized with A) the coordmath class *and* + B) the coordmathid. + For example 'pgfmath,x' and 'pgfmath,y'. Everything else doesn't work... + +- \ref and detached legends/colorbars do NOT work with external library and + convert with system call. + -> provide special handling! + ++ providing 'thick' to linespecifications causes problems during the survey + phase: \pgfmathsetlength{} will use the FPU. + +- shader=interp,z buffer=sort ---> should use 'shader=faceted interp,faceted + color=none,z buffer=sort' instead! + +- mesh/patch plots: + - jump thing + z buffer=sort probably doesn't work + +- ternary axes: the 'marker clipping' doesn't work (naturally) + ++ shader=interp: I stumbled over a data set for which gv,xpdf,kpdf and acrobat + bail out with an error. (data file in feuersaenger's thesis) + ---> That's y varies! For x varies, it works! + +- polar axes: + + is wrong since 'near ticklabel' anchor uses pointunitx which is not correctly initialised for polar axes. + - axis equal + + data scaling needs to be disabled for X axis. + + auto tick labels work only for the case of disabledatascaling + +- contour: + the table/meta=2 default is wrong. + +- OK : 'every node near coord/.append style={scale=0.7}' + NOT OK: 'every node near coord/.append style={scale=0.7},ybar' + --> sequence of shift and scale matters ... + +- french babel and colorbars are not fully compatible. The problem is that + colorbars use '\addplot graphics {};' with a fixed catcode for the ';' -- + which might lead to problems. + +- OK : 'every node near coord/.append style={scale=0.7}' + NOT OK: 'every node near coord/.append style={scale=0.7},ybar' + --> sequence of shift and scale matters ... + ++ shader=interp: I stumbled over a data set for which gv,xpdf,kpdf and acrobat + bail out with an error. (data file in feuersaenger's thesis) + ---> That's y varies! For x varies, it works! + +- dimension too large sanity checking: TeX uses the maximum value instead. + Perhaps that can be checked? + +- provide remark at end document "Package pgfplots: consider using the preamble + command \pgfplotsset{compat=1.3} to improve label placement" + +- there are a lot of .code 2 args styles which do not support spaces between + their arguments. Fix this. + +- colormap serialization has N^2 runtime. + +- `1.23456e4;' in a log plot resulted in hard-to-read error messages. Improve + sanity checking here. + +- stack plots + log scale is wrong: it stacks visually, but that's more or less + meaningless. Try + \begin{tikzpicture} + \begin{semilogyaxis}[ + ybar stacked, + ymin=1e1, ymax=1e6, + ] + \addplot coordinates { (1,100) (2,100) }; + \addplot coordinates { (1,100) (2,1000) }; + \end{semilogyaxis} + \end{tikzpicture} + +- the title style for 'footnotesize' is not as I want it to: it doesn't respect + the depth below the baseline. Or does it need a \strut? + ++ the 'enlarge x limits={abs=3}' key doesn't work: it increases the lower + limits, but it doesn't draw any tick labels (neither major nor minor) + + ++ portability of externalized \label commands: define \tikzifinpicture which + should be part of the external separate package (in which case it is always + false). + +- avoid dimension too large errors which occur due to a data range restrictions. + Example: + data range = 0:6000 + view range = 0:1 + -> results in error. + But that's easy to detect! Just compute the point coordinate in float (after + the scaling is complete). Then, install a filter somewhere. perhaps an "a + posteriori" filter in the pointxyz command? + +- the 'colorbar sampled line' and 'colorbar left' styles are incompatible: + there are no tick lines. + +X bug in linux printer drivers: colorbar shadings are not interpolated + correctly, the interp shadings work (also the colormap sampled style). + Version: + Linux 2.6.24-26-generic #1 SMP Tue Dec 1 17:55:03 UTC 2009 x86_64 GNU/Linux + + ++ the colorbar with surf mode is too short; the 3D colorbar axis won't be scaled correctly + +- the 'at' key appears to be broken. It happens if + - pgf 2.00 is used, + - at=(anode) is used where (anode) was originally in a different axis + +- the autodetection of the '\\' list format is buggy: it should return true if + and only if the last element is '\\', not if '\\' occurs inside of the + argument. + ++ gnuplot compatibility is broken since gnuplot 4.4 changed its table format for + logscale. Excellent. + + the \pgfplots@ifgridlines@onorientedsurf@should@be@drawn#1#2 is WRONG. It works ONLY for boxed axes. All others need special handling... @@ -266,13 +529,15 @@ BUGS / FIXES - unbounded inputs: improve warning messages: they should not contain low level FPU args. -- in tick label reference: the example with \nicefrac has ymajorgrids, but ++ in tick label reference: the example with \nicefrac has ymajorgrids, but doesn't display them! Check! ->>>>>>> origin/stable:doc/latex/pgfplots/todo.txt - parametric gnuplot plots do not work correctly (see mail of Gabriel Lera) + -> require user interface method to set 'variable' and 'variable y' for this case. + Default should be 't' and 'u,v' ! - the user interface to set 'tickwidth=0' for a SINGLE axis is not very good: it seems one needs 'xtick style={/pgfplots/tickwidth=0}' to do so... + -> can be solved if tickwidth has a family, I guess. Something like 'draw' which will not be pulled by pgfplots. But then remains a problem of key paths. + the tick pos stuff works (puh!) @@ -287,7 +552,7 @@ BUGS / FIXES probably should (tests in pgfplotstest.axislines.tex). -> check also display styles for labels! -- manual: 'label style' and 'xticklabel style' are not auto-crossrefed ++ manual: 'label style' and 'xticklabel style' are not auto-crossrefed + extra ticks do not work with '3d box=complete' @@ -310,9 +575,6 @@ BUGS / FIXES -> I improved them for 2d and 3d -> needs some further checks, I guess -- the every colorbar style is more or less unusable because it is redefined by - the 'color horizontal' styles etc. Is there something more intelligent? - + reversed axes: + color bars can't be reversed; the shading disappears + reversed axes and centered axis lines: @@ -326,7 +588,7 @@ BUGS / FIXES FIXME - tickpos is wrong -- coordinate filters for log axis are not as documented: the 'unbounded coords' key won't be processed correctly. ++ coordinate filters for log axis are not as documented: the 'unbounded coords' key won't be processed correctly. - providing zmin/xmax to an axis activates 3D mode, ok -- but lower dimensional input routines appear to fail. @@ -346,9 +608,7 @@ prints without complaint). 27.11.2009 reported by J. Goebel Is that still up-to-date? NO Perhaps it should be replaced with something better? YES -- |xlabel near ticks| links to |xlabel| in manual - -- recently, I used \pgfplots@command@to@string. But: for arguments like `\table' this yields `\table ' including a space. Check if that poses harm. ++ recently, I used \pgfplots@command@to@string. But: for arguments like `\table' this yields `\table ' including a space. Check if that poses harm. + the pretty printer appends '{}' to known csnames. + the pretty printer appends ')' to |(| @@ -454,9 +714,6 @@ X change UI of ticklabel cs: provide an option 'ticklabel cs:[<interpreter>]<coo - the ybar style won't be set inside of \label{} -- fix the bug-related FIXMEs in src - -> collect them: - - + providing 'ybar stacked' to the axis and 'ybar' to each plot seems to cause problems (see test case per Mail) @@ -540,12 +797,12 @@ X change UI of ticklabel cs: provide an option 'ticklabel cs:[<interpreter>]<coo Idea: implement all that stuff when 'every axis' is used. But that has '/tikz/' has default search path... -- I fear plot gnuplot may not reflect the latest changes - at least not for 3D! - - log basis - - plots R^1 -> R^3 (parametric) ++ I fear plot gnuplot may not reflect the latest changes - at least not for 3D! + + log basis + + plots R^1 -> R^3 (parametric) + plots R^2 -> R^3 (parametric) -> may require 'u' and 'v' - - using other variable names (see 'set dummy') + + using other variable names (see 'set dummy') + ydomain is not set + the \x, \y, \z etc. macros in the table expression plotter should be @@ -1173,11 +1430,225 @@ X verschiebung des ylabels ist komisch, wegen der rotate option FEATURES ------------------------------------------------------------- -- external lib + makefile support: provide data files automatically as prereqs +- nested axes would be a nice feature. + TODO: + - update the list of global state variables + - "interrupt" these variables somehow. + - make sure local redefinitions of TikZ commands (like point commands) + work; the \let...@orig= assignments should be handled somehow. + - What about keys? They will be inherited from the outer axis... + perhaps the best would be an + \endgroup + <nested axis> + \begingroup + <restore state> + which includes the keys of the outer axis!? + +- support for "spy"glass into particular parts of an axis + +- groupplots: group-wide axis labels + +- It would be really great to have the possibility to attach a style to every nth row of a data table. For example, I would like to have a \midrule not after every line or after odd/even lines but after every fifth (or whatever) line. + + + +- new \plotnumofactualtype thing: if you set /tikz/ plot handlers in + \begin{axis}, they won't be set before the visualization phase. consequently, + I can't con't them! + Idea: add a 'family' to each of them. Or wright a coord filter which checks + for \tikz@plot@handler . Or write pgfplots styles which set them. + +- improve access to `create on use' things in \addplot table. + Ideas: + - check if a `create on use' statement for table/[xyz] exists, if so: load the complete + table. + - allow a simplified syntax like 'y=create col/linear regression{<args>}'. + This should be possible; just introduce a temporary name (or column + index). + +- Mail by Hubertus Bromberger: + + Period in legend, without the need of using the math environment? + \legend{ML spcm$.$, CW spcm$.$, ML AC}; + - Maybe a more straight forward way for legend to implement something like + shown in the graph. (see his mail .tex) + -> plot marks only at specific points. + thus, the legend image should contain both lines and marks, but there + are effectively two \addplot commands. + - As a physicist, I often have the problem to fit curves. A job gnuplot can do + very well. It should be possible using "raw gnuplot" but maybe you can either + provide an example or even implement a more straight forward way for this + purpose. + - The color scheme is not really my taste. + In CONTEXT: + cycle list={% + {Col1,mark=*}, + {Col2,mark=square*}, + {Col3,mark=diamond*}, + {Col4,mark=star}, + {Col5,mark=pentagon*}, + {Col6,mark=square*}, + {Col7,mark=diamond*}, + {Col8,mark=triangle*} }} + + \definecolor[Col1][r=0.24106,g=0.05490,b=0.90588] % blau + \definecolor[Col2][r=1,g=0.05490,b=0.06667] % rot + \definecolor[Col3][r=0.65490,g=0.73333,b=0.01176] % grün + \definecolor[Col4][r=0.08627,g=0.92549,b=0.91373] % tyrkis + \definecolor[Col5][r=1,g=0.5,b=0] % orange + \definecolor[Col6][r=0.54118,g=0.51765,b=0.51765] % grau + \definecolor[Col7][r=0.80784,g=0.49804,b=0.06275] % okker + \definecolor[Col8][r=0.74902,g=0.07451,b=0.91765] % lila + - Sometimes it would be good to have a bit more of a programming language, but + still that's not what tex is made for. The python-script looks promising, it's + just, that I think it doesn't work with context. + +- add something like + \pgfplotstabletypeset[ + cell { 1 }{ 2 }={\multirow{*}{3}{text}} + ] + +- I got several feature requests for non-cartesian axes. + Perhaps there is a way to generalize the complete procedure... as far as I + remember, I use the pointxyz routines anyway to place tick marks and so on. + Perhaps it can be reconfigured to do something "advanced". + Idea: nonlinear transformation into the axis combined with special drawing + rotuines for the axis? + ternary diagrams + http://staff.aist.go.jp/a.noda/programs/ternary/ternary-en.html. + smith charts + http://www.mathworks.com/access/helpdesk/help/toolbox/rf/f2-999699.html + http://www.siart.de/lehre/smithdgr.pdf + +- idea: 'mesh/ordering=auto'. Just check for 'x varies' and 'y varies'! The two + first points inside of a scanline are enough. + +- it is possible to output contour data into files with gnuplot (and with + matlab): + unset surface + set contour + # set cntrparam ... + set table 'P.dat' + splot [x=0:1] [y=0:1] x*y; + unset table + # contour info now in filename +- contourf: I guess filled contour plots could be possible if always two + adjacent color levels are combined into a single path which is then filled + with the simplified even/odd rule (not the winding fill rule). With the + underlying smoothness assumption C^0, there can't be any level between two + adjacent ones, and there can't be self-intersections. +- it would be very interesting to allow more flexible handling of empty lines in + input data, especially files. + For example 'empty lines=auto|scanline|nan|jump' -> allows to use "interrupted + line plots" -> contour! + Implementation ideas: + - in table: check the mode. If "nan|jump" and "previous coord was no jump": + insert a "nan nan nan.... nan" line into the table. + - in plot coords: same, but it is simpler. + - perhaps I can implement the stuff like \pgfplotsscanlinecomplete: it + should stream a coordinate if it fails. The coordinate will use + x=inf,y=inf,z=inf and all remaining fields are kept from the last valid + coordinate. Should not hurt... + - the choice "auto" could be used as follows: + 3d plot ---> use "scanline" + 2d plot ---> use "nan" + +- interesting: add "path after line segment". Idea: allow nodes on the path + \tikz \draw (0,0) -- (3,1) + node[pos=0]{0} node[pos=0.5]{1/2} node[pos=0.9]{9/10}; + -> perhaps such a feature can be the low level implementation for contour + labels. + Problems: how should the positions be determined automatically? Overlap should + be reduced somehow. + furthermore, a contour uses more than one path... + + + ++ colorbar styles: + - colorbar flat + - colorbar faceted + -> use \addplot3[surf] to draw a colorbar + - colorbar scatter + -> use \addplot3[scatter] to draw a colorbar + -> requires to set samples, and to use plot expression. Should be enough... + +- implement simplified constructions to access DIFFERENCE coordinates. + For example, \draw ellipse needs x radius and y radius. + + ++ allow to anchor an axis at any labeled node inside of it (like for a matrix) + +- it might be interesting to fill the area between two paths. Perhaps there is + such a feature in pgf; or perhaps I can generalize the \closedcycle + implementation written for stacked plots. + +- provide a \numplotsperplothandler or something like that. This would improve + things for bar plots! + +- the 'table/y index' should be changed. It should be min(numcols,1) instead of 1. + +- table package & axes should improve their communication. + Namely: + - communicate table names. + - communicate xmode/ymode + - communicate log basis [xy] + ++ provide col sep=& + +- provide and document access to (sanitized?) mesh/rows and mesh/cols fields + during the survey phase. This might allow 2d key filters + +- Praktisch fände ich, wenn man folgende Dinge spezifizieren kann: + +1. Welche Zeilen aus der Datei ausgelesen sollen (häufig gibt es nicht +nur 1, sondern mehrere Header-Zeilen, oder auch am Ende noch sonstige +Zeilen) + +2. Welche Zeichen in der Datei schlicht ignoriert werden. + +Damit würde ich es mir sparen, mein Ausgabeformat anzupassen. +Derzeit ist dies jedoch für mich die einfachste Lösung. + +- the coordindex shouldn't be changed by z buffer=sort + +- table package: provide abstract layer for low level storage interface. + Idea: the interface should allow the container interface + - push_back() + - get(i) + - set(i) + - foreach() + - pop_front() + - newempty() + - clone() + - unscope() + - startPushBackSequence() + - stopPushBackSequence() + -> this could allow to use arrays for fast algorithms. At least it would make + things easier to read. + Problem as always: the 'unscope()' operation. + Currently, I have two different structures: the applists which have fast + construction properties and the standard lists which implement the rest. + Can I combine both? Yes, by means of the incremental construction pattern: + \startPushBackSequence + \push_back + \push_back + \push_back + \stopPushBackSequence + -> inside of the construction, only \push_back is allowed and the structure is + in "locked state" (low level: applist repr) + -> Idea: the creation is fast, afterwards, it has flexibility. + ++ external lib + makefile support: provide data files automatically as prereqs + +- support \multicolumn for legends + +- it appears line breaks in legend descriptions are a problem (?) + -> bug in pgf: \\ is overwritten and won't be restored. + ++ external lib + makefile support: provide data files automatically as prereqs - pgfplotstable file open protocol: provide public listener interface -- allow to advance cycle list(s) manually ++ allow to advance cycle list(s) manually - \addplot coordinates {\macro}; @@ -1224,7 +1695,7 @@ FEATURES Perhaps its better to check if the argument is a macro (at creation time, thus only once) and call \edef#1{\string#1} to assign some sort of name to it. This will invoke \string only once. Is this faster? -- implement 'point meta=symbolic command:<cmd>' and 'point meta=command:<cmd>' ++ implement 'point meta=symbolic command:<cmd>' and 'point meta=command:<cmd>' the command should assign '\pgfplotsretval' + It would be a valueable addition if the external lib would be available for the next stable release. @@ -1458,7 +1929,7 @@ style={at={(0.05,0.05)},anchor=south west}' or something similar. + provide a simpler method to replace the '\cdot' in tick scale labels with a different sign, for example '\times'. -- provide a feature for bar plots which add the bar value as node on top of the ++ provide a feature for bar plots which add the bar value as node on top of the bar. Idea: provide some sort of "every coordinate path" - an optional feature which has access to both, the logical coordinates and the low level path coordinates @@ -1634,9 +2105,9 @@ dictionary) -- provide a public basic level API to pgfplotstable: - - access, iterate and read table elements - - manipulate elements ++ provide a public basic level API to pgfplotstable: + + access, iterate and read table elements + + manipulate elements + binary input subroutines: use a simply scaling for dimen registers. The scaling should be such it maps @@ -1805,29 +2276,7 @@ dictionary) The \prevrow and \nextrow features won't be possible (?) - improve support for multiple ordinates -- improve support for negative (reversed) axes - - 'x dir =-1' -> scale automatically - - x=-5.5cm, yticklabel pos=right, yticklabel style=left - could be a style (combined with x dir) - - the anchor names are now strange - they are mirrored :-( - \begin{tikzpicture} - - \begin{axis}[ - title={Test}, - xlabel={Time [s]}, - ylabel={Segment}, - x=0.9cm, y=-0.9mm, - %xlabel style={at={(0.5,1)}}, - %ylabel style={yshift=-6pt}, - %title style={at={(0.5,0)}}, - %xticklabel style={yshift=-6mm}, - %xticklabel pos=top, - ] - - \addplot plot coordinates {(0,30) (3,0) }; - \end{axis} - \end{tikzpicture} - - furthermore tick scale labels should be shifted ++ improve support for negative (reversed) axes @@ -1857,13 +2306,9 @@ dictionary) - what about a feature like 'draw[xmin=...,xmax=...] fitline between points (a) (b)'? -- define a 'cycle list' style which simply inserts different colors into the ++ define a 'cycle list' style which simply inserts different colors into the predefined style (thus, markers are fixed, colors vary). One could also think about a complementary style. - -> even better: I could provide up to three different lists which can be - combined. - Example: colorlist, markerlist, linespeclist - -> iterate through all possible combinations! - cycle list should be implemented using an array structure. That's faster. @@ -1915,29 +2360,8 @@ X the coordinate preparation routines should assign global registers. This would Idea: enable/disable clipping separately for each drawing command! -- provide 'only each nth coordinate' or so as style on top of 'x filter'. - -+ 3D axes: my axis is "heavy weighted". - Possible improvements: - + draw exactly 3 axis lines (unless one really wants the complete box). - + draw only one tick line per tick, in a direction which "looks well" - (one of the two possible directions). - this would also avoid double placing of tick labels in corners. - + attach tick labels generally at the end of tick lines. Provide a - distance option configuring the distance. - -> my idea: - + for "normal" orthogonal axes (i.e. view={0,0}), the tick labels - are positioned directly at tick positions using proper anchors. - + for "non-standard" axes (skewed, rotated, 3D), tick labels are placed - at anchor 'center'; but the 'at' position it computed by pgfplots: - it is positioned parallel to the surfaces' 'b' axes at a predefined - distance. - + user interface: [xy]ticklabel pos in - {left,right,top,bottom,auto,paraxial:<distance>} - -> 'auto' implements the behavior above; all other choices are user - defined. - + automatically decide WHICH axis lines shall be drawn. - + see http://mathworld.wolfram.com/EulerAngles.html ++ provide 'only each nth coordinate' or so as style on top of 'x filter'. + + implement simply style 'scatter classes'. + sanity checking feature: try if 'pgfmathfloattofixed' results in a known @@ -1959,21 +2383,12 @@ X the coordinate preparation routines should assign global registers. This would Maybe it is even faster to re-use these lists for markers than to create a new one. -- I could compute maximum PGF logical coordinates which are then inserted just - before qpointxy - + optimize the new code by re-defining \pgfqpointxy for the case of scaled standard unit vectors. X perhaps I can use pdf line annotations to improve clickable lib? -> no: there are right restrictions when using latex. -- there is a possibility to get that \label/\ref construction to work in - conjunction with image externalization: I only need to write those commands - into a separate AUX file and make sure they will remain ... even if the - generating source has been externalized. - The same could be done for javascript features; but that also requires bounding - box control. - asymmetric error bars @@ -2023,8 +2438,6 @@ X perhaps I can use pdf line annotations to improve clickable lib? + the 1000sep character should be placed for numbers >= 10000, not before. -- provide predefined style for raised dots as 1000 seps. - + improve scaled ticks: allow manual control over the automatic tick scaling. Idea: accept '[xy]scaled ticks=[false,true,auto,10^<k>,<real>]' + true = auto: as it is now. @@ -2160,18 +2573,6 @@ X re-implement 'dec sep align' of table package natively, not as high-level allows something like 'columns={A,B,A,B,A,B}' and distributes entries of input columns A and B equally to output columns. -+ TDS directory structure is not completely correct. Should be everything under - directory 'pgfplots': - $package = "pgfplots"; - &SYSTEM ("$MV README ext_scripts test doc/generic/$package/"); - &SYSTEM ("$MV generic tex/generic/$package/"); - &SYSTEM ("$MV context latex plain tex/"); - and context files should be in - tex/context/third/pgfplots/... - doc/context/third/pgfplots/... - (reference: mail conversation with Karl Berry) - - + automatic disabling of enlargelimits when axis lines are not drawn as a box + copy my personal' homepages short images to pgfplots website @@ -2179,7 +2580,7 @@ X re-implement 'dec sep align' of table package natively, not as high-level + interrupt single plots at discontinuities (for example tan(x)) -> don't draw from +infty to -infty -- optimize plot expression ++ optimize plot expression + optimize tick generation code for speed |