schulplots


Nameschulplots JSON
Version 0.9.6 PyPI version JSON
download
home_pageNone
Summaryschulplots -- an educational tool to create plots of functions, styled as expected by undergraduate students in German schools.
upload_time2025-10-26 15:00:10
maintainerNone
docs_urlNone
authorNone
requires_python<3.13,>=3.9
licenseMIT
keywords education plotting teaching publication
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/HansAschauer/schulplots/blob/main/src/notebook_example.ipynb)

# schulplots - a tool for generating 2D plots in "German school style"

`schulplots` allows you to create 2D graphs of functions that look like what students are familiar with.

The figure is described using a description file that is converted into a visual representation by `schulplots`.

## Example
<img src="images/plot_sinus.png" alt="Sine Curve" width="500"/>

This image is generated by the following description in YAML format:

```yaml
figure:
  height: 8cm
  width: 10cm
axes_descriptors:
- axes:
    height: 6cm
    width: 8cm
    x_min: -3
    y_min: -2
  bottom: 1cm
  left: 1cm
  graphs:
  - function: sin(x)
    label: $\sin(x)$
  areas:
  - function:
    - sin(x)
    - 0*x
    label: $A = \int_0^\pi \sin(x)\,dx$
    condition: y1 >= y2
    plot_args:
      alpha: 0.3
      color: red

```
The description file has main sections:
1. `figure`: This section contains information about the entire figure. In the example, it specifies the height and width of the figure.
2. `axes_descriptors`: This section contains a description of axis systems and graphs/areas to be plotted within these axis systems.

It is also possible to draw multiple axis systems with multiple graphs:

<img src="images/plot_sinus2.png" alt="Sine Curve" width="500"/>

## Installation

