{"id":32161113,"url":"https://github.com/schiegl/quickplot","last_synced_at":"2025-12-11T23:13:58.315Z","repository":{"id":40270512,"uuid":"51310285","full_name":"schiegl/QuickPlot","owner":"schiegl","description":"Quick and easy data visualizations with Haskell","archived":false,"fork":false,"pushed_at":"2018-08-08T05:12:30.000Z","size":5848,"stargazers_count":84,"open_issues_count":8,"forks_count":11,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-09-15T18:43:48.470Z","etag":null,"topics":["data-visualization","haskell","visualization-library"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/schiegl.png","metadata":{"files":{"readme":"README.md","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}},"created_at":"2016-02-08T16:36:59.000Z","updated_at":"2025-03-19T00:26:43.000Z","dependencies_parsed_at":"2022-06-27T11:15:46.161Z","dependency_job_id":null,"html_url":"https://github.com/schiegl/QuickPlot","commit_stats":null,"previous_names":["tepf/quickplot"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/schiegl/QuickPlot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schiegl%2FQuickPlot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schiegl%2FQuickPlot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schiegl%2FQuickPlot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schiegl%2FQuickPlot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/schiegl","download_url":"https://codeload.github.com/schiegl/QuickPlot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schiegl%2FQuickPlot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280272338,"owners_count":26302260,"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-10-21T02:00:06.614Z","response_time":58,"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":["data-visualization","haskell","visualization-library"],"created_at":"2025-10-21T13:50:34.986Z","updated_at":"2025-10-21T13:50:41.032Z","avatar_url":"https://github.com/schiegl.png","language":"JavaScript","readme":"# QuickPlot\n\n![QuickPlot Demo](https://raw.githubusercontent.com/tepf/QuickPlot/master/QuickPlotDemo.gif)\n\n\n\n**This project is no longer maintained**\n\nSince the demand of data visualization has been getting bigger many language agnostic libraries popped up. It would be much more efficient to just write clients for their visualization servers.\n\nHow does it work?\n----------------\n\nHaskell creates a simple server that runs in the background and sends data to a browser that visualizes it. In the demo above the browser and ghci runs inside [Atom](https://atom.io), but you can use any editor (even [butterflies](https://xkcd.com/378/)) with a fairly modern browser. Once the data arrives at the browser any JavaScript visualization library could take care of it like for example [plot.ly](https://plot.ly/javascript/)\n\n\n\n\n\nHow do I use it?\n----------------\n\nQuickPlot was designed to make interactive data exploration easier. So the following won't make much sense outside of ghci\n\n**0. Install QuickPlot**\n\n````haskell\nstack install QuickPlot\ncabal install QuickPlot\n-- or manually\n````\n\n**1. Import QuickPlot**\n\n````haskell\nimport QuickPlot\nimport QuickPlot.Plotly -- if you want to use the plotly library\n````\n\n**2. Start QuickPlot**\n\n````haskell\nrunQuickPlot\n````\n\n**3. Connect to QuickPlot**\n\nGo to the address `runQuickPlot` printed\n\n\n**4. Plot**\n\nHere is the less verbose version of the [full example](https://github.com/tepf/QuickPlot/blob/master/examples/BasicPlotting.lhs):\n\n````haskell\n-- As box aficionados we just measured the weight of all our boxes at home\n-- and gathered the following data\nblueBoxSizes   = [1.1, 1.8, 2.9, 3.3] :: [Double]\norangeBoxSizes = [3.1, 3.8, 5.9, 2.3] :: [Double]\n\n-- We create traces from our data\nblueBoxTrace = [plotly|{\n      y    : #{ blueBoxSizes },\n      type : \"box\"\n}|]\norangeBoxTrace = [plotly|{\n      y    : #{ orangeBoxSizes },\n      type : \"box\"\n}|]\n\n-- And finally gain great insight from the data visualization\nplot [blueBoxTrace, orangeBoxTrace]\n````\n\n\n\n\n\nFAQ\n---\n\n#### Does it work on X?\n\nProbably yes. If your browser supports WebSockets, HTML5, CSS3 you'll be fine. If not please update your browser. Find out more about [here](http://caniuse.com/)\n\n#### Can you implement library X?\n\nIf the library takes JSON as an input, submit an issue. Libraries like [D3.js](https://d3js.org) are problematic however. Graphs in D3 are created programatically and therefore you can't just pick a graph type and say plot it. You have to create them from scratch. If there are examples that give you goosebumps it is possible to integrate them separately. Or you just include it as a user script yourself (once this is implemented)\n\n#### How can I help?\n\nThere are many ways to do so:\n\n- If you know JavaScript/HTML/CSS you could make the UI prettier, more user friendly or easier extensible\n- Implement a visualization library in JavaScript\n\n#### Can this library only use JavaScript libraries?\n\nTechnically any library that Haskell can convice to create graphics is compatible.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschiegl%2Fquickplot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fschiegl%2Fquickplot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschiegl%2Fquickplot/lists"}