Platform-agnostic, highly customizable sequence plotting in the console


Keywords
plotting, terminal, console, ascii, gui, data, visualization, statistics, sequences, asciiized-sequences, chart, charts, data-visualization, plot, python, pythonmodule
License
MIT
Install
pip install asciiplot==1.0.0

Documentation

asciiplot

PyPI - Python Version Build codecov PyPI GitHub release (latest SemVer) Downloads GitHub

Platform-agnostic, highly customizable sequence plotting in the console alt text

Installation

pip install asciiplot

Plot Appearance Configuration Options

You may set the/a

  • chart height & title
  • color of virtually all chart components and areas, picked from a wide array of shades due to the integration of colored
  • margin between consecutive data points to widen your chart
    • tick point color, to make the tick points visually stand out in case of a margin having been set
  • chart indentation within its hosting terminal, or whether it ought to be centered in it, respectively
  • axes descriptions
  • x-axis tick labels, which may be set to contain strings instead of just numeric values
  • y-axis tick label decimal places

Usage Examples

from asciiplot import asciiize, Color


print(
    asciiize(
        [0, 1, 1, 2, 3, 5, 8, 13, 21],
        sequence_colors=[Color.BLUE_3B],
        height=22,
        inter_points_margin=5,
        background_color=Color.LIGHT_SALMON_1,
        tick_point_color=Color.RED_1,
        label_color=Color.BLUE_VIOLET,
        label_background_color=Color.DEEP_PINK_3A,
        title='Fibonacci',
        title_color=Color.RED_1,
        x_axis_description='x',
        y_axis_description='y',
        center_horizontally=True
    )
)

alt text

from asciiplot import asciiize, Color


print(
    asciiize(
        [17, 21, 19, 19, 5, 7, 12, 4],
        [7, 8, 3, 17, 19, 18, 5, 2, 20],
        sequence_colors=[Color.RED, Color.BLUE_VIOLET],
        inter_points_margin=5,
        height=20,
        background_color=Color.GREY_7,
        title='Random Sequences',
        title_color=Color.MEDIUM_PURPLE,
        label_color=Color.MEDIUM_PURPLE,
        x_axis_description='x',
        y_axis_description='y',
        center_horizontally=True
    )
)

alt text

Credits

The core sequence asciiization algorithm was adopted from asciichartpy.

Run Tests

git clone https://github.com/w2sv/asciiplot.git
cd asciiplot
poetry install
make test  # runs mypy, pytest doctest and outputs test coverage

License

MIT