schulplots


Nameschulplots JSON
Version 0.9.3 PyPI version JSON
download
home_pagehttps://github.com/HansAschauer/schulplots/
Summaryschulplots -- an educational tool to create plots of functions, styled as expected by undergraduate students in German schools.
upload_time2024-03-03 08:38:10
maintainer
docs_urlNone
authorHans Aschauer
requires_python>=3.9,<3.13
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": "https://github.com/HansAschauer/schulplots/",
    "name": "schulplots",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9,<3.13",
    "maintainer_email": "",
    "keywords": "education,plotting,teaching,publication",
    "author": "Hans Aschauer",
    "author_email": "schulplots@hans-aschauer.de",
    "download_url": "https://files.pythonhosted.org/packages/61/cf/e661001c1d61b96d7ae7cbea722c983a2dffddf8fb9819433771e2e44bba/schulplots-0.9.3.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).",
    "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.3",
    "project_urls": {
        "Documentation": "https://schulplots.hans-aschauer.de",
        "Homepage": "https://github.com/HansAschauer/schulplots/"
    },
    "split_keywords": [
        "education",
        "plotting",
        "teaching",
        "publication"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8375624c019fc3d2e9fc659507d2826ec605d83b6f8a6b09fe401e789501251a",
                "md5": "28f1d5a40cec6b46ea178e8e8d0426d6",
                "sha256": "18a089869225aa2df2d85f2a50e19a36645466fa730ecc9bbb511874e5c53a02"
            },
            "downloads": -1,
            "filename": "schulplots-0.9.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "28f1d5a40cec6b46ea178e8e8d0426d6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9,<3.13",
            "size": 21098,
            "upload_time": "2024-03-03T08:38:08",
            "upload_time_iso_8601": "2024-03-03T08:38:08.146443Z",
            "url": "https://files.pythonhosted.org/packages/83/75/624c019fc3d2e9fc659507d2826ec605d83b6f8a6b09fe401e789501251a/schulplots-0.9.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "61cfe661001c1d61b96d7ae7cbea722c983a2dffddf8fb9819433771e2e44bba",
                "md5": "da937bc30200b08053e2bf6b22d490e5",
                "sha256": "3d69724350543785aad30c328c67fafcf02a159429dec9d9d83015ceef3591e7"
            },
            "downloads": -1,
            "filename": "schulplots-0.9.3.tar.gz",
            "has_sig": false,
            "md5_digest": "da937bc30200b08053e2bf6b22d490e5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9,<3.13",
            "size": 16505,
            "upload_time": "2024-03-03T08:38:10",
            "upload_time_iso_8601": "2024-03-03T08:38:10.016964Z",
            "url": "https://files.pythonhosted.org/packages/61/cf/e661001c1d61b96d7ae7cbea722c983a2dffddf8fb9819433771e2e44bba/schulplots-0.9.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-03 08:38: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: 2.58052s