Future Plan =========== | Open ideas for |plotext| 6.x, kept here as **inspiration** rather than committed work, unless an `Issue` is linked, which marks something somebody has already asked for. | Contributions are welcome: open an `issue `_ or a `pull request `_. Bug Fixes --------- - **Business days**: an optional :doc:`date ` axis skipping weekends, and holidays, so that a series of trading days shows no flat gaps between them (`Issue 148 `_). - **Bars meeting at zero**: a bar runs from zero to its value, so a positive and a negative bar of the same plot both paint the zero column, and the two touch. Drawing them from either side of that column, leaving it to a zero line, would separate them, at the cost of half a character of accuracy on every bar (`Pull Request 222 `_, which solved the same matter in version 5 by assembling each row as text). - **Limits as a wall**: a point just outside the :meth:`limits ` is still drawn on the edge row, because the default :meth:`alignment ` centers each value in its character, leaving half a character of tolerance beyond the range asked for. Pinning them with ``alignment(lim = "edge")`` works today; the same strictness should hold with the centered alignment too, which means selecting the points against the limits instead of against the canvas (`Issue 185 `_). Settings -------- - **Changing the defaults**: every default sits in `defaults.py `_, from the :ref:`marker ` used when none is given to the first *x* coordinate of a plot drawn from a single list of values, 1 rather than 0, as `Issue 176 `_ asked. A method setting any of them by name, as ``plotext.default("first x", 0)``, would let a user pick their own once, instead of repeating the choice at every call. Plots ----- - **Color bar**: an optional bar beside the :ref:`heatmap `, pairing the color gradient with the values it spans, so that a color can be read back as a number. - **Networks**: a plot of nodes and of the edges joining them, with a rule placing the nodes on the canvas (`Issue 160 `_). The drawing is already possible by hand, an edge being a :meth:`segment() ` and a node a :meth:`text() `; what is missing is the placing rule, deciding where each node goes. - **Tables**: a plain text table, distinct from the :ref:`heatmap ` and the :ref:`confusion matrix `, which color cells instead of aligning text. - **Date errors**: :meth:`error() ` accepts numbers only, since it adds and halves its coordinates; date coordinates would need the horizontal errors written as durations, *2 days* rather than a date, with a conversion of their own. - **Gifs and videos in a plot**: a still picture goes inside a plot with :meth:`figure.image() `, but a :ref:`gif ` and a :ref:`video