{"id":23044827,"url":"https://github.com/tomarus/chart","last_synced_at":"2025-08-14T23:31:27.297Z","repository":{"id":57487375,"uuid":"91271228","full_name":"tomarus/chart","owner":"tomarus","description":"Go Chart Lib","archived":false,"fork":false,"pushed_at":"2019-01-31T09:10:32.000Z","size":74,"stargazers_count":36,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-13T22:04:55.351Z","etag":null,"topics":["chart","charts","golang","png","svg","time-series"],"latest_commit_sha":null,"homepage":null,"language":"Go","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/tomarus.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":"2017-05-14T21:01:23.000Z","updated_at":"2025-05-18T17:10:42.000Z","dependencies_parsed_at":"2022-09-01T23:02:34.066Z","dependency_job_id":null,"html_url":"https://github.com/tomarus/chart","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tomarus/chart","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomarus%2Fchart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomarus%2Fchart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomarus%2Fchart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomarus%2Fchart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tomarus","download_url":"https://codeload.github.com/tomarus/chart/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomarus%2Fchart/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270358865,"owners_count":24570437,"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-08-14T02:00:10.309Z","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":["chart","charts","golang","png","svg","time-series"],"created_at":"2024-12-15T21:16:22.010Z","updated_at":"2025-08-14T23:31:26.953Z","avatar_url":"https://github.com/tomarus.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://api.travis-ci.org/tomarus/chart.svg)](https://travis-ci.org/tomarus/chart)\n[![Coverage Status](https://coveralls.io/repos/github/tomarus/chart/badge.svg?branch=master)](https://coveralls.io/github/tomarus/chart?branch=master)\n[![Go Report Card](https://goreportcard.com/badge/github.com/tomarus/chart)](https://goreportcard.com/report/github.com/tomarus/chart)\n[![GoDoc](https://godoc.org/github.com/tomarus/chart?status.svg)](https://godoc.org/github.com/tomarus/chart)\n\n# Go Chart Lib\n\nDead simple rrd like bandwidth charts with focus on pixel perfect rendering of source data.\n\nWritten in Go, the output can either be an interactive SVG chart or a static PNG image.\n\nIt was written to be able to show tens or hundreds of charts in seconds without interactivity in mind.\n\nThe SVG image allows basic analytics to be performed on the chart, like measurements of time or volume, showing/hiding datasets and showing a weighted moving average on demand.\n\nSource data can be upsampled using a simple stretch method (bar charts) or downsampled using the largest triangle three buckets algorithm.\n\nThe javascript embedded in the SVG image does not have any dependencies.\n\n## Examples\n\nExample screenshot:\n\n[View as interactive SVG](http://s.chiparus.org/6/6b15c5349e894fe9.svg)\n\n![Example Screenshot](http://s.chiparus.org/5/5caa4e08e4b2edb3.png)\n\nScreenshots from the example website:\n\n![Basics from example website](http://s.chiparus.org/3/3a23cff5f7c2c704.png)\n\n## Example Usage\n\nExample demo app:\n\n```\ngo get github.com/tomarus/chart \ngo run $GOPATH/src/github.com/tomarus/chart/examples/main.go\nopen http://localhost:3000\n```\n\nExample /proc monitoring app (linux only):\n\n```\ngo get github.com/tomarus/chart\ngo run $GOPATH/src/github.com/tomarus/chart/examples/sysmon/main.go\nopen http://localhost:3001\n```\n\nCode example:\n\n```go\nimport (\n    \"github.com/tomarus/chart\"\n    \"github.com/tomarus/chart/svg\"\n)\nopts := \u0026chart.Options{\n    Title:  \"Traffic\",\n    Image:  svg.New(), // or png.New()\n    Size:   \"auto\",    // big is 1440px, small is 720px, auto is size of dataset\n    Height: 300,       // Defaults to -1, when size=auto height=width/4, otherwise set fixed height\n    Scheme: \"white\",   // or black/random/pink/solarized or hsl:180,0.5,0.25\n    Start:  start_epoch,\n    End:    end_epoch,\n    W:      w,\n    SIBase: 1000, // or use 1024 to scale, only used when axes are not specified.\n    // If you don't specify axes, they will be automatically calculated using some defaults.\n    Axes: []*axis.Axis{\n        axis.NewTime(axis.Bottom, \"Mon 15:04\").Duration(8 * time.Hour).Grid(4),\n        axis.NewSI(axis.Left, 1000).Ticks(4).Grid(2),\n    },\n}\nc, err := chart.NewChart(opts)\nif err != nil {\n    panic(err)\n}\nerr = c.AddData(\u0026data.Options{Title: \"My Data Description\"}, []yourData)\nif err != nil {\n    panic(err)\n}\nw.Header().Set(\"Content-Type\", \"image/svg+xml\")\nerr = c.Render()\nif err != nil {\n    panic(err)\n}\n```\n\n## Notes\n\nThis is an experimental work in progress for my own personal educational and research purposes.\n\nThis project has just started and a lot of stuf is still missing or incomplete. The API will not be stable until 1.0.0 is tagged in git.\n\nThis is a small list of ideas, todos and limitations:\n* Custom lines and markers, like 95th percentile line, downtime markers, etc\n* Add support negative values\n* It supports only area charts atm\n* Only 4 sources per chart supported currently\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomarus%2Fchart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomarus%2Fchart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomarus%2Fchart/lists"}