{"id":39483415,"url":"https://github.com/aldebap/go-plot","last_synced_at":"2026-01-18T05:17:47.642Z","repository":{"id":59046624,"uuid":"532701333","full_name":"aldebap/go-plot","owner":"aldebap","description":"A Golang library that implements GNU-Plot features","archived":false,"fork":false,"pushed_at":"2024-01-02T21:03:31.000Z","size":1670,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-09T21:38:57.277Z","etag":null,"topics":["plot","plotting"],"latest_commit_sha":null,"homepage":"","language":"Go","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/aldebap.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,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-09-05T01:16:04.000Z","updated_at":"2022-10-25T02:38:27.000Z","dependencies_parsed_at":"2024-01-15T10:05:18.427Z","dependency_job_id":"2bd3381b-d16d-482d-9793-a4bcbeea380c","html_url":"https://github.com/aldebap/go-plot","commit_stats":{"total_commits":117,"total_committers":1,"mean_commits":117.0,"dds":0.0,"last_synced_commit":"17e5bb81ff9fc1735022e8de1234dfdef88f34c8"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aldebap/go-plot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aldebap%2Fgo-plot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aldebap%2Fgo-plot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aldebap%2Fgo-plot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aldebap%2Fgo-plot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aldebap","download_url":"https://codeload.github.com/aldebap/go-plot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aldebap%2Fgo-plot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28530810,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"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":["plot","plotting"],"created_at":"2026-01-18T05:17:47.433Z","updated_at":"2026-01-18T05:17:47.602Z","avatar_url":"https://github.com/aldebap.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# go-plot\n\n[![Go Build](https://github.com/aldebap/go-plot/actions/workflows/go.yml/badge.svg)](https://github.com/aldebap/go-plot/actions/workflows/go.yml)\n[![Docker Image](https://github.com/aldebap/go-plot/actions/workflows/docker-image.yml/badge.svg)](https://github.com/aldebap/go-plot/actions/workflows/docker-image.yml)\n\nA Golang library with some Gnuplot features (in progress).\nFor more info on Gnuplot, visit [Gnuplot](http://gnuplot.info/)\n\n### General features already working\n\n1. Go package to generate plots from multiple sets of points;\n2. creation of plots from data files;\n3. creation of plots from mathematical functions (in development);\n4. graphic drivers to generate the following output formats: SVG, HTML Canvas, GIF, JPEG, PNG;\n5. CLI interface to read plot files and generate the graphic output;\n\n### GNU-Plot like commands already working\n\n1. plot command ```set terminal [svg/canvas/gif/jpeg/png]```\n2. plot command ```set output \"file name\"```\n3. plot command ```plot \"data file\" using i:j with [dots/boxes/lines/linespoints/points] title \"description\"```\n4. plot command ```plot [i:j] mathematical function```\n5. plot command ```set xlabel \"label\"```\n6. plot command ```set ylabel \"label\"```\n\n### Additional features already working\n\n1. REST API interface to receive plot commands and generate the graphic output (plot/svg endpoint);\n2. REST API interface to receive plot commands and generate the graphic output (plot/canvas endpoint);\n3. REST API interface to receive plot commands and generate the graphic output (plot/gif endpoint);\n4. REST API interface to receive plot commands and generate the graphic output (plot/jpeg endpoint);\n5. REST API interface to receive plot commands and generate the graphic output (plot/png endpoint);\n6. Web interface to set plot configuration and generate dynamic plots through the canvas endpoint;\n7. Dockerfile to serve Web interface and the REST API interface from a single container;\n\n### Quick start\n\nTo simply run the latest version from Github's package, type the following on bash or Powershell:\n\n```sh\ndocker run -d -p 8080:8080 ghcr.io/aldebap/go-plot\n```\n\nThen use your favorite browser to go to the following URI: ```localhost:8080/plot```\n\n### Plot file samples\n\n```gnuplot\nset terminal svg\nset output \"output.svg\"\n\nplot \"data\" using 1:2 with boxes\n```\n\n![plot output](img/plot_output_01.svg)\n\n```gnuplot\nset terminal svg\nset output \"output.svg\"\n\nplot \"data\" using 1:2 with lines,\n     \"data\" using 1:3\n```\n\n![plot output](img/plot_output_02.svg)\n\n```gnuplot\nset terminal svg\nset output \"output.svg\"\n\nplot [-4:+4] x * x - 3 * x + 2\n```\n\n![plot output](img/plot_output_03.svg)\n\n```gnuplot\nset terminal svg\nset output \"output.svg\"\n\nplot [0:6.283184] sin(x)\n```\n\n![plot output](img/plot_output_04.svg)\n\n### Features backlog (for v1.0 release)\n\n- [x] ~~Dataset upload button on Web Go-Plot;~~\n- [X] ~~Github's Web Go-Plot package;~~\n- [X] ~~help on how to run Web Go-Plot from Github's package;~~\n- [ ] Webassembly version of Go-Plot for Web;\n- [ ] configuration + generic test script;\n- [ ] fix bug in multiple plot titles;\n- [ ] signed literals in expression parser;\n- [ ] assignment operator in function plots;\n- [ ] parametric plots;\n- [ ] refactor plot file parser;\n- [ ] bug in scale evaluation;\n- [ ] fix title positioning;\n- [ ] rotate y axis for every driver;\n- [ ] add more plot styles;\n- [ ] add more colors to default pallete;\n- [ ] colour pallete command;\n- [ ] LaTeX driver;\n- [ ] PDF driver;\n- [ ] PS driver;\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faldebap%2Fgo-plot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faldebap%2Fgo-plot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faldebap%2Fgo-plot/lists"}