{"id":25927841,"url":"https://github.com/samirelanduk/quickplots","last_synced_at":"2025-09-15T02:26:05.243Z","repository":{"id":69802572,"uuid":"41976891","full_name":"samirelanduk/quickplots","owner":"samirelanduk","description":"An object-oriented plotting library for Python, with simplicity as its principal aim.","archived":false,"fork":false,"pushed_at":"2017-02-05T19:49:51.000Z","size":737,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-13T22:29:13.732Z","etag":null,"topics":["charting-library","charts","data-visualization","dataviz","graphs","visualization"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/samirelanduk.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-09-05T21:56:31.000Z","updated_at":"2022-01-06T03:15:22.000Z","dependencies_parsed_at":"2023-07-16T23:17:50.146Z","dependency_job_id":null,"html_url":"https://github.com/samirelanduk/quickplots","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/samirelanduk/quickplots","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samirelanduk%2Fquickplots","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samirelanduk%2Fquickplots/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samirelanduk%2Fquickplots/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samirelanduk%2Fquickplots/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samirelanduk","download_url":"https://codeload.github.com/samirelanduk/quickplots/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samirelanduk%2Fquickplots/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275194044,"owners_count":25421448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-15T02:00:09.272Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["charting-library","charts","data-visualization","dataviz","graphs","visualization"],"created_at":"2025-03-03T21:10:52.334Z","updated_at":"2025-09-15T02:26:05.235Z","avatar_url":"https://github.com/samirelanduk.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"QuickPlots\n==========\n\nquickplots is a lightweight, object-oriented plotting library for Python. It\ncurrently supports line charts.\n\nExample\n-------\n\n  \u003e\u003e\u003e import quickplots\n  \u003e\u003e\u003e chart = quickplots.line((0, 0), (1, 1), (2, 4), (3, 9), name=\"squares\")\n  \u003e\u003e\u003e chart.get_series_by_name(\"squares\").color(\"#FF0000\")\n  \u003e\u003e\u003e chart.create().save(\"chart.svg\")\n\nInstalling\n----------\n\npip\n~~~\n\nquickplots can be installed using pip:\n\n``$ pip install quickplots``\n\nquickplots is written for Python 3. If the above installation fails, it may be\nthat your system uses ``pip`` for the Python 2 version - if so, try:\n\n``$ pip3 install quickplots``\n\nRequirements\n~~~~~~~~~~~~\n\nquickplots relies on `OmniCanvas \u003chttp://omnicanvas.samireland.com/\u003e`_ for its\ngraphics capabilities. If you install quickplots using pip this library will be\ninstalled automatically. It also requires\n`numerus \u003chttp://numerus.samireland.com/\u003e`_.\n\nOtherwise quickplots has no external dependencies, and is pure Python.\n\nOverview\n--------\n\nCreating Charts\n~~~~~~~~~~~~~~~\nThe easiest way to create a chart is with the quick-add functions. For example,\nthe following code would create a line chart of the sine function:\n\n  \u003e\u003e\u003e import quickplots\n  \u003e\u003e\u003e from math import sin, radians\n  \u003e\u003e\u003e data = [(x, sin(radians(x))) for x in range(360)]\n  \u003e\u003e\u003e chart = quickplots.line(*data, color=\"#0000FF\", title=\"sin(x)\")\n  \u003e\u003e\u003e chart.x_label(\"angle\")\n  \u003e\u003e\u003e chart.y_label(\"sine of angle\")\n\nA few things to note here. The ``line`` function takes (x, y) data points as its\npositional arguments - these can be lists or tuples. All arguments that are not\ndata must be given as keyword arguments.\n\nAs with all other quickplots functions that accept data in this way, you can\nalso provide the data in the form of two lists (or tuples) - one of all the x\nvalues and one of all the y values:\n\n  \u003e\u003e\u003e chart = quickplots.line([x for x in range(360)], [sin(radians(x)) for x in range(360)])\n\nLine charts\n###########\n\nUse the ``line`` function as above to create line charts. You can pass\nin hex colors to the ``color`` function and line styles (see the full\ndocumentation for a full list of styles) to the ``linestyle`` argument.\n\nCharts themselves also have a ``charts.AxisChart.line`` method for adding new line series. To\nadd the cosine function to the above chart, you would do the following:\n\n  \u003e\u003e\u003e cosine_data = [(x, cos(radians(x))) for x in range(360)]\n  \u003e\u003e\u003e chart.line(*cosine_data, color=\"#00FF00\")\n\nScatter charts\n##############\n\n``scatter()`` will create a scatter chart. You can set the size of the\npoints with the ``size`` argument, as well as their ``color`` and ``linewidth``\n(the width of the points' border).\n\nCharts themselves also have a ``scatter()`` method for\nadding new line series. To add the cosine function to the above chart, you would\ndo the following:\n\n  \u003e\u003e\u003e cosine_data = [(x, cos(radians(x))) for x in range(360)]\n  \u003e\u003e\u003e chart.scatter(*cosine_data, color=\"#00FF00\")\n\nModifying Charts\n~~~~~~~~~~~~~~~~\n\nCharts have a title, an x axis label, and a y axis label, which can be modified\nlike so:\n\n  \u003e\u003e\u003e chart.title()\n  'sin(x)'\n  \u003e\u003e\u003e chart.title(\"A new title\")\n  \u003e\u003e\u003e chart.title()\n  'A new title'\n  \u003e\u003e\u003e chart.x_label(\"A new x-axis label\")\n  \u003e\u003e\u003e chart.y_label(\"A new y-axis label\")\n\nTicks will be automatically generated, but if you want to specify your own you\ncan specify your own:\n\n  \u003e\u003e\u003e chart.x_ticks(0, 90, 180, 270, 360)\n  \u003e\u003e\u003e chart.x_ticks()\n  (0, 90, 180, 270, 360)\n\nCharts can have one or more ``Series` objects. The ``series``` property\nwill return the first series, and the ``all_series`` will return all the\nseries on the chart.\n\nSee the documentation for ``AxisChart`` for\nmore information.\n\nOutputting Charts\n~~~~~~~~~~~~~~~~~\n\nAll charts have a ``create`` method which will create an\nOmniCanvas `canvas \u003chttps://omnicanvas.readthedocs.io/en/latest/api/canvas.htm\\\nl#omnicanvas.canvas.Canvas\u003e`_ with the chart painted to it. These can be saved\nor rendered as SVG text.\n\n  \u003e\u003e\u003e chart.create()\n  \u003cCanvas 700×500 (7 Graphics)\u003e\n  \u003e\u003e\u003e chart.create().save(\"Charts.svg\")\n\n\nChangelog\n---------\n\nRelease 2.1.0\n~~~~~~~~~~~~~\n\n`5 February 2017`\n\n* Added Scatter series for scatter plots.\n* Charts now have ticks and grid lines.\n* Added new colour palette and colour generation.\n* Line charts can now set the width of their line.\n\nRelease 2.0.0\n~~~~~~~~~~~~~\n\n`9 January 2017`\n\n* Remade quickplots as dependent on OmniCanvas for its graphics rendering.\n* Added LineSeries and AxisCharts.\n* Added quick-add function for easy creation of line charts.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamirelanduk%2Fquickplots","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamirelanduk%2Fquickplots","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamirelanduk%2Fquickplots/lists"}