`schulplots` requires a recent version of Python. If you have Python installed (including pip, the python package manager), you can install it  from [PyPi](https://pypi.org/project/schulplots/) with `pip install schulplots`. 

## Run from Colab

You can use schulplots without installation directly in Google Colab. For an example, click [here](https://colab.research.google.com/github/HansAschauer/schulplots/blob/main/src/notebook_example.ipynb).
![Screenshot](images/ScreenshotColaboratory.png)

## Documentation

You can find detailed documentation [here](https://schulplots.hans-aschauer.de) (sorry, German only for now).

## Limitations

* The tool is limited to plotting function graphs in "typical" value ranges. It is intentionally not a comprehensive plotting tool for scientific purposes.
* The tool was specifically developed for the conventions commonly used in the German-speaking region for function graphs (axes at the zero line, arrows in the positive direction, squared paper with a 5mm grid, etc.).
* It is not a tool for changing graph parameters through a graphical user interface (GUI).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "schulplots",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.13,>=3.9",
    "maintainer_email": null,
    "keywords": "education, plotting, teaching, publication",
    "author": null,
    "author_email": "Hans Aschauer <schulplots@hans-aschauer.de>",
    "download_url": "https://files.pythonhosted.org/packages/b5/8c/2c8e90a6029689e731762107c5e062ea4def8240e9cd85740c9ac3a9c75f/schulplots-0.9.6.tar.gz",
    "platform": null,
    "description": "\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/HansAschauer/schulplots/blob/main/src/notebook_example.ipynb)\n\n# schulplots - a tool for generating 2D plots in \"German school style\"\n\n`schulplots` allows you to create 2D graphs of functions that look like what students are familiar with.\n\nThe figure is described using a description file that is converted into a visual representation by `schulplots`.\n\n## Example\n<img src=\"images/plot_sinus.png\" alt=\"Sine Curve\" width=\"500\"/>\n\nThis image is generated by the following description in YAML format:\n\n```yaml\nfigure:\n  height: 8cm\n  width: 10cm\naxes_descriptors:\n- axes:\n    height: 6cm\n    width: 8cm\n    x_min: -3\n    y_min: -2\n  bottom: 1cm\n  left: 1cm\n  graphs:\n  - function: sin(x)\n    label: $\\sin(x)$\n  areas:\n  - function:\n    - sin(x)\n    - 0*x\n    label: $A = \\int_0^\\pi \\sin(x)\\,dx$\n    condition: y1 >= y2\n    plot_args:\n      alpha: 0.3\n      color: red\n\n```\nThe description file has main sections:\n1. `figure`: This section contains information about the entire figure. In the example, it specifies the height and width of the figure.\n2. `axes_descriptors`: This section contains a description of axis systems and graphs/areas to be plotted within these axis systems.\n\nIt is also possible to draw multiple axis systems with multiple graphs:\n\n<img src=\"images/plot_sinus2.png\" alt=\"Sine Curve\" width=\"500\"/>\n\n## Installation\n\n`schulplots` requires a recent version of Python. If you have Python installed (including pip, the python package manager), you can install it  from [PyPi](https://pypi.org/project/schulplots/) with `pip install schulplots`. \n\n## Run from Colab\n\nYou can use schulplots without installation directly in Google Colab. For an example, click [here](https://colab.research.google.com/github/HansAschauer/schulplots/blob/main/src/notebook_example.ipynb).\n![Screenshot](images/ScreenshotColaboratory.png)\n\n## Documentation\n\nYou can find detailed documentation [here](https://schulplots.hans-aschauer.de) (sorry, German only for now).\n\n## Limitations\n\n* The tool is limited to plotting function graphs in \"typical\" value ranges. It is intentionally not a comprehensive plotting tool for scientific purposes.\n* The tool was specifically developed for the conventions commonly used in the German-speaking region for function graphs (axes at the zero line, arrows in the positive direction, squared paper with a 5mm grid, etc.).\n* It is not a tool for changing graph parameters through a graphical user interface (GUI).\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "schulplots -- an educational tool to create plots of functions, styled as expected by undergraduate students in German schools.",
    "version": "0.9.6",
    "project_urls": {
        "Documentation": "https://schulplots.hans-aschauer.de",
        "Homepage": "https://github.com/HansAschauer/schulplots/"
    },
    "split_keywords": [
        "education",
        " plotting",
        " teaching",
        " publication"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ee69efe4be5bc5a5f87a20d0974fd41867650ae98b112a68e0b952d9c990fd09",
                "md5": "5d0d49f2419ff9087302fe31bd0256fc",
                "sha256": "6cfff7a5fada0f6165eedcf4eaec3450622c79da4c21bccc336d3ce6846598ad"
            },
            "downloads": -1,
            "filename": "schulplots-0.9.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5d0d49f2419ff9087302fe31bd0256fc",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.13,>=3.9",
            "size": 26456,
            "upload_time": "2025-10-26T15:00:09",
            "upload_time_iso_8601": "2025-10-26T15:00:09.493143Z",
            "url": "https://files.pythonhosted.org/packages/ee/69/efe4be5bc5a5f87a20d0974fd41867650ae98b112a68e0b952d9c990fd09/schulplots-0.9.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b58c2c8e90a6029689e731762107c5e062ea4def8240e9cd85740c9ac3a9c75f",
                "md5": "dbc6cec883e12537cfc6034d8ede093a",
                "sha256": "b62e16ce444ab6a1ff33f8c68ae083b7dd5c9f5b8c46c43e45cc4777f92c8740"
            },
            "downloads": -1,
            "filename": "schulplots-0.9.6.tar.gz",
            "has_sig": false,
            "md5_digest": "dbc6cec883e12537cfc6034d8ede093a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.13,>=3.9",
            "size": 21553,
            "upload_time": "2025-10-26T15:00:10",
            "upload_time_iso_8601": "2025-10-26T15:00:10.989464Z",
            "url": "https://files.pythonhosted.org/packages/b5/8c/2c8e90a6029689e731762107c5e062ea4def8240e9cd85740c9ac3a9c75f/schulplots-0.9.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-26 15:00:10",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "HansAschauer",
    "github_project": "schulplots",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "schulplots"
}
        
Elapsed time: 3.04049s