| Name | schulplots JSON |
| Version |
0.9.6
JSON |
| download |
| home_page | None |
| Summary | schulplots -- an educational tool to create plots of functions, styled as expected by undergraduate students in German schools. |
| upload_time | 2025-10-26 15:00:10 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | <3.13,>=3.9 |
| license | MIT |
| keywords |
education
plotting
teaching
publication
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
[](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).

## 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[](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\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"
}