All Projects → crystal-data → aquaplot

crystal-data / aquaplot

Licence: MIT license
AquaPlot is a data visualization library for crystal-lang (https://crystal-lang.org/). Currently in very early development and the API is not at all stable.

Programming Languages

crystal
512 projects

Projects that are alternatives of or similar to aquaplot

crotest
A tiny and simple test framework for crystal
Stars: ✭ 24 (-22.58%)
Mutual labels:  crystal-lang
tallboy
Declarative API for drawing unicode/ascii character tables in crystal lang
Stars: ✭ 49 (+58.06%)
Mutual labels:  crystal-lang
tput.cr
Low-level component for building term/console applications in Crystal
Stars: ✭ 22 (-29.03%)
Mutual labels:  crystal-lang
cr-xmpp
XMPP/Jabber Library for Crystal
Stars: ✭ 16 (-48.39%)
Mutual labels:  crystal-lang
crystime
Advanced time, calendar, schedule, and remind library for Crystal
Stars: ✭ 23 (-25.81%)
Mutual labels:  crystal-lang
gosu.cr
Shard for the Gosu game library
Stars: ✭ 28 (-9.68%)
Mutual labels:  crystal-lang
praetorian
A minimalist Crystal authorization system inspired by https://github.com/varvet/pundit.
Stars: ✭ 54 (+74.19%)
Mutual labels:  crystal-lang
fayrant-lang
Simple, interpreted, dynamically-typed programming language
Stars: ✭ 30 (-3.23%)
Mutual labels:  crystal-lang
brotli.cr
Crystal bindings to the Google brotli compression library
Stars: ✭ 20 (-35.48%)
Mutual labels:  crystal-lang
multi auth
Standardized multi-provider OAuth authentication
Stars: ✭ 102 (+229.03%)
Mutual labels:  crystal-lang
crystal-nodejs
Node.js engine for crystal-lang. JS code and npm module executes on crystal-nodejs
Stars: ✭ 42 (+35.48%)
Mutual labels:  crystal-lang
triki
Mysql, PostgreSQL and SQL dump obfuscator aka anonimizer
Stars: ✭ 28 (-9.68%)
Mutual labels:  crystal-lang
amber-introduction
Introduction to the Amber web framework and its features
Stars: ✭ 53 (+70.97%)
Mutual labels:  crystal-lang
rosetta
A blazing fast internationalization (i18n) library for Crystal with compile-time key lookup.
Stars: ✭ 23 (-25.81%)
Mutual labels:  crystal-lang
con
A simple, fast and readable JSON-compatible serialization format
Stars: ✭ 22 (-29.03%)
Mutual labels:  crystal-lang
crystular
Crystal regex tester http://www.crystular.org/
Stars: ✭ 31 (+0%)
Mutual labels:  crystal-lang
walter.cr
Keep your crystal clean!
Stars: ✭ 14 (-54.84%)
Mutual labels:  crystal-lang
fluence
WYSIWYG wiki powered by Crystal, markdown, and Git
Stars: ✭ 44 (+41.94%)
Mutual labels:  crystal-lang
joobq
JoobQ is a fast, efficient asynchronous reliable job queue and job scheduler library processing. Jobs are submitted to a job queue, where they reside until they are able to be scheduled to run in a computing environment.
Stars: ✭ 26 (-16.13%)
Mutual labels:  crystal-lang
docker-crystal
Docker wrapper for the Crystal CLI
Stars: ✭ 13 (-58.06%)
Mutual labels:  crystal-lang

aquaplot

Join the chat at https://gitter.im/crystal-data/aquaplot

AquaPlot is a data visualization library for crystal-lang. It provides an easy to user interface to create visually appealing charts. This project is currently in extremely unstable and active development. Contributions are both welcomed and encouraged, to get this library to a stable and useful state.

Installation

  1. Add the dependency to your shard.yml:

    dependencies:
      aquaplot:
        github: crystal-data/aquaplot
  2. Run shards install

Usage

Gnuplot is required. Please review your operating system's installation instructions to install the library.

require "aquaplot"

Function Charts

fns = ["sin(x)", "cos(x)", "tan(x)", "atan(x)", "asin(x)"].map do |fn|
  AquaPlot::Function.new fn
end

plt = AquaPlot::Plot.new fns
plt.show
plt.close

aquaplot chart

3D Function Charts

fns = ["x**2 + y**2", "x**2 - y**2", "x**2 * y**2", "x**2 / y**2"].map do |fn|
  AquaPlot::Function.new fn
end

plt = AquaPlot::Plot3D.new fns
plt.set_key("left box")
plt.show
plt.close

aquaplot 3d chart

2D Line Charts

lines = (1...5).map do |n|
  AquaPlot::Line.new (0...10).map { |el| Random.rand(50) }, title: "Line #{n}"
end

lines[0].show_points
lines[1].set_linewidth 1

plt = AquaPlot::Plot.new lines

plt.set_title("Showing Some Options")

plt.show
plt.close

aquaplot 3d chart

Development

TODO: Write development instructions here

Contributing

  1. Fork it (https://github.com/crystal-data/aquaplot/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].