{"id":13422082,"url":"https://github.com/olgabot/prettyplotlib","last_synced_at":"2026-03-17T23:38:05.233Z","repository":{"id":9587519,"uuid":"11505218","full_name":"olgabot/prettyplotlib","owner":"olgabot","description":"Painlessly create beautiful matplotlib plots.","archived":false,"fork":false,"pushed_at":"2019-01-31T16:40:48.000Z","size":28686,"stargazers_count":1707,"open_issues_count":11,"forks_count":144,"subscribers_count":82,"default_branch":"master","last_synced_at":"2025-12-16T01:48:24.224Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"olgabot.github.io/prettyplotlib","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/olgabot.png","metadata":{"files":{"readme":"README","changelog":"CHANGES.txt","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-07-18T14:39:58.000Z","updated_at":"2025-12-16T01:40:59.000Z","dependencies_parsed_at":"2022-07-30T01:48:02.516Z","dependency_job_id":null,"html_url":"https://github.com/olgabot/prettyplotlib","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/olgabot/prettyplotlib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olgabot%2Fprettyplotlib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olgabot%2Fprettyplotlib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olgabot%2Fprettyplotlib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olgabot%2Fprettyplotlib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/olgabot","download_url":"https://codeload.github.com/olgabot/prettyplotlib/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olgabot%2Fprettyplotlib/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30635280,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T22:38:22.569Z","status":"ssl_error","status_checked_at":"2026-03-17T22:38:11.804Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-07-30T23:00:36.659Z","updated_at":"2026-03-17T23:38:05.197Z","avatar_url":"https://github.com/olgabot.png","language":"Python","readme":"# Announcement\n\nThank you to everyone who has used `prettyplotlib` and made it what it is today! Unfortunately, I no longer have the bandwidth to maintain prettyplotlib. I recommend using [`seaborn`](https://github.com/mwaskom/seaborn). Using `seaborn`, to get the `prettyplotlib` style, do:\n\n    import seaborn as sns\n    sns.set(style='ticks', palette='Set2')\n\nAnd to remove \"chartjunk\", do:\n\n    sns.despine()\n\nIf you have discrete pull requests, I will accept them, but I personally will no longer fix bugs.\n\nIf you are a biological scientist looking for ways to analyze your big-ish (20+ samples) data, check out my main project, [`flotilla`](https://github.com/YeoLab/flotilla).\n\n[![Build Status](https://travis-ci.org/olgabot/prettyplotlib.png?branch=master)](https://travis-ci.org/olgabot/prettyplotlib)\n\nprettyplotlib\n=============\n\nPython matplotlib-enhancer library which painlessly creates beautiful default `matplotlib`\n plots. Inspired by [Edward Tufte](http://www.edwardtufte.com/tufte/)'s work on information design and [Cynthia Brewer](http://www.personal.psu.edu/cab38/)'s work on [color perception](http://colorbrewer2.org/).\n\nI truly believe that scientific progress is impeded when improper data visualizations are used. I spent a lot of time tweaking my figures to make them more understandable, and realized the scientific world could be a better place if the default parameters for plotting libraries followed recent advances in information design research. And thus `prettyplotlib` was born.\n\nRequirements:\n\n* [`matplotlib`](http://matplotlib.org/). Can be installed via `pip install matplotlib` or `easy_install matplotlib`\n* [`brewer2mpl`](https://github.com/jiffyclub/brewer2mpl). Can be installed via `pip install brewer2mpl` or `easy_install brewer2mpl`\n\n## Comparison to `matplotlib`\n\n\u003ctable\u003e\n  \u003ctr height=\"207\" valign=\"top\"\u003e\n    \u003ctd\u003e\u003ccode\u003ematplotlib\u003c/code\u003e default \u003ccode\u003eplot\u003c/code\u003e\u003cbr\u003e\u003cimg src=\"https://raw.github.com/olgabot/prettyplotlib/master/ipython_notebooks/plot_matplotlib_default.png\" height=\"202\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ccode\u003eprettyplotlib\u003c/code\u003e default \u003ccode\u003eplot\u003c/code\u003e\u003cbr\u003e\u003ca href=https://github.com/olgabot/prettyplotlib/wiki/Examples-with-code#plot-lines-eg-time-series-with-a-legend\"\u003e\u003cimg src=\"https://raw.github.com/olgabot/prettyplotlib/master/ipython_notebooks/plot_prettyplotlib_default.png\" height=\"202\"\u003e\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr height=\"207\" valign=\"top\"\u003e\n    \u003ctd\u003e\u003ccode\u003ematplotlib\u003c/code\u003e default \u003ccode\u003escatter\u003c/code\u003e\u003cbr\u003e\u003cimg src=\"https://raw.github.com/olgabot/prettyplotlib/master/ipython_notebooks/scatter_matplotlib_default.png\" height=\"202\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ccode\u003eprettyplotlib\u003c/code\u003e default \u003ccode\u003escatter\u003c/code\u003e\u003cbr\u003e\u003ca href=\"https://github.com/olgabot/prettyplotlib/wiki/Examples-with-code#scatter-points\"\u003e\u003cimg src=\"https://raw.github.com/olgabot/prettyplotlib/master/ipython_notebooks/scatter_prettyplotlib_default.png\" height=\"202\"\u003e\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr height=\"207\" valign=\"top\"\u003e\n    \u003ctd\u003e\u003ccode\u003ematplotlib\u003c/code\u003e default \u003ccode\u003ebar\u003c/code\u003e\u003cbr\u003e\u003cimg src=\"https://raw.github.com/olgabot/prettyplotlib/master/ipython_notebooks/bar_matplotlib_default.png\" height=\"202\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ccode\u003eprettyplotlib\u003c/code\u003e default \u003ccode\u003ebar\u003c/code\u003e\u003cbr\u003e\u003ca href=https://github.com/olgabot/prettyplotlib/wiki/Examples-with-code#bar\u003e\u003cimg src=\"https://raw.github.com/olgabot/prettyplotlib/master/ipython_notebooks/bar_prettyplotlib_default.png\" height=\"202\"\u003e\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr height=\"207\" valign=\"top\"\u003e\n    \u003ctd\u003e\u003ccode\u003ematplotlib\u003c/code\u003e default \u003ccode\u003ehist\u003c/code\u003e\u003cbr\u003e\u003cimg src=\"https://raw.github.com/olgabot/prettyplotlib/master/ipython_notebooks/hist_matplotlib_default.png\" height=\"202\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ccode\u003eprettyplotlib\u003c/code\u003e default \u003ccode\u003ehist\u003c/code\u003e\u003cbr\u003e\u003ca href=\"https://github.com/olgabot/prettyplotlib/wiki/Examples-with-code#hist\"\u003e\u003cimg src=\"https://raw.github.com/olgabot/prettyplotlib/master/ipython_notebooks/hist_prettyplotlib_default.png\" height=\"202\"\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n  \u003ctr height=\"207\" valign=\"top\"\u003e\n    \u003ctd\u003e\u003ccode\u003ematplotlib\u003c/code\u003e default \u003ccode\u003ehist\u003c/code\u003e\u003cbr\u003ewith grid\u003cbr\u003e\u003cimg src=\"https://raw.github.com/olgabot/prettyplotlib/master/ipython_notebooks/hist_matplotlib_grid.png\" height=\"202\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ccode\u003eprettyplotlib\u003c/code\u003e default \u003ccode\u003ehist\u003c/code\u003e\u003cbr\u003ewith grid\u003cbr\u003e\u003ca href=\"https://github.com/olgabot/prettyplotlib/wiki/Examples-with-code#back-to-matplotlib-style-scatterplots\"\u003e\u003cimg src=\"https://raw.github.com/olgabot/prettyplotlib/master/ipython_notebooks/hist_prettyplotlib_grid.png\" height=\"202\"\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n  \u003ctr height=\"207\" valign=\"top\"\u003e\n    \u003ctd\u003e\u003ccode\u003ematplotlib\u003c/code\u003e default \u003ccode\u003eboxplot\u003c/code\u003e\u003cbr\u003e\u003cimg src=\"https://raw.github.com/olgabot/prettyplotlib/master/ipython_notebooks/boxplot_matplotlib_default.png\" height=\"202\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ccode\u003eprettyplotlib\u003c/code\u003e default \u003ccode\u003eboxplot\u003c/code\u003e\u003cbr\u003e\u003ca href=\"https://github.com/olgabot/prettyplotlib/wiki/Examples-with-code#boxplot\"\u003e\u003cimg src=\"https://raw.github.com/olgabot/prettyplotlib/master/ipython_notebooks/boxplot_prettyplotlib_default.png\" height=\"202\"\u003e\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003ctr height=\"207\" valign=\"top\"\u003e\n    \u003ctd\u003e\u003ccode\u003ematplotlib\u003c/code\u003e default \u003ccode\u003epcolormesh\u003c/code\u003e\u003cbr\u003epositive and negative data\u003cbr\u003e\u003cimg src=\"https://raw.github.com/olgabot/prettyplotlib/master/ipython_notebooks/pcolormesh_matplotlib_default.png\" height=\"202\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ccode\u003eprettyplotlib\u003c/code\u003e default \u003ccode\u003epcolormesh\u003c/code\u003e\u003cbr\u003epositive and negative data\u003cbr\u003e\u003ca href=\"https://github.com/olgabot/prettyplotlib/wiki/Examples-with-code#pcolormesh-heatmaps\"\u003e\u003cimg src=\"https://raw.github.com/olgabot/prettyplotlib/master/ipython_notebooks/pcolormesh_prettyplotlib_default.png\" height=\"202\"\u003e\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c/tr\u003e  \u003ctr height=\"207\" valign=\"top\"\u003e\n    \u003ctd\u003e\u003ccode\u003ematplotlib\u003c/code\u003e default \u003ccode\u003epcolormesh\u003c/code\u003e\u003cbr\u003epositive data only\u003cbr\u003e\u003cimg src=\"https://raw.github.com/olgabot/prettyplotlib/master/ipython_notebooks/pcolormesh_matplotlib_positive_default.png\" height=\"202\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ccode\u003eprettyplotlib\u003c/code\u003e default \u003ccode\u003epcolormesh\u003c/code\u003e\u003cbr\u003epositive data only\u003cbr\u003e\u003ca href=\"https://github.com/olgabot/prettyplotlib/wiki/Examples-with-code#pcolormesh-positive-only-data\"\u003e\u003cimg src=\"https://raw.github.com/olgabot/prettyplotlib/master/ipython_notebooks/pcolormesh_prettyplotlib_positive.png\" height=\"202\"\u003e\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c/tr\u003e  \u003ctr height=\"207\" valign=\"top\"\u003e\n    \u003ctd\u003e\u003ccode\u003ematplotlib pcolormesh\u003c/code\u003e\u003cbr\u003e negative-valued data with labels\u003cbr\u003e\u003cimg src=\"https://raw.github.com/olgabot/prettyplotlib/master/ipython_notebooks/pcolormesh_matplotlib_negative_labels.png\" height=\"202\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ccode\u003eprettyplotlib pcolormesh\u003c/code\u003e\u003cbr\u003e negative-valued data with labels\u003cbr\u003e\u003ca href=\"https://github.com/olgabot/prettyplotlib/wiki/Examples-with-code#pcolormesh-positive-only-data\"\u003e\u003cimg src=\"https://raw.github.com/olgabot/prettyplotlib/master/ipython_notebooks/pcolormesh_prettyplotlib_negative_labels.png\" height=\"202\"\u003e\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n### Quotes\n\n_\"Dis ain't no **ugly**plotlib\"_ - Anonymous\n","funding_links":[],"categories":["Visualization","Python","Data Visualization","Uncategorized"],"sub_categories":["General Purposes","Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folgabot%2Fprettyplotlib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folgabot%2Fprettyplotlib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folgabot%2Fprettyplotlib/lists"}