red-data-tools / GR.rb

Ruby wrapper for the GR framework

Home Page:https://github.com/red-data-tools/GR.rb/wiki

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Porting GRUtils to GR.rb

kojix2 opened this issue · comments

OVERVIEW of GRUtils

General

  • _min(a)
  • _max(a)
  • hasnan(a)
  • lookup

Colors

  • COLOR_SCHEMS
  • BASIC_COLORS
  • SERIES_COLORS
  • COLOR_INDICES
  • resetcolors
  • rgb
  • color
  • colorindex
  • COLORMAPS
  • colormap
  • to_rgba
  • applycolorscheme
  • colorscheme

Geometries

  • struct Geometry
    • kind
    • x
    • y
    • c
    • spec
    • label
    • attributes
  • Geometry(constructor)
  • geometries
  • draw

Axes

  • AxisRange
  • AxisTickData
  • struct Axes
    • kind
    • ranges
    • tickdata
    • ticklabels
    • perspective
    • camera
    • option
  • Axes(constructor)
  • minmax
  • extrema64
  • fix_minmax
  • adjustranges!
  • set_ticks
  • set_axis
  • set_ticklabels!
  • ticklabel_fun
  • set_scale
  • _rotate!
  • _tilt!
  • _focus!
  • set_camera
  • graham_hull
  • axes3frame
  • fillaxesbackground
  • draw
  • draw_polaraxes
  • _tickcharheight

Legends

  • LEGEND_KINDS
  • LEGEND_LOCATIONS
  • struct Legend
  • Legend(constructor)
  • legend_box
  • draw
  • guide

Colorbars

  • struct Colorbar
  • range
  • tick
  • scale
  • margin
  • colors
  • EMPTYCOLORBAR
  • Colorbar(constructor)
  • draw

Plotobjects

  • struct Viewport
    • outer
    • inner
  • EMPTYVIEWORT
  • Viewport(constructor)
  • set_ratio!
  • struct PlotObject
    • viewport
    • axes
    • geom
    • legend
    • colorbar
    • attributes
  • PlotObject(constructor)
  • makeplot!
  • plotmargins
  • fillbackground
  • draw
  • drawlabels

Text

  • search
  • inqtext
  • stringsize
  • text

Figures

  • struct Figure
    • workstation
    • plots
  • EMPTYFIGURE
  • CURRENTFIGURE
  • Figure
  • Base.Multimedia.display
  • subplot!
  • replaceplot!
  • draw

Frontend

  • KEYS_GEOM_ATTRIBUTES
  • KEYS_PLOT_ATTRIBUTES
  • macro plotfunction
  • _setargs_line
  • _setargs_stair
  • _setargs_stem
  • _setargs_errorbar
  • _setargs_polar
  • Recursive call in case of multiple x-y pairs
  • barcoordinates
  • stackedbars
  • groupbars
  • _setargs_bar
  • hist
  • _setargs_hist
  • _setargs_polarhist
  • plot3
  • arrowhead
  • quiver_xyfactors
  • _setargs_quiver
  • _setargs_quiver3
  • _setargs_scatter3
  • _setargs_contour
  • _setargs_tricont
  • _setargs_surface
  • _setargs_heatmap
  • _setargs_hexbin
  • _setargs_imshow
  • _setargs_isosurf
  • _setargs_shade
  • _setargs_volume
  • oplot!
  • _setargs_annotation
  • annotations!
  • savefig

Attributes

  • LOCATIONS
  • legend!
  • legend
  • choosegemos
  • title!
  • title
  • _config_axislimits!
  • grid!
  • grid
  • colorbar!
  • colorbar
  • aspectratio!
  • aspectratio
  • radians!
  • radians
  • panzoom!
  • panzoom
  • zoomgr3!
  • zoom!
  • zoom
  • viewpoint!
  • viewpoint
  • rotate!
  • tilt!
  • rotate
  • tilt
  • movefocus!
  • movefocus
  • truncamera!
  • truncamera
  • colormap!
  • colormap
  • colorscheme!
  • backgroud!

Animations

  • resetmime
  • videofile
  • video

The biggest problem with the current GR.rb is that it is a Ruby library, but it is not object-oriented.
GRUtils and GR.jl are different.
Asymptotic migration is unlikely to be possible. So, I will split the repository.

Umm.. Maybe no.

I will create a kojix2/GRUtils.rb to add a ruby object to GR.rb.
This will be an experiment.
There will be a lot of changes, including the structure of the objects.
I will report back when I think GRUtis.rb is ready to integrate GR.rb.

But yes. I agree with you in some respects.

I think the "risk of not being able to complete GRUtils.rb" is much greater than the "risk of not being able to create GRUtils correctly".

To be honest, I'm not confident that I can complete GRUtils.rb.
So I think I should move the source code to red-data-tools as soon as possible so that other people besides me have a chance to see it.

That way, I'll be motivated. It's important to stay motivated.

OK. Please notify us when you are ready. :-)