Skip to main content

Platform-agnostic, highly customizable sequence plotting in the console

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asciiplot-1.0.0.tar.gz (13.5 kB view hashes)

Uploaded Source

Built Distribution

asciiplot-1.0.0-py3-none-any.whl (16.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page