:bar_chart: GR framework - powerful visualization library - for Ruby
GR.rb supports Ruby 2.5+.
First, install GR. Then install
gem install ruby-gr
Set environment variable
If you use package managers to install GR, pkg-config may automatically detect the shared library location without specifying the
GRDIR environment variable.
require 'gr/plot' x = [0, 0.2, 0.4, 0.6, 0.8, 1.0] y = [0.3, 0.5, 0.4, 0.2, 0.6, 0.7] .(x, y)
require 'gr/plot' x = Numo::DFloat.linspace(0, 10, 101) y1 = Numo::NMath.sin(x) y2 = Numo::NMath.cos(x) .( [x, y1, 'bo'], [x, y2, 'g*'], title: "Multiple plot example", xlabel: "x", ylabel: "y", ylim: [-1.2, 1.2], labels: ["sin(x)", "cos(x)"], location: 11 )
Save the figure in PNG format.
There are two different approaches when plotting with GR.rb. One is to call Matlab-like APIs. The other is to call GR/GR3 native functions.
GR::Plot - A simple, matlab-style API.
require 'gr/plot' .(x, y)
Below are a list of available functions. See GR.rb Wiki for details. Some GR module methods are overwritten.
GR - A module for calling native GR functions.
2-D Plots and common 3-D Plots.
require 'gr' # For example .(0.1, 0.9, 0.1, 0.9) .(0.0, 20.0, 0.0, 20.0)
GR3 - A module for calling native GR3 functions.
Complex 3D scenes.
require 'gr3' # For example .(-3, 2, -2, 0, 0, 0, 0, 0, -1)
Using GR.rb non-interactively
Both APIs will by default start a Qt based window to show the result of the last call.
This behavior is caused by GR itself as it will implicitly generate output to a file or application.
If you want to use GR.rb non-interactively, eg., as part of a static site build, you can do this by setting the environment variable
Although GR.rb adds methods dynamically, we try our best to provide a complete yard document. If you want to see more up-to-date information, we recommend using the official GR reference.
Installing an official release (recommended)
Download the latest release.
Set environment variable GRDIR.
macOS : Please the section "How to open apps from un-notarized or unidentified developers" in the Apple documentation "Safely open apps on your Mac".
Using package managers
- The third party GR packages for Mac, Linux and Windows are available (for advanced users).
- If you find any problem, please report the issue here.
- Note: These packages may not have some features such as video output.
Mac - Homebrew
brew install libgr
Set the workstation type to gksqt.
export GKS_WSTYPE=411 # gksqt (recommended)
Linux - openSUSE Build service
export GRDIR="/usr/gr" # Check the location with `dpkg -L gr`
Windows - MSYS2
If you are using Rubyinstaller, pacman will automatically install mingw-w64-gr when the gem is installed.
GR.rb is a library under development, so even small improvements like fixing typos are welcome! Please feel free to send us your PR.
- Report bugs
- Fix bugs and submit pull requests
- Write, clarify, or fix documentation
- Suggest or add new features
- Update GR packages ( Homebrew, MinGW, red-data-tools )
- Create visualization tools based on GR.rb
To get started with development:
git clone https://github.com/red-data-tools/GR.rb cd GR.rb bundle install bundle exec rake test