{"id":37053394,"url":"https://github.com/qnubo-tech/sharpplot","last_synced_at":"2026-01-14T06:01:20.543Z","repository":{"id":54374628,"uuid":"254961646","full_name":"Qnubo-Tech/SharpPlot","owner":"Qnubo-Tech","description":"SharPlot: A GNUPlot wrapper for .Net Core ","archived":false,"fork":false,"pushed_at":"2021-02-22T17:58:18.000Z","size":685,"stargazers_count":11,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-27T13:34:58.382Z","etag":null,"topics":["gnuplot","graphs"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Qnubo-Tech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-11T21:52:03.000Z","updated_at":"2024-12-17T09:29:05.000Z","dependencies_parsed_at":"2022-08-13T13:50:11.726Z","dependency_job_id":null,"html_url":"https://github.com/Qnubo-Tech/SharpPlot","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/Qnubo-Tech/SharpPlot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qnubo-Tech%2FSharpPlot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qnubo-Tech%2FSharpPlot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qnubo-Tech%2FSharpPlot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qnubo-Tech%2FSharpPlot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qnubo-Tech","download_url":"https://codeload.github.com/Qnubo-Tech/SharpPlot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qnubo-Tech%2FSharpPlot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28412181,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T05:26:33.345Z","status":"ssl_error","status_checked_at":"2026-01-14T05:21:57.251Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["gnuplot","graphs"],"created_at":"2026-01-14T06:01:19.833Z","updated_at":"2026-01-14T06:01:20.511Z","avatar_url":"https://github.com/Qnubo-Tech.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Qnubo-Tech/\"\u003e\u003cimg src=\"Docs/logo-pre.png\" alt='SharpPlot' height=\"100\" width=\"300\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# SharpPlot\n\n[![Unit tests](https://github.com/Qnubo-Tech/SharpPlot/workflows/UnitTests/badge.svg)](https://github.com/Qnubo-Tech/SharpPlot/actions?query=workflow%3AUnitTests)\n[![Documentation Status](https://readthedocs.org/projects/ansicolortags/badge/?version=latest)](https://github.com/Qnubo-Tech/SharpPlot/blob/master/README.md)\n[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)\n[![Open Source Love svg1](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/Qnubo-Tech/SharpPlot/blob/master/LICENSE.md)\n\n[![forthebadge](https://forthebadge.com/images/badges/made-with-c-sharp.svg)]()\n[![ForTheBadge built-by-developers](http://ForTheBadge.com/images/badges/built-by-developers.svg)](https://github.com/Qnubo-Tech)\n\n## Welcome\n\n[\\#Plot]() (so-called SharpPlot) is a class-library devoted to bring live graph representation capabilities to .Net. The library is a human-friendly wrapper for the widely-known GNUplot software. The fundamental idea behind this project is to bring to .NET core the easiness provided by other libraries in the Python's community, e.g., [MatPlotLib](https://matplotlib.org/). The library is provides the capability of live graph plots whilst running an executable solution, which is of fundamental importance in scientific and/or numerical software.\n\n### Getting started\n\nThe library is available via [nuget](https://www.nuget.org/packages/SharpPlot/). Hence, the typical rules for installing a [nuget-package](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-dotnet-cli) in your project/solution applies, i.e.:\n\n```sh\n\u003e dotnet add package\n```\n\nHowever, for the sake of clarity, we provide a simple-project example in the next paragraph which will let you understand the standard way of interacting with the library.\n\n### Simple project\n\nLet's get started by creating a working directory (e.g., in our desktop):\n\n```shell\n(HOME)$ mkdir ~/Desktop/working-directory\n(HOME)$ cd ~/Desktop/working-directory \n```\n\nNow, let's create a simple console project inside:\n\n```shell\n(~/Desktop/working-directory)$ dotnet new console --output graph\n\nThe template \"Console Application\" was created successfully.\nProcessing post-creation actions...\n\nRunning 'dotnet restore' on graph/graph.csproj...\n  Restore completed in 152.26 ms for /Users/YOURUSERNAME/Desktop/test-csharp/graph/graph.csproj.\nRestore succeeded.\n```\n\nNow we're going to add the library to the project by utilising `dotnet SDK`:\n\n```shell\n(~/Desktop/working-directory)$ cd graph\n(~/Desktop/working-directory)$ dotnet add package SharpPlot\n```\n\nGo and edit the `Program.cs` file you'll have in the folder you're at (supposedly `~/Destop/working-directory/graph/`) and edit it to get the following:\n\n```c#\nusing System;\nusing System.Linq;\nusing SharpPlot;\nusing SharpPlot.Canvas.Figure;\n\nnamespace graph\n{\n    class Program\n    {\n        static void Main(string[] args)\n        {\n            Gnuplot.Start();\n            var x = Enumerable.Range(-100, 201).Select(z=\u003ez*0.025*Math.PI).ToArray();\n            var sinX = x.Select(Math.Sin).ToArray();\n            var data = new DataPoints(x, sinX);\n            var (id, fig) = Gnuplot.Plot\u003cLine\u003e(data, \"First Example: sin(x)\");\n            Gnuplot.Show();\n            Gnuplot.Wait();\n        }\n    }\n}\n```\n\nSave the file, and run the following command in the terminal:\n\n```shell\n(~/Desktop/working-directory/graph)$ dotnet run\nPress any key + Enter to continue...\n```\n\nand you should get your first floating graph example with [#Plot](), congratulations!\n\n\u003cimg src=\"Examples/001-GettingStarted/Figures/simple-project.png\" alt=\"simple-project\" style=\"zoom:50%;\" /\u003e\n\n## Requirements\n\n[#Plot]() is a wrapper of [gnuplot](http://www.gnuplot.info/), which is why we list it as one of the main dependencies. You only need to have it installed in your OS, and [#Plot]() will know where to look for it. Therefore, the list of main dependencies is as follows:\n\n* [Gnuplot](http://www.gnuplot.info/)\n* [MathNet.Numerics](https://www.nuget.org/packages/MathNet.Numerics/) (\u003e= 4.9.0)\n\n## Main features\n\nWe think the best way to learn is by example and documentation. For this reason, we have prepared a set of examples which are enclosed in a different solution under the [Examples](Examples) folder. There you will find different small projects that will help you understand the use of [#Plot]():\n\n* [001-GettingStarted](Examples/001-GettingStarted): The example we have followed in the previous section, with a little README file, and a Jupyter notebook!\n\n## Authors\n\n* [Antonio Malpica](https://github.com/NonoMalpi)\n* [Miguel A. Durán-Olivencia](https://github.com/migduroli)\n* [Pedro Morales](https://github.com/partmor)\n* [Francisco J. Durán-Olivencia](https://github.com/fjduranolivencia/)\n\n## Contributing\n\nTo have a better understanding on how to make contributions, please read the [CONTRIBUTING](CONTRIBUTING.md) file. Our style of code adheres to Google's standards ([google-styleguide](https://google.github.io/styleguide/csharp-style.html)). We want to keep the source consistent, readable and easy to merge. For this reason we use rigid coding style and we expect all contributors to conform this guidelines. Please, use [.clang-format](.clang-format) to check your formatting. \n\n## License\n\nThis project is licensed under the **3-Clause BSD License** - see the [LICENSE](LICENSE.md) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqnubo-tech%2Fsharpplot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqnubo-tech%2Fsharpplot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqnubo-tech%2Fsharpplot/lists"}